From 9292d3c4225b32d81e94d1a7d77aed34fa8e303f Mon Sep 17 00:00:00 2001 From: abazov73 <92822431+abazov73@users.noreply.github.com> Date: Fri, 7 Apr 2023 13:42:01 +0400 Subject: [PATCH] =?UTF-8?q?=D0=9E=D0=BF=D0=B5=D1=80=D0=B0=D1=82=D0=BE?= =?UTF-8?q?=D1=80=20=D1=81=D0=B2=D1=8F=D0=B7=D0=B0=D0=BD=20=D1=81=D0=BE=20?= =?UTF-8?q?=D0=B2=D1=81=D0=B5=D0=BC=D0=B8=20=D1=81=D1=83=D1=89=D0=BD=D0=BE?= =?UTF-8?q?=D1=81=D1=82=D1=8F=D0=BC=D0=B8=20=D1=80=D0=BE=D0=BB=D0=B8=20?= =?UTF-8?q?=D0=97=D0=B0=D0=BA=D0=B0=D0=B7=D1=87=D0=B8=D0=BA=20(+=20=D1=81?= =?UTF-8?q?=D0=BE=D0=BF=D1=83=D1=82=D1=81=D0=B2=D1=83=D1=8E=D1=89=D0=B8?= =?UTF-8?q?=D0=B5=20=D1=84=D0=B8=D0=BA=D1=81=D1=8B),=20=D1=84=D0=B8=D0=BA?= =?UTF-8?q?=D1=81=20=D0=BD=D0=B5=D0=B4=D0=BE=D1=81=D1=82=D0=B0=D1=8E=D1=89?= =?UTF-8?q?=D0=B5=D0=B9=20=D1=81=D1=81=D1=8B=D0=BB=D0=BA=D0=B8=20=D0=BD?= =?UTF-8?q?=D0=B0=20CreditProgram=20=D0=B2=20=D0=BA=D0=BB=D0=B0=D1=81?= =?UTF-8?q?=D1=81=D0=B5=20Deal?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BindingModels/PaymentBindingModel.cs | 3 +- .../BindingModels/TransferBindingModel.cs | 3 +- .../SearchModels/PaymentSearchModel.cs | 1 + .../SearchModels/TransferSearchModel.cs | 1 + .../ViewModels/PaymentViewModel.cs | 8 ++++-- .../ViewModels/TransferViewModel.cs | 3 ++ Bank/BankDataModels/Models/IPaymentModel.cs | 1 + Bank/BankDataModels/Models/ITransferModel.cs | 1 + .../Implements/DealStorage.cs | 8 +++--- .../Implements/PaymentStorage.cs | 28 +++++++++++++------ .../Implements/TransferStorage.cs | 27 ++++++++++++------ Bank/BankDatabaseImplement/Models/Deal.cs | 1 + Bank/BankDatabaseImplement/Models/Payment.cs | 5 ++++ Bank/BankDatabaseImplement/Models/Transfer.cs | 6 +++- 14 files changed, 70 insertions(+), 26 deletions(-) diff --git a/Bank/BankContracts/BindingModels/PaymentBindingModel.cs b/Bank/BankContracts/BindingModels/PaymentBindingModel.cs index 397f2cc..9a9748c 100644 --- a/Bank/BankContracts/BindingModels/PaymentBindingModel.cs +++ b/Bank/BankContracts/BindingModels/PaymentBindingModel.cs @@ -9,12 +9,13 @@ namespace BankContracts.BindingModels { public class PaymentBindingModel : IPaymentModel { + public int Id { get; set; } public DateTime PaymentDate {get;set;} = DateTime.Now.Date; public Dictionary DealPayments { get; set; } = new(); public Dictionary CurrencyPayments { get; set; } = new(); - public int Id { get; set; } + public int OperatorId { get; set; } } } diff --git a/Bank/BankContracts/BindingModels/TransferBindingModel.cs b/Bank/BankContracts/BindingModels/TransferBindingModel.cs index 3148763..69ba24e 100644 --- a/Bank/BankContracts/BindingModels/TransferBindingModel.cs +++ b/Bank/BankContracts/BindingModels/TransferBindingModel.cs @@ -9,12 +9,13 @@ namespace BankContracts.BindingModels { public class TransferBindingModel : ITransferModel { + public int Id { get; set; } public float Amount { get; set; } public DateTime TransferDateTime { get; set; } = DateTime.Now; public int PaymentId { get; set; } - public int Id { get; set; } + public int OperatorId { get; set; } } } diff --git a/Bank/BankContracts/SearchModels/PaymentSearchModel.cs b/Bank/BankContracts/SearchModels/PaymentSearchModel.cs index 978163d..2bd6aad 100644 --- a/Bank/BankContracts/SearchModels/PaymentSearchModel.cs +++ b/Bank/BankContracts/SearchModels/PaymentSearchModel.cs @@ -9,5 +9,6 @@ namespace BankContracts.SearchModels public class PaymentSearchModel { public int? Id { get; set; } + public int? OperatorId { get; set; } } } diff --git a/Bank/BankContracts/SearchModels/TransferSearchModel.cs b/Bank/BankContracts/SearchModels/TransferSearchModel.cs index e7e86ab..da6a87e 100644 --- a/Bank/BankContracts/SearchModels/TransferSearchModel.cs +++ b/Bank/BankContracts/SearchModels/TransferSearchModel.cs @@ -9,5 +9,6 @@ namespace BankContracts.SearchModels public class TransferSearchModel { public int? Id { get; set; } + public int? OperatorId { get; set; } } } diff --git a/Bank/BankContracts/ViewModels/PaymentViewModel.cs b/Bank/BankContracts/ViewModels/PaymentViewModel.cs index 2497320..563e50a 100644 --- a/Bank/BankContracts/ViewModels/PaymentViewModel.cs +++ b/Bank/BankContracts/ViewModels/PaymentViewModel.cs @@ -10,12 +10,14 @@ namespace BankContracts.ViewModels { public class PaymentViewModel : IPaymentModel { + [DisplayName("Номер платы")] + public int Id { get; set; } [DisplayName("Дата платы")] public DateTime PaymentDate { get; set; } = DateTime.Now.Date; public Dictionary DealPayments { get; set; } = new(); - public Dictionary CurrencyPayments { get; set; } = new(); - [DisplayName("Номер платы")] - public int Id { get; set; } + public int OperatorId { get; set; } + [DisplayName("ФИО оператора")] + public string OperatorName { get; set; } = string.Empty; } } diff --git a/Bank/BankContracts/ViewModels/TransferViewModel.cs b/Bank/BankContracts/ViewModels/TransferViewModel.cs index 4b58a43..93deea9 100644 --- a/Bank/BankContracts/ViewModels/TransferViewModel.cs +++ b/Bank/BankContracts/ViewModels/TransferViewModel.cs @@ -18,5 +18,8 @@ namespace BankContracts.ViewModels public DateTime TransferDateTime {get; set;} = DateTime.Now; [DisplayName("Номер платежа")] public int PaymentId {get; set;} + public int OperatorId { get; set; } + [DisplayName("ФИО оператора")] + public string OperatorName { get; set; } = string.Empty; } } diff --git a/Bank/BankDataModels/Models/IPaymentModel.cs b/Bank/BankDataModels/Models/IPaymentModel.cs index aa20fd9..1d1ba58 100644 --- a/Bank/BankDataModels/Models/IPaymentModel.cs +++ b/Bank/BankDataModels/Models/IPaymentModel.cs @@ -11,5 +11,6 @@ namespace BankDataModels.Models DateTime PaymentDate { get; } Dictionary DealPayments { get; } Dictionary CurrencyPayments { get; } + int OperatorId { get; } } } diff --git a/Bank/BankDataModels/Models/ITransferModel.cs b/Bank/BankDataModels/Models/ITransferModel.cs index 239b701..ebca59a 100644 --- a/Bank/BankDataModels/Models/ITransferModel.cs +++ b/Bank/BankDataModels/Models/ITransferModel.cs @@ -11,5 +11,6 @@ namespace BankDataModels.Models float Amount { get; } DateTime TransferDateTime { get; } int PaymentId { get; } + int OperatorId { get; } } } diff --git a/Bank/BankDatabaseImplement/Implements/DealStorage.cs b/Bank/BankDatabaseImplement/Implements/DealStorage.cs index e0310d2..9133f4d 100644 --- a/Bank/BankDatabaseImplement/Implements/DealStorage.cs +++ b/Bank/BankDatabaseImplement/Implements/DealStorage.cs @@ -17,7 +17,7 @@ namespace BankDatabaseImplement.Implements public List GetFullList() { using var context = new BankDatabase(); - return context.Deals.Include(x => x.Operator) + return context.Deals.Include(x => x.Operator).Include(x => x.CreditProgram) .Select(x => x.GetViewModel) .ToList(); } @@ -30,7 +30,7 @@ namespace BankDatabaseImplement.Implements if (model.OperatorId.HasValue) { using var context = new BankDatabase(); - return context.Deals.Include(x => x.Operator) + return context.Deals.Include(x => x.Operator).Include(x => x.CreditProgram) .Where(x => x.OperatorId == model.OperatorId) .Select(x => x.GetViewModel) .ToList(); @@ -38,7 +38,7 @@ namespace BankDatabaseImplement.Implements else { using var context = new BankDatabase(); - return context.Deals.Include(x => x.Operator) + return context.Deals.Include(x => x.Operator).Include(x => x.CreditProgram) .Where(x => x.Id == model.Id) .Select(x => x.GetViewModel) .ToList(); @@ -51,7 +51,7 @@ namespace BankDatabaseImplement.Implements return null; } using var context = new BankDatabase(); - return context.Deals.Include(x => x.Operator) + return context.Deals.Include(x => x.Operator).Include(x => x.CreditProgram) .FirstOrDefault(x => x.Id == model.Id) ?.GetViewModel; } diff --git a/Bank/BankDatabaseImplement/Implements/PaymentStorage.cs b/Bank/BankDatabaseImplement/Implements/PaymentStorage.cs index a33ec81..7f14989 100644 --- a/Bank/BankDatabaseImplement/Implements/PaymentStorage.cs +++ b/Bank/BankDatabaseImplement/Implements/PaymentStorage.cs @@ -17,21 +17,33 @@ namespace BankDatabaseImplement.Implements public List GetFullList() { using var context = new BankDatabase(); - return context.Payments + return context.Payments.Include(x => x.Operator) .Select(x => x.GetViewModel) .ToList(); } public List GetFilteredList(PaymentSearchModel model) { - if (!model.Id.HasValue) + if (!model.Id.HasValue && !model.OperatorId.HasValue) { return new(); } - using var context = new BankDatabase(); - return context.Payments - .Where(x => x.Id == model.Id) - .Select(x => x.GetViewModel) - .ToList(); + if (model.OperatorId.HasValue) + { + using var context = new BankDatabase(); + return context.Payments.Include(x => x.Operator) + .Where(x => x.OperatorId == model.OperatorId) + .Select(x => x.GetViewModel) + .ToList(); + } + else + { + using var context = new BankDatabase(); + return context.Payments.Include(x => x.Operator) + .Where(x => x.Id == model.Id) + .Select(x => x.GetViewModel) + .ToList(); + } + } public PaymentViewModel? GetElement(PaymentSearchModel model) { @@ -40,7 +52,7 @@ namespace BankDatabaseImplement.Implements return null; } using var context = new BankDatabase(); - return context.Payments + return context.Payments.Include(x => x.Operator) .FirstOrDefault(x => x.Id == model.Id) ?.GetViewModel; } diff --git a/Bank/BankDatabaseImplement/Implements/TransferStorage.cs b/Bank/BankDatabaseImplement/Implements/TransferStorage.cs index 6c1ed8a..987010c 100644 --- a/Bank/BankDatabaseImplement/Implements/TransferStorage.cs +++ b/Bank/BankDatabaseImplement/Implements/TransferStorage.cs @@ -17,21 +17,32 @@ namespace BankDatabaseImplement.Implements public List GetFullList() { using var context = new BankDatabase(); - return context.Transfers.Include(x => x.Payment) + return context.Transfers.Include(x => x.Payment).Include(x => x.OperatorId) .Select(x => x.GetViewModel) .ToList(); } public List GetFilteredList(TransferSearchModel model) { - if (!model.Id.HasValue) + if (!model.Id.HasValue && !model.OperatorId.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(); + if (model.OperatorId.HasValue) + { + using var context = new BankDatabase(); + return context.Transfers.Include(x => x.Payment).Include(x => x.OperatorId) + .Where(x => x.OperatorId == model.OperatorId) + .Select(x => x.GetViewModel) + .ToList(); + } + else + { + using var context = new BankDatabase(); + return context.Transfers.Include(x => x.Payment).Include(x => x.OperatorId) + .Where(x => x.Id == model.Id) + .Select(x => x.GetViewModel) + .ToList(); + } } public TransferViewModel? GetElement(TransferSearchModel model) { @@ -40,7 +51,7 @@ namespace BankDatabaseImplement.Implements return null; } using var context = new BankDatabase(); - return context.Transfers.Include(x => x.Payment) + return context.Transfers.Include(x => x.Payment).Include(x => x.OperatorId) .FirstOrDefault(x => x.Id == model.Id) ?.GetViewModel; } diff --git a/Bank/BankDatabaseImplement/Models/Deal.cs b/Bank/BankDatabaseImplement/Models/Deal.cs index 30b67ae..4bc6b92 100644 --- a/Bank/BankDatabaseImplement/Models/Deal.cs +++ b/Bank/BankDatabaseImplement/Models/Deal.cs @@ -22,6 +22,7 @@ namespace BankDatabaseImplement.Models public int OperatorId { get; set; } public virtual Operator Operator { get; set; } = new(); public int? CreditProgramId {get; set; } + public virtual CreditProgram CreditProgram { get; set; } = new(); [ForeignKey("DealId")] public virtual List DealPayments { get; set; } = new(); public static Deal? Create(BankDatabase context, DealBindingModel model) diff --git a/Bank/BankDatabaseImplement/Models/Payment.cs b/Bank/BankDatabaseImplement/Models/Payment.cs index f980250..9dd8482 100644 --- a/Bank/BankDatabaseImplement/Models/Payment.cs +++ b/Bank/BankDatabaseImplement/Models/Payment.cs @@ -46,6 +46,9 @@ namespace BankDatabaseImplement.Models } public virtual List Currencies { get; set; } = new(); + public int OperatorId { get; set; } + public virtual Operator Operator { get; set; } = new(); + public static Payment? Create(BankDatabase context, PaymentBindingModel model) { if (model == null) @@ -76,6 +79,8 @@ namespace BankDatabaseImplement.Models PaymentDate = PaymentDate, DealPayments = DealPayments, CurrencyPayments = CurrencyPayments, + OperatorId = OperatorId, + OperatorName = Operator.LastName + " " + Operator.FirstName + " " + Operator.MiddleName, }; public void UpdateDeals(BankDatabase context, PaymentBindingModel model) { diff --git a/Bank/BankDatabaseImplement/Models/Transfer.cs b/Bank/BankDatabaseImplement/Models/Transfer.cs index ab36d00..0643fcf 100644 --- a/Bank/BankDatabaseImplement/Models/Transfer.cs +++ b/Bank/BankDatabaseImplement/Models/Transfer.cs @@ -20,6 +20,8 @@ namespace BankDatabaseImplement.Models [Required] public int PaymentId { get; set; } public virtual Payment Payment { get; set; } = new(); + public int OperatorId { get; set; } + public virtual Operator Operator { get; set; } = new(); public static Transfer? Create(BankDatabase context, TransferBindingModel model) { if (model == null) @@ -59,7 +61,9 @@ namespace BankDatabaseImplement.Models Id = Id, TransferDateTime = TransferDateTime, Amount = Amount, - PaymentId = PaymentId + PaymentId = PaymentId, + OperatorId = OperatorId, + OperatorName = Operator.LastName + " " + Operator.FirstName + " " + Operator.MiddleName, }; } }