feat: api endpoint to update page settings

This commit is contained in:
Damien Ostler 2024-02-18 18:39:43 -05:00
parent 98f2782552
commit 621beb155a
7 changed files with 810 additions and 0 deletions

View File

@ -81,6 +81,40 @@ public class SellerProfileController : Controller
return Ok(result); return Ok(result);
} }
[HttpGet]
[Authorize("read:seller-profile")]
[Route("Page")]
public async Task<IActionResult> GetSellerProfilePage()
{
var userId = User.GetUserId();
var sellerProfile = await _dbContext.UserSellerProfiles.Include(x=>x.SellerProfilePageSettings).FirstOrDefaultAsync(sellerProfile=>sellerProfile.UserId==userId);
if(sellerProfile==null)
return NotFound();
var result = sellerProfile.SellerProfilePageSettings.ToModel();
return Ok(result);
}
[HttpPut]
[Authorize("write:seller-profile")]
[Route("Page")]
public async Task<IActionResult> UpdateSellerProfilePage(SellerProfilePageSettingsModel model)
{
var userId = User.GetUserId();
var existingSellerProfile = await _dbContext.UserSellerProfiles.Include(x=>x.SellerProfilePageSettings).FirstOrDefaultAsync(sellerProfile=>sellerProfile.UserId==userId);
if (existingSellerProfile == null)
{
var sellerProfileRequest = await _dbContext.SellerProfileRequests.FirstOrDefaultAsync(request=>request.UserId==userId && request.Accepted==false);
if(sellerProfileRequest!=null)
return BadRequest();
return Unauthorized();
}
var updatedSellerProfile = model.ToModel(existingSellerProfile.SellerProfilePageSettings);
updatedSellerProfile = _dbContext.SellerProfilePageSettings.Update(updatedSellerProfile).Entity;
await _dbContext.SaveChangesAsync();
var result = updatedSellerProfile.ToModel();
return Ok(result);
}
[HttpPost] [HttpPost]
[Authorize("write:seller-profile")] [Authorize("write:seller-profile")]
public async Task<IActionResult> RequestSellerProfile() public async Task<IActionResult> RequestSellerProfile()

View File

@ -11,6 +11,7 @@ public class SellerProfilePageSettings
public virtual UserSellerProfile SellerProfile { get; set; } = null!; public virtual UserSellerProfile SellerProfile { get; set; } = null!;
public string RequestButtonHoverBGColor { get; set; } public string RequestButtonHoverBGColor { get; set; }
public string RequestButtonHoverTextColor { get; set; }
public string RequestButtonTextColor { get; set; } public string RequestButtonTextColor { get; set; }
public string RequestButtonBGColor { get; set; } public string RequestButtonBGColor { get; set; }
public string RequestTermsColor { get; set; } public string RequestTermsColor { get; set; }

View File

