using BankContracts.ViewModels.Client.ViewModels; using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations.Schema; using System.ComponentModel.DataAnnotations; using System.Linq; using System.Text; using System.Threading.Tasks; using BankContracts.BindingModels.Client; using BankDataModels.Models.Client; using BankDatabaseImplement.Models.CashierModels; namespace BankDatabaseImplement.Models.ClientModels { public class Crediting : ICreditingModel { public int Id { get; set; } [Required] public int CardId { get; set; } public virtual Card Card { get; set; } public int ClientId { get; set; } [Required] public double Sum { get; set; } [Required] public DateTime DateCredit { get; set; } = DateTime.Now; //для реализации связи один ко многим с переводом денег [ForeignKey("CreditingId")] public virtual List MoneyTransfers { get; set; } = new(); public CreditingViewModel GetViewModel => new() { Id = Id, CardId = CardId, CardNumber = Card.Number, Sum = Sum, DateCredit = DateCredit, }; public static Crediting Create(BankDatabase context, CreditingBindingModel model) { return new Crediting() { Id = model.Id, CardId = model.CardId, Card = context.Cards.First(x => x.Id == model.CardId), Sum = model.Sum, DateCredit = model.DateCredit, }; } public void Update(CreditingBindingModel model) { DateCredit = model.DateCredit; } } }