>using System; >using System.Collections.Generic; >using System.Linq; >using System.Web; >using CardNumbers.Objects; > >namespace CardNumbers.Models >{ > public class ClientViewModel > { > public Client Client { get; set; } > > public int id { get; set; } > } >}>
>using System; >using System.Web.Mvc; >using System.ComponentModel.DataAnnotations; >using System.ComponentModel; > >using DataAnnotationsExtensions; >using System.ComponentModel.DataAnnotations.Schema; >using System.Collections.Generic; > >namespace CardNumbers.Objects >{ > [ComplexType] > public class PhoneInfo > { > [DataType(DataType.PhoneNumber)] > > [DisplayName("Phone")] > [RegularExpression(@"^((\(\d{3}\)|\d{3})\s?)?\d{3}[-\s]?\d{4}\s*$", ErrorMessage = "Please enter valid Phone Number")] > public virtual string Phone { get; set; } > > [StringLength(5)] > [DisplayName("Ext")] > public virtual string Ext { get; set; } > > public bool HasValue > { > get > { > return (Phone != null || Ext != null); > } > } > > } > > [ComplexType] > public class ContactDetail > { > //Constructor > public ContactDetail() > { > phoneInfo = new PhoneInfo(); > } > > [StringLength(100)] > [DisplayName("Contact Name")] > [DisplayFormat(NullDisplayText = "")] > public virtual string Contact { get; set; } > > [Email] > [StringLength(100)] > [DataType(DataType.EmailAddress)] > [DisplayName("Email")] > public virtual string Email { get; set; } > > public virtual PhoneInfo phoneInfo { get; set; } > public bool HasValue > { > get > { > return (Contact != null || Email != null || phoneInfo.HasValue); > } > } > } > >/// <summary> >/// Client class (Client No, Client Name, Address, Contact1, Contact2 info, Created By, Modified By (operator and date) >/// </summary> > public class Client > { > public Client() > { > Contact1 = new ContactDetail(); > Contact2 = new ContactDetail(); > } > > [Key] > [Editable(false)] > [Column("ClientId",TypeName = "int")] > public virtual int Id { get; set; } > [Required] > [DisplayName("Client No")] > [UIHint("Number")] > [Column("client_no", TypeName = "smallint")] > [Remote("doesClientNoExist", "Client", HttpMethod = "POST", ErrorMessage = "Client Number already exists. Please enter a different Client Number.")] > public virtual Int16 Number { get; set; } > > [Required] > [Column("client_name", TypeName = "varchar")] > [DisplayName("Client Name")] > [MaxLength(30, ErrorMessage = "Client Name should not be longer than 30 characters" )] > [MinLength(3, ErrorMessage = "Client Name is too short")] > [Remote("doesClientNameExist", "Client", HttpMethod = "POST", ErrorMessage = "Client Name already exists. Please enter a different Client Name.")] > public virtual string Name { get; set; } > > [DataType(DataType.MultilineText)] > public virtual string Address { get; set; } > > public virtual ContactDetail Contact1 {get; set;} > public virtual ContactDetail Contact2 {get; set;} > > [ForeignKey("EnteredByOperator")] > public string EnteredBy { get; set; } > > [InverseProperty("ClientsEnteredBy")] > public virtual Operator EnteredByOperator { get; set; } > > [ForeignKey("ModifiedByOperator")] > public string ModifiedBy { get; set; } > > [InverseProperty("ClientsUpdatedBy")] > public virtual Operator ModifiedByOperator { get; set; } > > [DataType(DataType.DateTime)] > [DisplayName("Created on")] > public DateTime EnteredOn { get; set; } > > [DataType(DataType.DateTime)] > [DisplayName("Modified on")] > public DateTime? ModifiedOn { get; set; } > > public virtual ICollection<ClientOrder> ClientOrders { get; set; } > > public virtual ICollection<Reorder> Reorders { get; set; } > } >}>