Files
ApplianceRepair/Models.cs
2026-04-25 21:25:53 -05:00

177 lines
4.6 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 string FormattedPhoneNumber
{
get
{
if (!string.IsNullOrEmpty(Phone))
{
return $"({Phone[0..3]})-{Phone[3..6]}-{Phone[6..10]}";
}
return "";
}
}
public string PhoneNumberCallLink
{
get
{
if (!string.IsNullOrEmpty(Phone))
{
return $"tel:{Phone}";
}
return "";
}
}
public RepairRequestModel() { }
public RepairRequestModel(RepairRequestRecord record)
{
RequestNumber = record.RequestNumber;
Type = record.Type;
Brand = record.Brand;
Notes = record.Notes;
Phone = record.Phone;
Name = record.Name;
}
}
public class BusinessInfoModel : BusinessConfigRecord
{
public BusinessInfoModel(BusinessConfigRecord record)
{
Name = record.Name;
PhoneNumber = record.PhoneNumber;
SupportEmail = record.SupportEmail;
}
}
}