using BankContracts.BindingModels.Cashier; using BankContracts.ViewModels.Cashier.ViewModels; using BankDatabaseImplement.Models.CashierModels; using BankDataModels.Models.Cashier; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; namespace BankDatabaseImplement.Models.CashierModels { public class Cashier : ICashierModel { public int Id { get; set; } [Required] public string Password { get; set; } = string.Empty; [Required] public string Name { get; set; } = string.Empty; [Required] public string Surname { get; set; } = string.Empty; [Required] public string Patronymic { get; set; } = string.Empty; [Required] public string Email { get; set; } = string.Empty; [Required] public string Telephone { get; set; } = string.Empty; //для реализации связи один ко многим со Счётом [ForeignKey("CashierId")] public virtual List Accounts { get; set; } = new(); //для реализации связи один ко многим с заявками на снятие наличных со счёта [ForeignKey("CashierId")] public virtual List CashWithdrawals { get; set; } = new(); //для реализации связи один ко многим с заявками на переводы денег [ForeignKey("CashierId")] public virtual List MoneyTransfers { get; set; } = new(); public static Cashier Create(BankDatabase context, CashierBindingModel model) { return new Cashier() { Id = model.Id, Name = model.Name, Surname = model.Surname, Patronymic = model.Patronymic, Email = model.Email, Telephone = model.Telephone, Password = model.Password }; } public void Update(CashierBindingModel model) { Id = model.Id; Name = model.Name; Surname = model.Surname; Patronymic = model.Patronymic; Email = model.Email; Telephone = model.Telephone; Password = model.Password; } public CashierViewModel GetViewModel => new() { Id = Id, Name = Name, Surname = Surname, Patronymic = Patronymic, Email = Email, Telephone = Telephone, Password = Password }; } }