Files
ApplianceRepair/Models.cs
2026-04-25 13:14:08 -05:00

138 lines
3.7 KiB
C#

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<ContentCardModel> ServicesCards { get; set; }
public List<ContentCardModel> 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<ContentCardRecord> serviceCards,
List<ContentCardRecord> 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;
}
}
}