namespace ApplianceRepair { public class ContentCardModel : ContentCardRecord { public ContentCardModel() { BelongsToPage = string.Empty; Group = string.Empty; Header = string.Empty; Text = string.Empty; } public ContentCardModel(ContentCardRecord record) { BelongsToPage = record.BelongsToPage; Group = record.Group; Header = record.Header; Text = record.Text; } } public class HomePageModel : HomePageRecord { public static string PageName = "Home"; public enum ContentCardTypes { Services, Trust, } public string BusinessName { get; set; } public string PhoneNumber { get; set; } public string FormattedPhoneNumber { get { if (!string.IsNullOrEmpty(PhoneNumber)) { return $"({PhoneNumber[0..3]})-{PhoneNumber[3..6]}-{PhoneNumber[6..10]}"; } return ""; } } public string PhoneNumberCallLink { get { if (!string.IsNullOrEmpty(PhoneNumber)) { return $"tel:{PhoneNumber}"; } return ""; } } public string CopyrightText { get { if (!string.IsNullOrEmpty(BusinessName)) { return $"© {DateTime.Now.Year} {BusinessName}. All rights reserved."; } return $"© {DateTime.Now.Year} All rights reserved."; } } public List ServicesCards { get; set; } public List TrustCards { get; set; } public HomePageModel() { HeaderLine1 = string.Empty; HeaderLine2 = string.Empty; HeaderText = string.Empty; CallHeaderText = string.Empty; BookHeaderText = string.Empty; SecondaryHeaderText = string.Empty; BusinessName = string.Empty; PhoneNumber = string.Empty; ServicesCards = []; TrustCards = []; } public HomePageModel( HomePageRecord homePageRecord, BusinessConfigRecord businessConfigRecord, List serviceCards, List trustCards) { HeaderLine1 = homePageRecord.HeaderLine1; HeaderLine2 = homePageRecord.HeaderLine2; HeaderText = homePageRecord.HeaderText; CallHeaderText = homePageRecord.CallHeaderText; BookHeaderText = homePageRecord.BookHeaderText; SecondaryHeaderText = homePageRecord.SecondaryHeaderText;; BusinessName = businessConfigRecord.Name ?? ""; PhoneNumber = businessConfigRecord.PhoneNumber ?? ""; ServicesCards = []; TrustCards = []; foreach (var card in serviceCards) { ServicesCards.Add(new ContentCardModel(card)); } foreach (var card in trustCards) { TrustCards.Add(new ContentCardModel(card)); } } } public class RepairRequestModel : RepairRequestRecord { } public class BusinessInfoModel : BusinessConfigRecord { public BusinessInfoModel(BusinessConfigRecord record) { Name = record.Name; PhoneNumber = record.PhoneNumber; SupportEmail = record.SupportEmail; } } }