From 8b96d82fa24a106d3f3e292f39d2899a3405bc5c Mon Sep 17 00:00:00 2001 From: Programmist73 Date: Sat, 20 May 2023 03:34:28 +0400 Subject: [PATCH 1/2] =?UTF-8?q?=D0=9C=D0=B5=D0=BB=D0=BA=D0=B8=D0=B5=20?= =?UTF-8?q?=D0=BF=D1=80=D0=B0=D0=B2=D0=BA=D0=B8.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BusinessLogics/CashWithdrawalLogic.cs | 58 +++++++++++++++---- .../Controllers/HomeController.cs | 11 ++-- .../Views/Home/ReportWithCards.cshtml | 4 +- .../Enums/StatusEnum.cs | 4 +- 4 files changed, 61 insertions(+), 16 deletions(-) diff --git a/BankYouBankrupt/BankYouBankruptBusinessLogic/BusinessLogics/CashWithdrawalLogic.cs b/BankYouBankrupt/BankYouBankruptBusinessLogic/BusinessLogics/CashWithdrawalLogic.cs index 2495f23..0245ebe 100644 --- a/BankYouBankrupt/BankYouBankruptBusinessLogic/BusinessLogics/CashWithdrawalLogic.cs +++ b/BankYouBankrupt/BankYouBankruptBusinessLogic/BusinessLogics/CashWithdrawalLogic.cs @@ -21,11 +21,15 @@ namespace BankYouBankruptBusinessLogic.BusinessLogics private readonly IDebitingStorage _debitingStorage; - public CashWithdrawalLogic(ILogger logger, ICashWithdrawalStorage cashWithdrawalStorage, IDebitingStorage debitingStorage) + private readonly ICardStorage _cardStorage; + + public CashWithdrawalLogic(ILogger logger, ICashWithdrawalStorage cashWithdrawalStorage, + IDebitingStorage debitingStorage, ICardStorage cardStorage) { _logger = logger; _cashWithdrawalStorage = cashWithdrawalStorage; _debitingStorage = debitingStorage; + _cardStorage = cardStorage; } public CashWithdrawalViewModel? ReadElement(CashWithdrawalSearchModel model) @@ -77,19 +81,32 @@ namespace BankYouBankruptBusinessLogic.BusinessLogics if (flag) { - if (_cashWithdrawalStorage.Insert(model) == null) + //проверка на то, что карта не просрочилась + if (CheckCardPeriod(model)) { - _logger.LogWarning("Insert operation failed"); + if (_cashWithdrawalStorage.Insert(model) == null) + { + _logger.LogWarning("Insert operation failed"); - return false; + return false; + } + + _debitingStorage.Update(new DebitingBindingModel + { + Id = model.DebitingId, + DateClose = DateTime.Now, + Status = StatusEnum.Закрыта + }); } - - _debitingStorage.Update(new DebitingBindingModel + else { - Id = model.DebitingId, - DateClose = DateTime.Now, - Status = StatusEnum.Закрыта - }); + _debitingStorage.Update(new DebitingBindingModel + { + Id = model.DebitingId, + DateClose = DateTime.Now, + Status = StatusEnum.Карта_просрочена + }); + } } else { @@ -169,5 +186,26 @@ namespace BankYouBankruptBusinessLogic.BusinessLogics _logger.LogInformation("CashWithdrawal: AccountId:{AccountId}. Sum:{Sum}. DateOperation:{DateOperation}. Id:{Id}", model.AccountId, model.Sum, model.DateOperation, model?.Id); } + + bool CheckCardPeriod(CashWithdrawalBindingModel model) + { + var debiting = _debitingStorage.GetElement(new DebitingSearchModel + { + Id = model.DebitingId + }); + + var card = _cardStorage.GetElement(new CardSearchModel + { + Id = debiting.CardId + }); + + //если карта просрочена + if(card.Period < DateTime.Now) + { + return false; + } + + return true; + } } } diff --git a/BankYouBankrupt/BankYouBankruptClientApp/Controllers/HomeController.cs b/BankYouBankrupt/BankYouBankruptClientApp/Controllers/HomeController.cs index d86b531..111537d 100644 --- a/BankYouBankrupt/BankYouBankruptClientApp/Controllers/HomeController.cs +++ b/BankYouBankrupt/BankYouBankruptClientApp/Controllers/HomeController.cs @@ -14,7 +14,6 @@ using System.Collections; using System.Diagnostics; using System.Reflection; using System.Xml.Linq; -using static System.Net.Mime.MediaTypeNames; namespace BankYouBankruptClientApp.Controllers { @@ -497,9 +496,11 @@ namespace BankYouBankruptClientApp.Controllers Operations = result, }); } - #endregion + #endregion - [HttpGet] + #region Диаграмма + + [HttpGet] public IActionResult Diagram() { if (APIClient.Client == null) { @@ -527,5 +528,7 @@ namespace BankYouBankruptClientApp.Controllers Elements = APIClient.GetRequest>($"api/Card/getCardMonthResult?cardId={cardId}") }); } - } + + #endregion + } } \ No newline at end of file diff --git a/BankYouBankrupt/BankYouBankruptClientApp/Views/Home/ReportWithCards.cshtml b/BankYouBankrupt/BankYouBankruptClientApp/Views/Home/ReportWithCards.cshtml index 5ca2fa5..b97e59a 100644 --- a/BankYouBankrupt/BankYouBankruptClientApp/Views/Home/ReportWithCards.cshtml +++ b/BankYouBankrupt/BankYouBankruptClientApp/Views/Home/ReportWithCards.cshtml @@ -1,4 +1,6 @@ @using BankYouBankruptContracts.ViewModels.Client.Reports; +@using Microsoft.JSInterop; +@inject IJSRuntime JS @model ReportClientCardsViewModel @@ -105,4 +107,4 @@ - \ No newline at end of file + diff --git a/BankYouBankrupt/BankYouBankruptDataModels/Enums/StatusEnum.cs b/BankYouBankrupt/BankYouBankruptDataModels/Enums/StatusEnum.cs index d60a177..0048351 100644 --- a/BankYouBankrupt/BankYouBankruptDataModels/Enums/StatusEnum.cs +++ b/BankYouBankrupt/BankYouBankruptDataModels/Enums/StatusEnum.cs @@ -12,6 +12,8 @@ namespace BankYouBankruptDataModels.Enums Закрыта = 1, - Отклонено = 2 + Отклонено = 2, + + Карта_просрочена = 3 } } From 3cc984e5dae6ec502f3081cf7ec9380fa97d2f71 Mon Sep 17 00:00:00 2001 From: Programmist73 Date: Sat, 20 May 2023 04:09:55 +0400 Subject: [PATCH 2/2] =?UTF-8?q?=D0=9A=D0=BE=D1=81=D0=BC=D0=B5=D1=82=D0=B8?= =?UTF-8?q?=D0=BA=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BusinessLogics/CashWithdrawalLogic.cs | 57 +++--------------- .../BusinessLogics/CreditingLogic.cs | 33 +++++++++- .../BusinessLogics/DebitingLogic.cs | 39 +++++++++++- .../Views/Home/CreditingList.cshtml | 3 +- .../Views/Home/DebitingList.cshtml | 2 +- .../Models/Crediting.cs | 3 +- .../Models/Debiting.cs | 2 +- .../Controllers/CardController.cs | 1 - .../Отчёт по снятиям.docx | Bin 1290 -> 1909 bytes 9 files changed, 83 insertions(+), 57 deletions(-) diff --git a/BankYouBankrupt/BankYouBankruptBusinessLogic/BusinessLogics/CashWithdrawalLogic.cs b/BankYouBankrupt/BankYouBankruptBusinessLogic/BusinessLogics/CashWithdrawalLogic.cs index 0245ebe..e916c94 100644 --- a/BankYouBankrupt/BankYouBankruptBusinessLogic/BusinessLogics/CashWithdrawalLogic.cs +++ b/BankYouBankrupt/BankYouBankruptBusinessLogic/BusinessLogics/CashWithdrawalLogic.cs @@ -21,15 +21,12 @@ namespace BankYouBankruptBusinessLogic.BusinessLogics private readonly IDebitingStorage _debitingStorage; - private readonly ICardStorage _cardStorage; - public CashWithdrawalLogic(ILogger logger, ICashWithdrawalStorage cashWithdrawalStorage, - IDebitingStorage debitingStorage, ICardStorage cardStorage) + IDebitingStorage debitingStorage) { _logger = logger; _cashWithdrawalStorage = cashWithdrawalStorage; _debitingStorage = debitingStorage; - _cardStorage = cardStorage; } public CashWithdrawalViewModel? ReadElement(CashWithdrawalSearchModel model) @@ -81,32 +78,19 @@ namespace BankYouBankruptBusinessLogic.BusinessLogics if (flag) { - //проверка на то, что карта не просрочилась - if (CheckCardPeriod(model)) + if (_cashWithdrawalStorage.Insert(model) == null) { - if (_cashWithdrawalStorage.Insert(model) == null) - { - _logger.LogWarning("Insert operation failed"); + _logger.LogWarning("Insert operation failed"); - return false; - } - - _debitingStorage.Update(new DebitingBindingModel - { - Id = model.DebitingId, - DateClose = DateTime.Now, - Status = StatusEnum.Закрыта - }); + return false; } - else + + _debitingStorage.Update(new DebitingBindingModel { - _debitingStorage.Update(new DebitingBindingModel - { - Id = model.DebitingId, - DateClose = DateTime.Now, - Status = StatusEnum.Карта_просрочена - }); - } + Id = model.DebitingId, + DateClose = DateTime.Now, + Status = StatusEnum.Закрыта + }); } else { @@ -186,26 +170,5 @@ namespace BankYouBankruptBusinessLogic.BusinessLogics _logger.LogInformation("CashWithdrawal: AccountId:{AccountId}. Sum:{Sum}. DateOperation:{DateOperation}. Id:{Id}", model.AccountId, model.Sum, model.DateOperation, model?.Id); } - - bool CheckCardPeriod(CashWithdrawalBindingModel model) - { - var debiting = _debitingStorage.GetElement(new DebitingSearchModel - { - Id = model.DebitingId - }); - - var card = _cardStorage.GetElement(new CardSearchModel - { - Id = debiting.CardId - }); - - //если карта просрочена - if(card.Period < DateTime.Now) - { - return false; - } - - return true; - } } } diff --git a/BankYouBankrupt/BankYouBankruptBusinessLogic/BusinessLogics/CreditingLogic.cs b/BankYouBankrupt/BankYouBankruptBusinessLogic/BusinessLogics/CreditingLogic.cs index ea54126..6fb7a0e 100644 --- a/BankYouBankrupt/BankYouBankruptBusinessLogic/BusinessLogics/CreditingLogic.cs +++ b/BankYouBankrupt/BankYouBankruptBusinessLogic/BusinessLogics/CreditingLogic.cs @@ -9,6 +9,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; using BankYouBankruptContracts.ViewModels.Client.Default; +using BankYouBankruptDataModels.Enums; namespace BankYouBankruptBusinessLogic.BusinessLogics { @@ -16,16 +17,27 @@ namespace BankYouBankruptBusinessLogic.BusinessLogics { private readonly ILogger _logger; private readonly ICreditingStorage _creditingStorage; + private readonly ICardStorage _cardStorage; - public CreditingLogic(ILogger logger, ICreditingStorage creditingStorage) { + public CreditingLogic(ILogger logger, ICreditingStorage creditingStorage, ICardStorage cardStorage) { _logger = logger; _creditingStorage = creditingStorage; + _cardStorage = cardStorage; } public bool Create(CreditingBindingModel model) { CheckModel(model); + if (!CheckCardPeriod(model)) + { + model.Status = StatusEnum.Карта_просрочена; + } + else + { + model.Status = StatusEnum.Открыта; + } + if (_creditingStorage.Insert(model) == null) { _logger.LogWarning("Insert operation failed"); @@ -111,5 +123,22 @@ namespace BankYouBankruptBusinessLogic.BusinessLogics _logger.LogInformation("Crediting. Sum:{Sum}.CardId:{CardId}.Date:{date}.Id:{Id}", model.Sum, model.CardId, model.DateOpen.ToString(), model.Id); } - } + + //проверка карты на просроченность + bool CheckCardPeriod(CreditingBindingModel model) + { + var card = _cardStorage.GetElement(new CardSearchModel + { + Id = model.CardId + }); + + //если карта просрочена + if (card.Period < DateTime.Now) + { + return false; + } + + return true; + } + } } diff --git a/BankYouBankrupt/BankYouBankruptBusinessLogic/BusinessLogics/DebitingLogic.cs b/BankYouBankrupt/BankYouBankruptBusinessLogic/BusinessLogics/DebitingLogic.cs index c3e5d49..95331e0 100644 --- a/BankYouBankrupt/BankYouBankruptBusinessLogic/BusinessLogics/DebitingLogic.cs +++ b/BankYouBankrupt/BankYouBankruptBusinessLogic/BusinessLogics/DebitingLogic.cs @@ -9,27 +9,43 @@ using System.Linq; using System.Text; using System.Threading.Tasks; using BankYouBankruptContracts.ViewModels.Client.Default; +using BankYouBankruptDataModels.Enums; namespace BankYouBankruptBusinessLogic.BusinessLogics { public class DebitingLogic : IDebitingLogic { private readonly ILogger _logger; + private readonly IDebitingStorage _debitingStorage; - public DebitingLogic(ILogger logger, IDebitingStorage debitingStorage) { + private readonly ICardStorage _cardStorage; + + public DebitingLogic(ILogger logger, IDebitingStorage debitingStorage, ICardStorage cardStorage) { _logger = logger; _debitingStorage = debitingStorage; + _cardStorage = cardStorage; } public bool Create(DebitingBindingModel model) { CheckModel(model); - if (_debitingStorage.Insert(model) == null) + + if (!CheckCardPeriod(model)) + { + model.Status = StatusEnum.Карта_просрочена; + } + else + { + model.Status = StatusEnum.Открыта; + } + + if (_debitingStorage.Insert(model) == null) { _logger.LogWarning("Insert operation failed"); return false; } + return true; } @@ -111,5 +127,22 @@ namespace BankYouBankruptBusinessLogic.BusinessLogics _logger.LogInformation("Debiting. Sum:{Sum}.CardId:{CardId}.DateOpen:{DateOpen}.DateOpen:{DateOpen}.Id:{Id}", model.Sum, model.CardId, model.DateOpen.ToString(), model.DateClose.ToString(), model.Id); } - } + + //проверка карты на просроченность + bool CheckCardPeriod(DebitingBindingModel model) + { + var card = _cardStorage.GetElement(new CardSearchModel + { + Id = model.CardId + }); + + //если карта просрочена + if (card.Period < DateTime.Now) + { + return false; + } + + return true; + } + } } diff --git a/BankYouBankrupt/BankYouBankruptClientApp/Views/Home/CreditingList.cshtml b/BankYouBankrupt/BankYouBankruptClientApp/Views/Home/CreditingList.cshtml index 54649be..9b7d1b0 100644 --- a/BankYouBankrupt/BankYouBankruptClientApp/Views/Home/CreditingList.cshtml +++ b/BankYouBankrupt/BankYouBankruptClientApp/Views/Home/CreditingList.cshtml @@ -1,4 +1,5 @@ @using BankYouBankruptContracts.ViewModels.Client.Default +@using BankYouBankruptDataModels.Enums; @model List @@ -51,7 +52,7 @@ @Html.DisplayFor(modelItem => item.Sum) - @Html.DisplayFor(modelItem => item.Status) + @item.Status.ToString().Replace("_", " ") @Html.DisplayFor(modelItem => item.DateOpen) diff --git a/BankYouBankrupt/BankYouBankruptClientApp/Views/Home/DebitingList.cshtml b/BankYouBankrupt/BankYouBankruptClientApp/Views/Home/DebitingList.cshtml index 6956490..45e0ba7 100644 --- a/BankYouBankrupt/BankYouBankruptClientApp/Views/Home/DebitingList.cshtml +++ b/BankYouBankrupt/BankYouBankruptClientApp/Views/Home/DebitingList.cshtml @@ -51,7 +51,7 @@ @Html.DisplayFor(modelItem => item.Sum) - @Html.DisplayFor(modelItem => item.Status) + @item.Status.ToString().Replace("_", " ") @Html.DisplayFor(modelItem => item.DateOpen) diff --git a/BankYouBankrupt/BankYouBankruptDatabaseImplement/Models/Crediting.cs b/BankYouBankrupt/BankYouBankruptDatabaseImplement/Models/Crediting.cs index 0f57947..5c2a9dd 100644 --- a/BankYouBankrupt/BankYouBankruptDatabaseImplement/Models/Crediting.cs +++ b/BankYouBankrupt/BankYouBankruptDatabaseImplement/Models/Crediting.cs @@ -56,7 +56,8 @@ namespace BankYouBankruptDatabaseImplement.Models CardId = model.CardId, Card = context.Cards.First(x => x.Id == model.CardId), Sum = model.Sum, - DateOpen = model.DateOpen + DateOpen = model.DateOpen, + Status = model.Status }; } diff --git a/BankYouBankrupt/BankYouBankruptDatabaseImplement/Models/Debiting.cs b/BankYouBankrupt/BankYouBankruptDatabaseImplement/Models/Debiting.cs index b77b3c6..ffaf097 100644 --- a/BankYouBankrupt/BankYouBankruptDatabaseImplement/Models/Debiting.cs +++ b/BankYouBankrupt/BankYouBankruptDatabaseImplement/Models/Debiting.cs @@ -51,7 +51,7 @@ namespace BankYouBankruptDatabaseImplement.Models Card = context.Cards.First(x => x.Id == model.CardId), Sum = model.Sum, DateOpen = model.DateOpen, - Status = StatusEnum.Открыта + Status = model.Status }; } diff --git a/BankYouBankrupt/BankYouBankruptRestAPI/Controllers/CardController.cs b/BankYouBankrupt/BankYouBankruptRestAPI/Controllers/CardController.cs index d60b8dc..12b1f3b 100644 --- a/BankYouBankrupt/BankYouBankruptRestAPI/Controllers/CardController.cs +++ b/BankYouBankrupt/BankYouBankruptRestAPI/Controllers/CardController.cs @@ -48,7 +48,6 @@ namespace BankYouBankruptRestApi.Controllers } - [HttpGet] public List? GetUsersCardsList(int id) { diff --git a/BankYouBankrupt/BankYouBankruptRestAPI/Отчёт по снятиям.docx b/BankYouBankrupt/BankYouBankruptRestAPI/Отчёт по снятиям.docx index bbd9c22762acb0adf8e23bb33ff28592ae44ff92..1dbe71218a4fdb4b9374f7efb13368ae8b6ddb92 100644 GIT binary patch delta 1112 zcmV-e1gHCo3iS?uP)h>@6aWAS2mpW_v{v5v?q!(+002c}000pH004Jya%3-LZ)0_B zWo~pXcx`O$ozHI5FdWBUCCZ)VPn)ib)=h!~95^75;M^u|7nCNEFo6&^ zkoE@Kv?4UN@(Ru?@Fe__w1tVPr8k;XCC5%`=ah;I& zT7ph_R~v-fjd}lU;O|{h*;WXL{-28y&sl>;#RLojtqD`Z;c}9GhIhF0tzZ%$? z+gT|nmab1TUhlegCry!O;%sB)ljsLfp6c!$rD*W~bxJipTk724&GbYn;4u)Iu8((YG&&pO-N z<&LKT|NmS1O7|PtYZGtqO4q1oqE{hZGwK!Hs+hWID5hzf4cn}(Y^r$&T`V}T00)2r zzyaU@Z~!=18xD$z23u1!s4B*`ZPaaZyOd~uumv;#8UPJ|20#O#!FnTT@yWo{ZOgE& zdMU|Zk=lhB11c<&+H;c?~!K8~_dg2Y>^> z!BW{kFUO>UMRZ`6k`9bTw-4#}tUADd zsspS#z=FhljQpU;iM&XL@?2iX2@RIla$HV2SR|T2J%D-u^#JMt)B~sotJQ;o$_I_# z@?+tre;KUnmb2Pgu?J8Ppddg&fPw&F1!2wqvCV4TsufZ`z!HQxAK>8!-~;dh_yBwW zK3H!Mtyy)`T(rI&d=N87o#&&;s9K_U)oS_Hc-grZpC;W)X%#DFJtaIRTraz5*T;J)J(e3AyLNY) zEf9##j4te78@t)<_MwP+-2;|OR(qMv_VbTCx^$83)2VuSyK{aOHE&v$yP{OF_H zZQEyNdrJS{jl(40Eg$N zhYzJT-(r?!6fiYSF*P+YHcYlOPBSq!H=WGRD#s+rv{{|Cn~@JS=qDdwGgJTxfplvD kV*-S^8IVCN<77d0Nud78I_xq`8<-}0v8%FKvw)NU0PZTY8~^|S