Готовы хранилища для роли Заказчик + добавлен недостающий конструктор в класс Operator
This commit is contained in:
parent
aed455da3f
commit
ccd467ebb2
@ -1,4 +1,10 @@
|
||||
using System;
|
||||
using BankContracts.BindingModels;
|
||||
using BankContracts.SearchModels;
|
||||
using BankContracts.StoragesContracts;
|
||||
using BankContracts.ViewModels;
|
||||
using BankDatabaseImplement.Models;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
@ -6,7 +12,73 @@ using System.Threading.Tasks;
|
||||
|
||||
namespace BankDatabaseImplement.Implements
|
||||
{
|
||||
internal class DealStorage
|
||||
public class DealStorage : IDealStorage
|
||||
{
|
||||
public List<DealViewModel> GetFullList()
|
||||
{
|
||||
using var context = new BankDatabase();
|
||||
return context.Deals.Include(x => x.Operator)
|
||||
.Select(x => x.GetViewModel)
|
||||
.ToList();
|
||||
}
|
||||
public List<DealViewModel> GetFilteredList(DealSearchModel model)
|
||||
{
|
||||
if (!model.Id.HasValue)
|
||||
{
|
||||
return new();
|
||||
}
|
||||
using var context = new BankDatabase();
|
||||
return context.Deals.Include(x => x.Operator)
|
||||
.Where(x => x.Id == model.Id)
|
||||
.Select(x => x.GetViewModel)
|
||||
.ToList();
|
||||
}
|
||||
public DealViewModel? GetElement(DealSearchModel model)
|
||||
{
|
||||
if (!model.Id.HasValue)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
using var context = new BankDatabase();
|
||||
return context.Deals.Include(x => x.Operator)
|
||||
.FirstOrDefault(x => x.Id == model.Id)
|
||||
?.GetViewModel;
|
||||
}
|
||||
public DealViewModel? Insert(DealBindingModel model)
|
||||
{
|
||||
using var context = new BankDatabase();
|
||||
var newDeal = Deal.Create(context, model);
|
||||
if (newDeal == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
context.Deals.Add(newDeal);
|
||||
context.SaveChanges();
|
||||
return newDeal.GetViewModel;
|
||||
}
|
||||
public DealViewModel? Update(DealBindingModel model)
|
||||
{
|
||||
using var context = new BankDatabase();
|
||||
var deal = context.Deals.FirstOrDefault(x => x.Id == model.Id);
|
||||
if (deal == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
deal.Update(model);
|
||||
context.SaveChanges();
|
||||
return deal.GetViewModel;
|
||||
}
|
||||
public DealViewModel? Delete(DealBindingModel model)
|
||||
{
|
||||
using var context = new BankDatabase();
|
||||
var element = context.Deals.FirstOrDefault(rec => rec.Id == model.Id);
|
||||
if (element != null)
|
||||
{
|
||||
context.Deals.Remove(element);
|
||||
context.SaveChanges();
|
||||
return element.GetViewModel;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
84
Bank/BankDatabaseImplement/Implements/OperatorStorage.cs
Normal file
84
Bank/BankDatabaseImplement/Implements/OperatorStorage.cs
Normal file
@ -0,0 +1,84 @@
|
||||
using BankContracts.BindingModels;
|
||||
using BankContracts.SearchModels;
|
||||
using BankContracts.StoragesContracts;
|
||||
using BankContracts.ViewModels;
|
||||
using BankDatabaseImplement.Models;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BankDatabaseImplement.Implements
|
||||
{
|
||||
public class OperatorStorage : IOperatorStorage
|
||||
{
|
||||
public List<OperatorViewModel> GetFullList()
|
||||
{
|
||||
using var context = new BankDatabase();
|
||||
return context.Operators
|
||||
.Select(x => x.GetViewModel)
|
||||
.ToList();
|
||||
}
|
||||
public List<OperatorViewModel> GetFilteredList(OperatorSearchModel model)
|
||||
{
|
||||
if (!model.Id.HasValue)
|
||||
{
|
||||
return new();
|
||||
}
|
||||
using var context = new BankDatabase();
|
||||
return context.Operators
|
||||
.Where(x => x.Id == model.Id)
|
||||
.Select(x => x.GetViewModel)
|
||||
.ToList();
|
||||
}
|
||||
public OperatorViewModel? GetElement(OperatorSearchModel model)
|
||||
{
|
||||
if (!model.Id.HasValue)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
using var context = new BankDatabase();
|
||||
return context.Operators
|
||||
.FirstOrDefault(x => x.Id == model.Id)
|
||||
?.GetViewModel;
|
||||
}
|
||||
public OperatorViewModel? Insert(OperatorBindingModel model)
|
||||
{
|
||||
using var context = new BankDatabase();
|
||||
var newOperator = Operator.Create(model);
|
||||
if (newOperator == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
context.Operators.Add(newOperator);
|
||||
context.SaveChanges();
|
||||
return newOperator.GetViewModel;
|
||||
}
|
||||
public OperatorViewModel? Update(OperatorBindingModel model)
|
||||
{
|
||||
using var context = new BankDatabase();
|
||||
var deal = context.Operators.FirstOrDefault(x => x.Id == model.Id);
|
||||
if (deal == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
deal.Update(model);
|
||||
context.SaveChanges();
|
||||
return deal.GetViewModel;
|
||||
}
|
||||
public OperatorViewModel? Delete(OperatorBindingModel model)
|
||||
{
|
||||
using var context = new BankDatabase();
|
||||
var element = context.Operators.FirstOrDefault(rec => rec.Id == model.Id);
|
||||
if (element != null)
|
||||
{
|
||||
context.Operators.Remove(element);
|
||||
context.SaveChanges();
|
||||
return element.GetViewModel;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
84
Bank/BankDatabaseImplement/Implements/PaymentStorage.cs
Normal file
84
Bank/BankDatabaseImplement/Implements/PaymentStorage.cs
Normal file
@ -0,0 +1,84 @@
|
||||
using BankContracts.BindingModels;
|
||||
using BankContracts.SearchModels;
|
||||
using BankContracts.StoragesContracts;
|
||||
using BankContracts.ViewModels;
|
||||
using BankDatabaseImplement.Models;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BankDatabaseImplement.Implements
|
||||
{
|
||||
public class PaymentStorage : IPaymentStorage
|
||||
{
|
||||
public List<PaymentViewModel> GetFullList()
|
||||
{
|
||||
using var context = new BankDatabase();
|
||||
return context.Payments
|
||||
.Select(x => x.GetViewModel)
|
||||
.ToList();
|
||||
}
|
||||
public List<PaymentViewModel> GetFilteredList(PaymentSearchModel model)
|
||||
{
|
||||
if (!model.Id.HasValue)
|
||||
{
|
||||
return new();
|
||||
}
|
||||
using var context = new BankDatabase();
|
||||
return context.Payments
|
||||
.Where(x => x.Id == model.Id)
|
||||
.Select(x => x.GetViewModel)
|
||||
.ToList();
|
||||
}
|
||||
public PaymentViewModel? GetElement(PaymentSearchModel model)
|
||||
{
|
||||
if (!model.Id.HasValue)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
using var context = new BankDatabase();
|
||||
return context.Payments
|
||||
.FirstOrDefault(x => x.Id == model.Id)
|
||||
?.GetViewModel;
|
||||
}
|
||||
public PaymentViewModel? Insert(PaymentBindingModel model)
|
||||
{
|
||||
using var context = new BankDatabase();
|
||||
var newPayment = Payment.Create(context, model);
|
||||
if (newPayment == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
context.Payments.Add(newPayment);
|
||||
context.SaveChanges();
|
||||
return newPayment.GetViewModel;
|
||||
}
|
||||
public PaymentViewModel? Update(PaymentBindingModel model)
|
||||
{
|
||||
using var context = new BankDatabase();
|
||||
var deal = context.Payments.FirstOrDefault(x => x.Id == model.Id);
|
||||
if (deal == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
deal.Update(model);
|
||||
context.SaveChanges();
|
||||
return deal.GetViewModel;
|
||||
}
|
||||
public PaymentViewModel? Delete(PaymentBindingModel model)
|
||||
{
|
||||
using var context = new BankDatabase();
|
||||
var element = context.Payments.FirstOrDefault(rec => rec.Id == model.Id);
|
||||
if (element != null)
|
||||
{
|
||||
context.Payments.Remove(element);
|
||||
context.SaveChanges();
|
||||
return element.GetViewModel;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
83
Bank/BankDatabaseImplement/Implements/TransferStorage.cs
Normal file
83
Bank/BankDatabaseImplement/Implements/TransferStorage.cs
Normal file
@ -0,0 +1,83 @@
|
||||
using BankContracts.BindingModels;
|
||||
using BankContracts.SearchModels;
|
||||
using BankContracts.ViewModels;
|
||||
using BankDatabaseImplement.Models;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BankDatabaseImplement.Implements
|
||||
{
|
||||
public class TransferStorage
|
||||
{
|
||||
public List<TransferViewModel> GetFullList()
|
||||
{
|
||||
using var context = new BankDatabase();
|
||||
return context.Transfers.Include(x => x.Payment)
|
||||
.Select(x => x.GetViewModel)
|
||||
.ToList();
|
||||
}
|
||||
public List<TransferViewModel> GetFilteredList(TransferSearchModel model)
|
||||
{
|
||||
if (!model.Id.HasValue)
|
||||
{
|
||||
return new();
|
||||
}
|
||||
using var context = new BankDatabase();
|
||||
return context.Transfers.Include(x => x.Payment)
|
||||
.Where(x => x.Id == model.Id)
|
||||
.Select(x => x.GetViewModel)
|
||||
.ToList();
|
||||
}
|
||||
public TransferViewModel? GetElement(TransferSearchModel model)
|
||||
{
|
||||
if (!model.Id.HasValue)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
using var context = new BankDatabase();
|
||||
return context.Transfers.Include(x => x.Payment)
|
||||
.FirstOrDefault(x => x.Id == model.Id)
|
||||
?.GetViewModel;
|
||||
}
|
||||
public TransferViewModel? Insert(TransferBindingModel model)
|
||||
{
|
||||
using var context = new BankDatabase();
|
||||
var newTransfer = Transfer.Create(context, model);
|
||||
if (newTransfer == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
context.Transfers.Add(newTransfer);
|
||||
context.SaveChanges();
|
||||
return newTransfer.GetViewModel;
|
||||
}
|
||||
public TransferViewModel? Update(TransferBindingModel model)
|
||||
{
|
||||
using var context = new BankDatabase();
|
||||
var deal = context.Transfers.FirstOrDefault(x => x.Id == model.Id);
|
||||
if (deal == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
deal.Update(model);
|
||||
context.SaveChanges();
|
||||
return deal.GetViewModel;
|
||||
}
|
||||
public TransferViewModel? Delete(TransferBindingModel model)
|
||||
{
|
||||
using var context = new BankDatabase();
|
||||
var element = context.Transfers.FirstOrDefault(rec => rec.Id == model.Id);
|
||||
if (element != null)
|
||||
{
|
||||
context.Transfers.Remove(element);
|
||||
context.SaveChanges();
|
||||
return element.GetViewModel;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
@ -21,8 +21,23 @@ namespace BankDatabaseImplement.Models
|
||||
public string FirstName { get; set; } = string.Empty;
|
||||
|
||||
public string? MiddleName { get; set; }
|
||||
|
||||
public static Operator? Create(BankDatabase context, OperatorViewModel model)
|
||||
public static Operator? Create(OperatorBindingModel model)
|
||||
{
|
||||
if (model == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return new Operator()
|
||||
{
|
||||
Id = model.Id,
|
||||
Login = model.Login,
|
||||
Password = model.Password,
|
||||
LastName = model.LastName,
|
||||
FirstName = model.FirstName,
|
||||
MiddleName = model.MiddleName,
|
||||
};
|
||||
}
|
||||
public static Operator? Create(OperatorViewModel model)
|
||||
{
|
||||
return new Operator()
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user