69 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			69 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| using PlumbingRepairContracts.BindingModels;
 | |
| using PlumbingRepairContracts.ViewModels;
 | |
| using PlumbingRepairDataModels.Models;
 | |
| using System.ComponentModel.DataAnnotations;
 | |
| using System.ComponentModel.DataAnnotations.Schema;
 | |
| 
 | |
| namespace PlumbingRepairDatabaseImplement.Models
 | |
| {
 | |
|     public class Client : IClientModel
 | |
|     {
 | |
|         public int Id { get; private set; }
 | |
| 
 | |
|         [Required]
 | |
|         public string ClientFIO { get; private set; } = string.Empty;
 | |
|         [Required]
 | |
|         public string Email { get; private set; } = string.Empty;
 | |
|         [Required]
 | |
|         public string Password { get; private set; } = string.Empty;
 | |
| 
 | |
| 
 | |
|         [ForeignKey("ClientId")]
 | |
|         public virtual List<Order> Orders{ get; set; } = new();
 | |
|             
 | |
|         public static Client? Create(ClientBindingModel model)
 | |
|         {
 | |
|             if (model == null)
 | |
|             {
 | |
|                 return null;
 | |
|             }
 | |
|             return new Client()
 | |
|             {
 | |
|                 Id = model.Id,
 | |
|                 ClientFIO = model.ClientFIO,
 | |
|                 Email= model.Email,
 | |
|                 Password = model.Password,
 | |
|             };
 | |
|         }
 | |
| 
 | |
|         public static Client Create(ClientViewModel model)
 | |
|         {
 | |
|             return new Client
 | |
|             {
 | |
|                 Id = model.Id,
 | |
|                 ClientFIO = model.ClientFIO,
 | |
|                 Email = model.Email,
 | |
|                 Password = model.Password,
 | |
|             };
 | |
|         }
 | |
| 
 | |
|         public void Update(ClientBindingModel model)
 | |
|         {
 | |
|             if (model == null)
 | |
|             {
 | |
|                 return;
 | |
|             }
 | |
|             ClientFIO = model.ClientFIO;
 | |
|             Email = model.Email;
 | |
|             Password = model.Password;
 | |
|         }
 | |
| 
 | |
|         public ClientViewModel GetViewModel => new()
 | |
|         {
 | |
|             Id = Id,
 | |
|             ClientFIO = ClientFIO,
 | |
|             Email = Email,
 | |
|             Password = Password,
 | |
|         };
 | |
|     }
 | |
| } |