diff --git a/src/comissions.app.api/Controllers/SellerProfileController.cs b/src/comissions.app.api/Controllers/SellerProfileController.cs index bd375a9..a5b9ff0 100644 --- a/src/comissions.app.api/Controllers/SellerProfileController.cs +++ b/src/comissions.app.api/Controllers/SellerProfileController.cs @@ -81,6 +81,40 @@ public class SellerProfileController : Controller return Ok(result); } + [HttpGet] + [Authorize("read:seller-profile")] + [Route("Page")] + public async Task 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 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] [Authorize("write:seller-profile")] public async Task RequestSellerProfile() diff --git a/src/comissions.app.api/Entities/SellerProfilePageSettings.cs b/src/comissions.app.api/Entities/SellerProfilePageSettings.cs index c1370ec..79e86fd 100644 --- a/src/comissions.app.api/Entities/SellerProfilePageSettings.cs +++ b/src/comissions.app.api/Entities/SellerProfilePageSettings.cs @@ -11,6 +11,7 @@ public class SellerProfilePageSettings public virtual UserSellerProfile SellerProfile { get; set; } = null!; public string RequestButtonHoverBGColor { get; set; } + public string RequestButtonHoverTextColor { get; set; } public string RequestButtonTextColor { get; set; } public string RequestButtonBGColor { get; set; } public string RequestTermsColor { get; set; } diff --git a/src/comissions.app.api/Migrations/20240218233434_forgot column.Designer.cs b/src/comissions.app.api/Migrations/20240218233434_forgot column.Designer.cs new file mode 100644 index 0000000..9097588 --- /dev/null +++ b/src/comissions.app.api/Migrations/20240218233434_forgot column.Designer.cs @@ -0,0 +1,618 @@ +// +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 + { + /// + 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("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("BackgroundColor") + .IsRequired() + .HasColumnType("text"); + + b.Property("DescriptionBackgroundColor") + .IsRequired() + .HasColumnType("text"); + + b.Property("DescriptionHeaderColor") + .IsRequired() + .HasColumnType("text"); + + b.Property("DescriptionHeaderImageUrl") + .IsRequired() + .HasColumnType("text"); + + b.Property("DescriptionHeaderSize") + .HasColumnType("integer"); + + b.Property("DescriptionHeaderText") + .IsRequired() + .HasColumnType("text"); + + b.Property("DescriptionHeaderUseImage") + .HasColumnType("boolean"); + + b.Property("DescriptionTextColor") + .IsRequired() + .HasColumnType("text"); + + b.Property("DescriptionTextSize") + .HasColumnType("integer"); + + b.Property("HeaderColor") + .IsRequired() + .HasColumnType("text"); + + b.Property("HeaderImageUrl") + .IsRequired() + .HasColumnType("text"); + + b.Property("HeaderTextSize") + .HasColumnType("integer"); + + b.Property("HeaderUseImage") + .HasColumnType("boolean"); + + b.Property("PortfolioBackgroundColor") + .IsRequired() + .HasColumnType("text"); + + b.Property("PortfolioColumns") + .HasColumnType("integer"); + + b.Property("PortfolioEnabledScrolling") + .HasColumnType("boolean"); + + b.Property("PortfolioMasonry") + .HasColumnType("boolean"); + + b.Property("PortfolioMaximumSize") + .HasColumnType("integer"); + + b.Property("PortfolionHeaderColor") + .IsRequired() + .HasColumnType("text"); + + b.Property("PortfolionHeaderImageUrl") + .IsRequired() + .HasColumnType("text"); + + b.Property("PortfolionHeaderSize") + .HasColumnType("integer"); + + b.Property("PortfolionHeaderText") + .IsRequired() + .HasColumnType("text"); + + b.Property("PortfolionHeaderUseImage") + .HasColumnType("boolean"); + + b.Property("RequestBackgroundColor") + .IsRequired() + .HasColumnType("text"); + + b.Property("RequestButtonBGColor") + .IsRequired() + .HasColumnType("text"); + + b.Property("RequestButtonHoverBGColor") + .IsRequired() + .HasColumnType("text"); + + b.Property("RequestButtonHoverTextColor") + .IsRequired() + .HasColumnType("text"); + + b.Property("RequestButtonTextColor") + .IsRequired() + .HasColumnType("text"); + + b.Property("RequestHeaderColor") + .IsRequired() + .HasColumnType("text"); + + b.Property("RequestHeaderImageUrl") + .IsRequired() + .HasColumnType("text"); + + b.Property("RequestHeaderSize") + .HasColumnType("integer"); + + b.Property("RequestHeaderText") + .IsRequired() + .HasColumnType("text"); + + b.Property("RequestHeaderUseImage") + .HasColumnType("boolean"); + + b.Property("RequestTermsColor") + .IsRequired() + .HasColumnType("text"); + + b.Property("SellerProfileId") + .HasColumnType("integer"); + + b.HasKey("Id"); + + b.HasIndex("SellerProfileId") + .IsUnique(); + + b.ToTable("SellerProfilePageSettings"); + }); + + modelBuilder.Entity("comissions.app.database.Entities.SellerProfilePortfolioPiece", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("FileReference") + .IsRequired() + .HasColumnType("text"); + + b.Property("SellerProfileId") + .HasColumnType("integer"); + + b.Property("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("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Accepted") + .HasColumnType("boolean"); + + b.Property("AcceptedDate") + .HasColumnType("timestamp with time zone"); + + b.Property("RequestDate") + .HasColumnType("timestamp with time zone"); + + b.Property("UserId") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.HasIndex("UserId"); + + b.ToTable("SellerProfileRequests"); + }); + + modelBuilder.Entity("comissions.app.database.Entities.SellerService", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Archived") + .HasColumnType("boolean"); + + b.Property("Description") + .IsRequired() + .HasColumnType("text"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.Property("Price") + .HasColumnType("double precision"); + + b.Property("SellerProfileId") + .HasColumnType("integer"); + + b.HasKey("Id"); + + b.HasIndex("SellerProfileId"); + + b.ToTable("SellerServices"); + }); + + modelBuilder.Entity("comissions.app.database.Entities.SellerServiceOrder", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("BuyerId") + .IsRequired() + .HasColumnType("text"); + + b.Property("CreatedDate") + .HasColumnType("timestamp with time zone"); + + b.Property("EndDate") + .HasColumnType("timestamp with time zone"); + + b.Property("PaymentUrl") + .HasColumnType("text"); + + b.Property("Price") + .HasColumnType("double precision"); + + b.Property("SellerId") + .HasColumnType("integer"); + + b.Property("SellerServiceId") + .HasColumnType("integer"); + + b.Property("Status") + .HasColumnType("integer"); + + b.Property("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("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Rating") + .HasColumnType("integer"); + + b.Property("Review") + .HasColumnType("text"); + + b.Property("ReviewDate") + .HasColumnType("timestamp with time zone"); + + b.Property("ReviewerId") + .IsRequired() + .HasColumnType("text"); + + b.Property("SellerServiceId") + .HasColumnType("integer"); + + b.Property("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("Id") + .HasColumnType("text"); + + b.Property("BanAdminId") + .HasColumnType("text"); + + b.Property("Banned") + .HasColumnType("boolean"); + + b.Property("BannedDate") + .HasColumnType("timestamp with time zone"); + + b.Property("BannedReason") + .HasColumnType("text"); + + b.Property("Biography") + .IsRequired() + .HasColumnType("text"); + + b.Property("DisplayName") + .IsRequired() + .HasColumnType("text"); + + b.Property("Email") + .IsRequired() + .HasColumnType("text"); + + b.Property("SuspendAdminId") + .HasColumnType("text"); + + b.Property("Suspended") + .HasColumnType("boolean"); + + b.Property("SuspendedDate") + .HasColumnType("timestamp with time zone"); + + b.Property("SuspendedReason") + .HasColumnType("text"); + + b.Property("UnbanDate") + .HasColumnType("timestamp with time zone"); + + b.Property("UnsuspendDate") + .HasColumnType("timestamp with time zone"); + + b.Property("UserSellerProfileId") + .HasColumnType("integer"); + + b.HasKey("Id"); + + b.ToTable("Users"); + }); + + modelBuilder.Entity("comissions.app.database.Entities.UserSellerProfile", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("AgeRestricted") + .HasColumnType("boolean"); + + b.Property("Description") + .IsRequired() + .HasColumnType("text"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.Property("PrepaymentRequired") + .HasColumnType("boolean"); + + b.Property("RequestGuidelines") + .IsRequired() + .HasColumnType("text"); + + b.Property("SellerProfilePageSettingsId") + .HasColumnType("integer"); + + b.Property("SocialMediaLink1") + .IsRequired() + .HasColumnType("text"); + + b.Property("SocialMediaLink2") + .IsRequired() + .HasColumnType("text"); + + b.Property("SocialMediaLink3") + .IsRequired() + .HasColumnType("text"); + + b.Property("SocialMediaLink4") + .IsRequired() + .HasColumnType("text"); + + b.Property("StripeAccountId") + .HasColumnType("text"); + + b.Property("SuspendAdminId") + .HasColumnType("text"); + + b.Property("Suspended") + .HasColumnType("boolean"); + + b.Property("SuspendedDate") + .HasColumnType("timestamp with time zone"); + + b.Property("SuspendedReason") + .HasColumnType("text"); + + b.Property("UnsuspendDate") + .HasColumnType("timestamp with time zone"); + + b.Property("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 + } + } +} diff --git a/src/comissions.app.api/Migrations/20240218233434_forgot column.cs b/src/comissions.app.api/Migrations/20240218233434_forgot column.cs new file mode 100644 index 0000000..867aa16 --- /dev/null +++ b/src/comissions.app.api/Migrations/20240218233434_forgot column.cs @@ -0,0 +1,29 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace comissions.app.api.Migrations +{ + /// + public partial class forgotcolumn : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.AddColumn( + name: "RequestButtonHoverTextColor", + table: "SellerProfilePageSettings", + type: "text", + nullable: false, + defaultValue: ""); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropColumn( + name: "RequestButtonHoverTextColor", + table: "SellerProfilePageSettings"); + } + } +} diff --git a/src/comissions.app.api/Migrations/ApplicationDbContextModelSnapshot.cs b/src/comissions.app.api/Migrations/ApplicationDbContextModelSnapshot.cs index f4d3fea..588221b 100644 --- a/src/comissions.app.api/Migrations/ApplicationDbContextModelSnapshot.cs +++ b/src/comissions.app.api/Migrations/ApplicationDbContextModelSnapshot.cs @@ -123,6 +123,10 @@ namespace comissions.app.api.Migrations .IsRequired() .HasColumnType("text"); + b.Property("RequestButtonHoverTextColor") + .IsRequired() + .HasColumnType("text"); + b.Property("RequestButtonTextColor") .IsRequired() .HasColumnType("text"); diff --git a/src/comissions.app.api/Models/SellerProfile/SellerProfilePageSettingsModel.cs b/src/comissions.app.api/Models/SellerProfile/SellerProfilePageSettingsModel.cs new file mode 100644 index 0000000..559f5f6 --- /dev/null +++ b/src/comissions.app.api/Models/SellerProfile/SellerProfilePageSettingsModel.cs @@ -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; } +} \ No newline at end of file diff --git a/src/comissions.app.api/Models/SellerProfile/SellerProfilePageSettingsModelExtensions.cs b/src/comissions.app.api/Models/SellerProfile/SellerProfilePageSettingsModelExtensions.cs new file mode 100644 index 0000000..1b0648f --- /dev/null +++ b/src/comissions.app.api/Models/SellerProfile/SellerProfilePageSettingsModelExtensions.cs @@ -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; + } +} \ No newline at end of file