using ElectronicsShopContracts.BindingModels; using ElectronicsShopContracts.SearchModels; using ElectronicsShopContracts.StorageContracts; using ElectronicsShopContracts.ViewModels; using ElectronicsShopDataBaseImplement.Models; using System; using System.Collections.Generic; using System.Linq; using System.Net.Security; using System.Numerics; using System.Text; using System.Threading.Tasks; namespace ElectronicsShopDataBaseImplement.Implements { public class PaymeantStorage : IPaymeantStorage { public PaymeantViewModel? Insert(PaymeantBindingModel model) { var newPayment = Paymeant.Create(model); if (newPayment == null) { return null; } using var context = new Database(); context.Paymeants.Add(newPayment); context.SaveChanges(); return newPayment.GetViewModel; } public PaymeantViewModel? UpdatePay(PaymeantBindingModel model) { using var context = new Database(); var paymeant = context.Paymeants.FirstOrDefault(x => x.ID == model.ID); if (paymeant == null) { return null; } paymeant.Update(model); context.SaveChanges(); return paymeant.GetViewModel; } public PaymeantViewModel? GetElement(PaymeantSearchModel model) { if (model.ProductID.HasValue || model.OrderID.HasValue) { return null; } using var context = new Database(); return context.Paymeants.FirstOrDefault(x => (model.ID.HasValue && x.ID == model.ID))?.GetViewModel; } public List? GetFillteredList(PaymeantSearchModel model) { if (model.ProductID.HasValue || model.OrderID.HasValue) { return new(); } using var context = new Database(); return context.Paymeants .Where(x => x.ID == model.ID) .Select(x => x.GetViewModel).ToList(); } public List? GetFullList() { using var context = new Database(); return context.Paymeants.Select(x => x.GetViewModel).ToList(); } } }