using System.ComponentModel.DataAnnotations; using Microsoft.AspNetCore.Mvc.Rendering; using Nop.Core.Domain.Catalog; using Nop.Web.Framework.Models; using Nop.Web.Framework.Mvc.ModelBinding; namespace Nop.Web.Areas.Admin.Models.Common; public partial record AddressModel : BaseNopEntityModel { public AddressModel() { AvailableCountries = new List(); AvailableStates = new List(); CustomAddressAttributes = new List(); } [NopResourceDisplayName("Admin.Address.Fields.FirstName")] public string FirstName { get; set; } [NopResourceDisplayName("Admin.Address.Fields.LastName")] public string LastName { get; set; } [DataType(DataType.EmailAddress)] [NopResourceDisplayName("Admin.Address.Fields.Email")] public string Email { get; set; } [NopResourceDisplayName("Admin.Address.Fields.Company")] public string Company { get; set; } [NopResourceDisplayName("Admin.Address.Fields.Country")] public int? CountryId { get; set; } [NopResourceDisplayName("Admin.Address.Fields.Country")] public string CountryName { get; set; } [NopResourceDisplayName("Admin.Address.Fields.StateProvince")] public int? StateProvinceId { get; set; } [NopResourceDisplayName("Admin.Address.Fields.StateProvince")] public string StateProvinceName { get; set; } [NopResourceDisplayName("Admin.Address.Fields.Address1")] public string Address1 { get; set; } [NopResourceDisplayName("Admin.Address.Fields.City")] public string City { get; set; } [NopResourceDisplayName("Admin.Address.Fields.County")] public string County { get; set; } [NopResourceDisplayName("Admin.Address.Fields.Address2")] public string Address2 { get; set; } [NopResourceDisplayName("Admin.Address.Fields.ZipPostalCode")] public string ZipPostalCode { get; set; } [DataType(DataType.PhoneNumber)] [NopResourceDisplayName("Admin.Address.Fields.PhoneNumber")] public string PhoneNumber { get; set; } [DataType(DataType.PhoneNumber)] [NopResourceDisplayName("Admin.Address.Fields.FaxNumber")] public string FaxNumber { get; set; } //address in HTML format (usually used in grids) [NopResourceDisplayName("Admin.Address")] public string AddressHtml { get; set; } //formatted custom address attributes public string FormattedCustomAddressAttributes { get; set; } public IList CustomAddressAttributes { get; set; } public IList AvailableCountries { get; set; } public IList AvailableStates { get; set; } public bool FirstNameRequired { get; set; } public bool LastNameRequired { get; set; } public bool EmailRequired { get; set; } public bool CompanyRequired { get; set; } public bool CountryRequired { get; set; } public bool CityRequired { get; set; } public bool CountyRequired { get; set; } public bool StreetAddressRequired { get; set; } public bool StreetAddress2Required { get; set; } public bool ZipPostalCodeRequired { get; set; } public bool PhoneRequired { get; set; } public bool FaxRequired { get; set; } #region Nested classes public partial record AddressAttributeModel : BaseNopEntityModel { public AddressAttributeModel() { Values = new List(); } public string Name { get; set; } public bool IsRequired { get; set; } /// /// Selected value for textboxes /// public string DefaultValue { get; set; } public AttributeControlType AttributeControlType { get; set; } public IList Values { get; set; } } public partial record AddressAttributeValueModel : BaseNopEntityModel { public string Name { get; set; } public bool IsPreSelected { get; set; } } #endregion }