Готовы хранилища для роли Заказчик + добавлен недостающий конструктор в класс 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.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
@ -6,7 +12,73 @@ using System.Threading.Tasks;
|
|||||||
|
|
||||||
namespace BankDatabaseImplement.Implements
|
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 FirstName { get; set; } = string.Empty;
|
||||||
|
|
||||||
public string? MiddleName { get; set; }
|
public string? MiddleName { get; set; }
|
||||||
|
public static Operator? Create(OperatorBindingModel model)
|
||||||
public static Operator? Create(BankDatabase context, OperatorViewModel 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()
|
return new Operator()
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user