@ -0,0 +1,618 @@
// <auto-generated />
using System;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
using comissions.app.database;
#nullable disable
namespace comissions.app.api.Migrations
{
[DbContext(typeof(ApplicationDbContext))]
[Migration("20240218233434_forgot column")]
partial class forgotcolumn
{
/// <inheritdoc />
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "8.0.1")
.HasAnnotation("Relational:MaxIdentifierLength", 63);
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
modelBuilder.Entity("comissions.app.database.Entities.SellerProfilePageSettings", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<string>("BackgroundColor")
.IsRequired()
.HasColumnType("text");
b.Property<string>("DescriptionBackgroundColor")
.IsRequired()
.HasColumnType("text");
b.Property<string>("DescriptionHeaderColor")
.IsRequired()
.HasColumnType("text");
b.Property<string>("DescriptionHeaderImageUrl")
.IsRequired()
.HasColumnType("text");
b.Property<int>("DescriptionHeaderSize")
.HasColumnType("integer");
b.Property<string>("DescriptionHeaderText")
.IsRequired()
.HasColumnType("text");
b.Property<bool>("DescriptionHeaderUseImage")
.HasColumnType("boolean");
b.Property<string>("DescriptionTextColor")
.IsRequired()
.HasColumnType("text");
b.Property<int>("DescriptionTextSize")
.HasColumnType("integer");
b.Property<string>("HeaderColor")
.IsRequired()
.HasColumnType("text");
b.Property<string>("HeaderImageUrl")
.IsRequired()
.HasColumnType("text");
b.Property<int>("HeaderTextSize")
.HasColumnType("integer");
b.Property<bool>("HeaderUseImage")
.HasColumnType("boolean");
b.Property<string>("PortfolioBackgroundColor")
.IsRequired()
.HasColumnType("text");
b.Property<int>("PortfolioColumns")
.HasColumnType("integer");
b.Property<bool>("PortfolioEnabledScrolling")
.HasColumnType("boolean");
b.Property<bool>("PortfolioMasonry")
.HasColumnType("boolean");
b.Property<int>("PortfolioMaximumSize")
.HasColumnType("integer");
b.Property<string>("PortfolionHeaderColor")
.IsRequired()
.HasColumnType("text");
b.Property<string>("PortfolionHeaderImageUrl")
.IsRequired()
.HasColumnType("text");
b.Property<int>("PortfolionHeaderSize")
.HasColumnType("integer");
b.Property<string>("PortfolionHeaderText")
.IsRequired()
.HasColumnType("text");
b.Property<bool>("PortfolionHeaderUseImage")
.HasColumnType("boolean");
b.Property<string>("RequestBackgroundColor")
.IsRequired()
.HasColumnType("text");
b.Property<string>("RequestButtonBGColor")
.IsRequired()
.HasColumnType("text");
b.Property<string>("RequestButtonHoverBGColor")
.IsRequired()
.HasColumnType("text");
b.Property<string>("RequestButtonHoverTextColor")
.IsRequired()
.HasColumnType("text");
b.Property<string>("RequestButtonTextColor")
.IsRequired()
.HasColumnType("text");
b.Property<string>("RequestHeaderColor")
.IsRequired()
.HasColumnType("text");
b.Property<string>("RequestHeaderImageUrl")
.IsRequired()
.HasColumnType("text");
b.Property<int>("RequestHeaderSize")
.HasColumnType("integer");
b.Property<string>("RequestHeaderText")
.IsRequired()
.HasColumnType("text");
b.Property<bool>("RequestHeaderUseImage")
.HasColumnType("boolean");
b.Property<string>("RequestTermsColor")
.IsRequired()
.HasColumnType("text");
b.Property<int>("SellerProfileId")
.HasColumnType("integer");
b.HasKey("Id");
b.HasIndex("SellerProfileId")
.IsUnique();
b.ToTable("SellerProfilePageSettings");
});
modelBuilder.Entity("comissions.app.database.Entities.SellerProfilePortfolioPiece", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<string>("FileReference")
.IsRequired()
.HasColumnType("text");
b.Property<int>("SellerProfileId")
.HasColumnType("integer");
b.Property<int?>("SellerServiceId")
.HasColumnType("integer");
b.HasKey("Id");
b.HasIndex("SellerProfileId");
b.HasIndex("SellerServiceId");
b.ToTable("SellerProfilePortfolioPieces");
});
modelBuilder.Entity("comissions.app.database.Entities.SellerProfileRequest", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<bool>("Accepted")
.HasColumnType("boolean");
b.Property<DateTime?>("AcceptedDate")
.HasColumnType("timestamp with time zone");
b.Property<DateTime>("RequestDate")
.HasColumnType("timestamp with time zone");
b.Property<string>("UserId")
.IsRequired()
.HasColumnType("text");
b.HasKey("Id");
b.HasIndex("UserId");
b.ToTable("SellerProfileRequests");
});
modelBuilder.Entity("comissions.app.database.Entities.SellerService", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<bool>("Archived")
.HasColumnType("boolean");
b.Property<string>("Description")
.IsRequired()
.HasColumnType("text");
b.Property<string>("Name")
.IsRequired()
.HasColumnType("text");
b.Property<double>("Price")
.HasColumnType("double precision");
b.Property<int>("SellerProfileId")
.HasColumnType("integer");
b.HasKey("Id");
b.HasIndex("SellerProfileId");
b.ToTable("SellerServices");
});
modelBuilder.Entity("comissions.app.database.Entities.SellerServiceOrder", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<string>("BuyerId")
.IsRequired()
.HasColumnType("text");
b.Property<DateTime>("CreatedDate")
.HasColumnType("timestamp with time zone");
b.Property<DateTime?>("EndDate")
.HasColumnType("timestamp with time zone");
b.Property<string>("PaymentUrl")
.HasColumnType("text");
b.Property<double>("Price")
.HasColumnType("double precision");
b.Property<int>("SellerId")
.HasColumnType("integer");
b.Property<int>("SellerServiceId")
.HasColumnType("integer");
b.Property<int>("Status")
.HasColumnType("integer");
b.Property<DateTime?>("TermsAcceptedDate")
.HasColumnType("timestamp with time zone");
b.HasKey("Id");
b.HasIndex("BuyerId");
b.HasIndex("SellerId");
b.HasIndex("SellerServiceId");
b.ToTable("SellerServiceOrders");
});
modelBuilder.Entity("comissions.app.database.Entities.SellerServiceOrderReview", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<int>("Rating")
.HasColumnType("integer");
b.Property<string>("Review")
.HasColumnType("text");
b.Property<DateTime>("ReviewDate")
.HasColumnType("timestamp with time zone");
b.Property<string>("ReviewerId")
.IsRequired()
.HasColumnType("text");
b.Property<int>("SellerServiceId")
.HasColumnType("integer");
b.Property<int>("SellerServiceOrderId")
.HasColumnType("integer");
b.HasKey("Id");
b.HasIndex("ReviewerId");
b.HasIndex("SellerServiceId");
b.HasIndex("SellerServiceOrderId");
b.ToTable("SellerServiceOrderReviews");
});
modelBuilder.Entity("comissions.app.database.Entities.User", b =>
{
b.Property<string>("Id")
.HasColumnType("text");
b.Property<string>("BanAdminId")
.HasColumnType("text");
b.Property<bool>("Banned")
.HasColumnType("boolean");
b.Property<DateTime?>("BannedDate")
.HasColumnType("timestamp with time zone");
b.Property<string>("BannedReason")
.HasColumnType("text");
b.Property<string>("Biography")
.IsRequired()
.HasColumnType("text");
b.Property<string>("DisplayName")
.IsRequired()
.HasColumnType("text");
b.Property<string>("Email")
.IsRequired()
.HasColumnType("text");
b.Property<string>("SuspendAdminId")
.HasColumnType("text");
b.Property<bool>("Suspended")
.HasColumnType("boolean");
b.Property<DateTime?>("SuspendedDate")
.HasColumnType("timestamp with time zone");
b.Property<string>("SuspendedReason")
.HasColumnType("text");
b.Property<DateTime?>("UnbanDate")
.HasColumnType("timestamp with time zone");
b.Property<DateTime?>("UnsuspendDate")
.HasColumnType("timestamp with time zone");
b.Property<int?>("UserSellerProfileId")
.HasColumnType("integer");
b.HasKey("Id");
b.ToTable("Users");
});
modelBuilder.Entity("comissions.app.database.Entities.UserSellerProfile", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<bool>("AgeRestricted")
.HasColumnType("boolean");
b.Property<string>("Description")
.IsRequired()
.HasColumnType("text");
b.Property<string>("Name")
.IsRequired()
.HasColumnType("text");
b.Property<bool>("PrepaymentRequired")
.HasColumnType("boolean");
b.Property<string>("RequestGuidelines")
.IsRequired()
.HasColumnType("text");
b.Property<int>("SellerProfilePageSettingsId")
.HasColumnType("integer");
b.Property<string>("SocialMediaLink1")
.IsRequired()
.HasColumnType("text");
b.Property<string>("SocialMediaLink2")
.IsRequired()
.HasColumnType("text");
b.Property<string>("SocialMediaLink3")
.IsRequired()
.HasColumnType("text");
b.Property<string>("SocialMediaLink4")
.IsRequired()
.HasColumnType("text");
b.Property<string>("StripeAccountId")
.HasColumnType("text");
b.Property<string>("SuspendAdminId")
.HasColumnType("text");
b.Property<bool>("Suspended")
.HasColumnType("boolean");
b.Property<DateTime?>("SuspendedDate")
.HasColumnType("timestamp with time zone");
b.Property<string>("SuspendedReason")
.HasColumnType("text");
b.Property<DateTime?>("UnsuspendDate")
.HasColumnType("timestamp with time zone");
b.Property<string>("UserId")
.IsRequired()
.HasColumnType("text");
b.HasKey("Id");
b.HasIndex("UserId")
.IsUnique();
b.ToTable("UserSellerProfiles");
});
modelBuilder.Entity("comissions.app.database.Entities.SellerProfilePageSettings", b =>
{
b.HasOne("comissions.app.database.Entities.UserSellerProfile", "SellerProfile")
.WithOne("SellerProfilePageSettings")
.HasForeignKey("comissions.app.database.Entities.SellerProfilePageSettings", "SellerProfileId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("SellerProfile");
});
modelBuilder.Entity("comissions.app.database.Entities.SellerProfilePortfolioPiece", b =>
{
b.HasOne("comissions.app.database.Entities.UserSellerProfile", "SellerProfile")
.WithMany("PortfolioPieces")
.HasForeignKey("SellerProfileId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("comissions.app.database.Entities.SellerService", "SellerService")
.WithMany("PortfolioPieces")
.HasForeignKey("SellerServiceId");
b.Navigation("SellerProfile");
b.Navigation("SellerService");
});
modelBuilder.Entity("comissions.app.database.Entities.SellerProfileRequest", b =>
{
b.HasOne("comissions.app.database.Entities.User", "User")
.WithMany()
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("User");
});
modelBuilder.Entity("comissions.app.database.Entities.SellerService", b =>
{
b.HasOne("comissions.app.database.Entities.UserSellerProfile", "SellerProfile")
.WithMany("SellerServices")
.HasForeignKey("SellerProfileId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("SellerProfile");
});
modelBuilder.Entity("comissions.app.database.Entities.SellerServiceOrder", b =>
{
b.HasOne("comissions.app.database.Entities.User", "Buyer")
.WithMany("Orders")
.HasForeignKey("BuyerId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("comissions.app.database.Entities.UserSellerProfile", "Seller")
.WithMany()
.HasForeignKey("SellerId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("comissions.app.database.Entities.SellerService", "SellerService")
.WithMany()
.HasForeignKey("SellerServiceId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Buyer");
b.Navigation("Seller");
b.Navigation("SellerService");
});
modelBuilder.Entity("comissions.app.database.Entities.SellerServiceOrderReview", b =>
{
b.HasOne("comissions.app.database.Entities.User", "Reviewer")
.WithMany()
.HasForeignKey("ReviewerId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("comissions.app.database.Entities.SellerService", "SellerService")
.WithMany("Reviews")
.HasForeignKey("SellerServiceId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("comissions.app.database.Entities.SellerServiceOrder", "SellerServiceOrder")
.WithMany("Reviews")
.HasForeignKey("SellerServiceOrderId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Reviewer");
b.Navigation("SellerService");
b.Navigation("SellerServiceOrder");
});
modelBuilder.Entity("comissions.app.database.Entities.UserSellerProfile", b =>
{
b.HasOne("comissions.app.database.Entities.User", "User")
.WithOne("UserSellerProfile")
.HasForeignKey("comissions.app.database.Entities.UserSellerProfile", "UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("User");
});
modelBuilder.Entity("comissions.app.database.Entities.SellerService", b =>
{
b.Navigation("PortfolioPieces");
b.Navigation("Reviews");
});
modelBuilder.Entity("comissions.app.database.Entities.SellerServiceOrder", b =>
{
b.Navigation("Reviews");
});
modelBuilder.Entity("comissions.app.database.Entities.User", b =>
{
b.Navigation("Orders");
b.Navigation("UserSellerProfile");
});
modelBuilder.Entity("comissions.app.database.Entities.UserSellerProfile", b =>
{
b.Navigation("PortfolioPieces");
b.Navigation("SellerProfilePageSettings")
.IsRequired();
b.Navigation("SellerServices");
});
#pragma warning restore 612, 618
}
}
}

View File

@ -0,0 +1,29 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace comissions.app.api.Migrations
{
/// <inheritdoc />
public partial class forgotcolumn : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn<string>(
name: "RequestButtonHoverTextColor",
table: "SellerProfilePageSettings",
type: "text",
nullable: false,
defaultValue: "");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "RequestButtonHoverTextColor",
table: "SellerProfilePageSettings");
}
}
}

View File

@ -123,6 +123,10 @@ namespace comissions.app.api.Migrations
.IsRequired() .IsRequired()
.HasColumnType("text"); .HasColumnType("text");
b.Property<string>("RequestButtonHoverTextColor")
.IsRequired()
.HasColumnType("text");
b.Property<string>("RequestButtonTextColor") b.Property<string>("RequestButtonTextColor")
.IsRequired() .IsRequired()
.HasColumnType("text"); .HasColumnType("text");

View File

@ -0,0 +1,40 @@
namespace comissions.app.api.Models.SellerProfile;
public class SellerProfilePageSettingsModel
{
public string RequestButtonHoverBGColor { get; set; }
public string RequestButtonTextColor { get; set; }
public string RequestButtonBGColor { get; set; }
public string RequestTermsColor { get; set; }
public string RequestBackgroundColor { get; set; }
public string RequestHeaderImageUrl { get; set; }
public bool RequestHeaderUseImage { get; set; }
public int RequestHeaderSize { get; set; }
public string RequestHeaderColor { get; set; }
public string RequestHeaderText { get; set; }
public int PortfolioMaximumSize { get; set; }
public bool PortfolioEnabledScrolling { get; set; }
public int PortfolioColumns { get; set; }
public bool PortfolioMasonry { get; set; }
public string PortfolioBackgroundColor { get; set; }
public string PortfolionHeaderImageUrl { get; set; }
public bool PortfolionHeaderUseImage { get; set; }
public int PortfolionHeaderSize { get; set; }
public string PortfolionHeaderColor { get; set; }
public string PortfolionHeaderText { get; set; }
public int DescriptionTextSize { get; set; }
public string DescriptionTextColor { get; set; }
public string DescriptionBackgroundColor { get; set; }
public string DescriptionHeaderImageUrl { get; set; }
public bool DescriptionHeaderUseImage { get; set; }
public int DescriptionHeaderSize { get; set; }
public string DescriptionHeaderColor { get; set; }
public string DescriptionHeaderText { get; set; }
public string HeaderImageUrl { get; set; }
public bool HeaderUseImage { get; set; }
public int HeaderTextSize { get; set; }
public string HeaderColor { get; set; }
public string BackgroundColor { get; set; }
public string RequestButtonHoverTextColor { get; set; }
}

View File

@ -0,0 +1,84 @@
using comissions.app.database.Entities;
namespace comissions.app.api.Models.SellerProfile;
public static class SellerProfilePageSettingsModelExtensions
{
public static SellerProfilePageSettingsModel ToModel(this SellerProfilePageSettings sellerProfile)
{
return new SellerProfilePageSettingsModel()
{
BackgroundColor = sellerProfile.BackgroundColor,
HeaderColor = sellerProfile.HeaderColor,
HeaderTextSize = sellerProfile.HeaderTextSize,
HeaderUseImage = sellerProfile.HeaderUseImage,
HeaderImageUrl = sellerProfile.HeaderImageUrl,
DescriptionHeaderColor = sellerProfile.DescriptionHeaderColor,
DescriptionHeaderSize = sellerProfile.DescriptionHeaderSize,
DescriptionHeaderUseImage = sellerProfile.DescriptionHeaderUseImage,
DescriptionHeaderImageUrl = sellerProfile.DescriptionHeaderImageUrl,
DescriptionBackgroundColor = sellerProfile.DescriptionBackgroundColor,
DescriptionTextColor = sellerProfile.DescriptionTextColor,
DescriptionTextSize = sellerProfile.DescriptionTextSize,
PortfolionHeaderText = sellerProfile.PortfolionHeaderText,
PortfolionHeaderColor = sellerProfile.PortfolionHeaderColor,
PortfolionHeaderSize = sellerProfile.PortfolionHeaderSize,
PortfolionHeaderUseImage = sellerProfile.PortfolionHeaderUseImage,
PortfolionHeaderImageUrl = sellerProfile.PortfolionHeaderImageUrl,
PortfolioBackgroundColor = sellerProfile.PortfolioBackgroundColor,
PortfolioMasonry = sellerProfile.PortfolioMasonry,
PortfolioColumns = sellerProfile.PortfolioColumns,
PortfolioEnabledScrolling = sellerProfile.PortfolioEnabledScrolling,
PortfolioMaximumSize = sellerProfile.PortfolioMaximumSize,
RequestHeaderText = sellerProfile.RequestHeaderText,
RequestHeaderColor = sellerProfile.RequestHeaderColor,
RequestHeaderSize = sellerProfile.RequestHeaderSize,
RequestHeaderUseImage = sellerProfile.RequestHeaderUseImage,
RequestHeaderImageUrl = sellerProfile.RequestHeaderImageUrl,
RequestBackgroundColor = sellerProfile.RequestBackgroundColor,
RequestTermsColor = sellerProfile.RequestTermsColor,
RequestButtonBGColor = sellerProfile.RequestButtonBGColor,
RequestButtonTextColor = sellerProfile.RequestButtonTextColor,
RequestButtonHoverBGColor = sellerProfile.RequestButtonHoverBGColor,
RequestButtonHoverTextColor = sellerProfile.RequestButtonHoverTextColor
};
}
public static SellerProfilePageSettings ToModel(this SellerProfilePageSettingsModel sellerProfile, SellerProfilePageSettings existing)
{
existing.BackgroundColor = sellerProfile.BackgroundColor;
existing.HeaderColor = sellerProfile.HeaderColor;
existing.HeaderTextSize = sellerProfile.HeaderTextSize;
existing.HeaderUseImage = sellerProfile.HeaderUseImage;
existing.HeaderImageUrl = sellerProfile.HeaderImageUrl;
existing.DescriptionHeaderColor = sellerProfile.DescriptionHeaderColor;
existing.DescriptionHeaderSize = sellerProfile.DescriptionHeaderSize;
existing.DescriptionHeaderUseImage = sellerProfile.DescriptionHeaderUseImage;
existing.DescriptionHeaderImageUrl = sellerProfile.DescriptionHeaderImageUrl;
existing.DescriptionBackgroundColor = sellerProfile.DescriptionBackgroundColor;
existing.DescriptionTextColor = sellerProfile.DescriptionTextColor;
existing.DescriptionTextSize = sellerProfile.DescriptionTextSize;
existing.PortfolionHeaderText = sellerProfile.PortfolionHeaderText;
existing.PortfolionHeaderColor = sellerProfile.PortfolionHeaderColor;
existing.PortfolionHeaderSize = sellerProfile.PortfolionHeaderSize;
existing.PortfolionHeaderUseImage = sellerProfile.PortfolionHeaderUseImage;
existing.PortfolionHeaderImageUrl = sellerProfile.PortfolionHeaderImageUrl;
existing.PortfolioBackgroundColor = sellerProfile.PortfolioBackgroundColor;
existing.PortfolioMasonry = sellerProfile.PortfolioMasonry;
existing.PortfolioColumns = sellerProfile.PortfolioColumns;
existing.PortfolioEnabledScrolling = sellerProfile.PortfolioEnabledScrolling;
existing.PortfolioMaximumSize = sellerProfile.PortfolioMaximumSize;
existing.RequestHeaderText = sellerProfile.RequestHeaderText;
existing.RequestHeaderColor = sellerProfile.RequestHeaderColor;
existing.RequestHeaderSize = sellerProfile.RequestHeaderSize;
existing.RequestHeaderUseImage = sellerProfile.RequestHeaderUseImage;
existing.RequestHeaderImageUrl = sellerProfile.RequestHeaderImageUrl;
existing.RequestBackgroundColor = sellerProfile.RequestBackgroundColor;
existing.RequestTermsColor = sellerProfile.RequestTermsColor;
existing.RequestButtonBGColor = sellerProfile.RequestButtonBGColor;
existing.RequestButtonTextColor = sellerProfile.RequestButtonTextColor;
existing.RequestButtonHoverBGColor = sellerProfile.RequestButtonHoverBGColor;
existing.RequestButtonHoverTextColor = sellerProfile.RequestButtonHoverTextColor;
return existing;
}
}