This commit is contained in:
shadowik 2023-05-20 04:14:49 +04:00
commit 4692ba437f
12 changed files with 87 additions and 16 deletions

View File

@ -21,7 +21,8 @@ namespace BankYouBankruptBusinessLogic.BusinessLogics
private readonly IDebitingStorage _debitingStorage;
public CashWithdrawalLogic(ILogger<CashWithdrawalLogic> logger, ICashWithdrawalStorage cashWithdrawalStorage, IDebitingStorage debitingStorage)
public CashWithdrawalLogic(ILogger<CashWithdrawalLogic> logger, ICashWithdrawalStorage cashWithdrawalStorage,
IDebitingStorage debitingStorage)
{
_logger = logger;
_cashWithdrawalStorage = cashWithdrawalStorage;

View File

@ -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<CreditingLogic> logger, ICreditingStorage creditingStorage) {
public CreditingLogic(ILogger<CreditingLogic> 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;
}
}
}

View File

@ -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<DebitingLogic> logger, IDebitingStorage debitingStorage) {
private readonly ICardStorage _cardStorage;
public DebitingLogic(ILogger<DebitingLogic> 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;
}
}
}

View File

@ -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
{
@ -507,9 +506,11 @@ namespace BankYouBankruptClientApp.Controllers
Operations = result,
});
}
#endregion
#endregion
[HttpGet]
#region Диаграмма
[HttpGet]
public IActionResult Diagram() {
if (APIClient.Client == null)
{
@ -537,5 +538,7 @@ namespace BankYouBankruptClientApp.Controllers
Elements = APIClient.GetRequest<List<ClientDiagramElementsViewModel>>($"api/Card/getCardMonthResult?cardId={cardId}")
});
}
}
#endregion
}
}

View File

@ -1,4 +1,5 @@
@using BankYouBankruptContracts.ViewModels.Client.Default
@using BankYouBankruptDataModels.Enums;
@model List<CreditingViewModel>
@ -51,7 +52,7 @@
@Html.DisplayFor(modelItem => item.Sum)
</td>
<td>
@Html.DisplayFor(modelItem => item.Status)
@item.Status.ToString().Replace("_", " ")
</td>
<td>
@Html.DisplayFor(modelItem => item.DateOpen)

View File

@ -51,7 +51,7 @@
@Html.DisplayFor(modelItem => item.Sum)
</td>
<td>
@Html.DisplayFor(modelItem => item.Status)
@item.Status.ToString().Replace("_", " ")
</td>
<td>
@Html.DisplayFor(modelItem => item.DateOpen)

View File

@ -1,4 +1,6 @@
@using BankYouBankruptContracts.ViewModels.Client.Reports;
@using Microsoft.JSInterop;
@inject IJSRuntime JS
@model ReportClientCardsViewModel

View File

@ -12,6 +12,8 @@ namespace BankYouBankruptDataModels.Enums
Закрыта = 1,
Отклонено = 2
Отклонено = 2,
Карта_просрочена = 3
}
}

View File

@ -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
};
}

View File

@ -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
};
}

View File

@ -48,7 +48,6 @@ namespace BankYouBankruptRestApi.Controllers
}
[HttpGet]
public List<CardViewModel>? GetUsersCardsList(int id)
{