Правки.
This commit is contained in:
parent
e0cb9ade43
commit
a94d30e65d
@ -16,10 +16,12 @@ namespace BankYouBankruptBusinessLogic.BusinessLogics
|
|||||||
{
|
{
|
||||||
private readonly ILogger _logger;
|
private readonly ILogger _logger;
|
||||||
private readonly ICardStorage _cardStorage;
|
private readonly ICardStorage _cardStorage;
|
||||||
|
private readonly IAccountStorage _accountStorage;
|
||||||
|
|
||||||
public CardLogic(ILogger<CardLogic> logger, ICardStorage cardStorage) {
|
public CardLogic(ILogger<CardLogic> logger, ICardStorage cardStorage, IAccountStorage accountStorage) {
|
||||||
_logger = logger;
|
_logger = logger;
|
||||||
_cardStorage = cardStorage;
|
_cardStorage = cardStorage;
|
||||||
|
_accountStorage = accountStorage;
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool Create(CardBindingModel model)
|
public bool Create(CardBindingModel model)
|
||||||
@ -108,15 +110,27 @@ namespace BankYouBankruptBusinessLogic.BusinessLogics
|
|||||||
{
|
{
|
||||||
throw new ArgumentNullException("Нет периода действия", nameof(model.Period));
|
throw new ArgumentNullException("Нет периода действия", nameof(model.Period));
|
||||||
}
|
}
|
||||||
var element = _cardStorage.GetElement(new CardSearchModel
|
var cardElement = _cardStorage.GetElement(new CardSearchModel
|
||||||
{
|
{
|
||||||
Number = model.Number,
|
Number = model.Number,
|
||||||
});
|
});
|
||||||
|
|
||||||
if (element != null && element.Id != model.Id)
|
if (cardElement != null && cardElement.Id != model.Id)
|
||||||
{
|
{
|
||||||
throw new InvalidOperationException("Карта с таким ноиером уже есть");
|
throw new InvalidOperationException("Карта с таким ноиером уже есть");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var accountElement = _accountStorage.GetElement(new AccountSearchModel
|
||||||
|
{
|
||||||
|
Id = model.AccountId,
|
||||||
|
ClientId = model.ClientID
|
||||||
|
});
|
||||||
|
|
||||||
|
if (accountElement != null && accountElement.ClientId != model.ClientID)
|
||||||
|
{
|
||||||
|
throw new InvalidOperationException("Это не счёт данного клиента");
|
||||||
|
}
|
||||||
|
|
||||||
_logger.LogInformation("Card. Number:{Number}.CVC:{CVC}.ClientId:{ClientID}.Patronymic:{Period}.Id:{Id}",
|
_logger.LogInformation("Card. Number:{Number}.CVC:{CVC}.ClientId:{ClientID}.Patronymic:{Period}.Id:{Id}",
|
||||||
model.Number, model.CVC, model.Period.ToString(), model.ClientID, model.Id);
|
model.Number, model.CVC, model.Period.ToString(), model.ClientID, model.Id);
|
||||||
}
|
}
|
||||||
|
@ -12,7 +12,7 @@ using System.Threading.Tasks;
|
|||||||
|
|
||||||
namespace BankYouBankruptBusinessLogic.BusinessLogics
|
namespace BankYouBankruptBusinessLogic.BusinessLogics
|
||||||
{
|
{
|
||||||
public class CashierLogic : IAccountLogic
|
public class CashierLogic : ICashierLogic
|
||||||
{
|
{
|
||||||
private readonly ILogger _logger;
|
private readonly ILogger _logger;
|
||||||
|
|
||||||
|
@ -41,7 +41,8 @@ namespace BankYouBankruptDatabaseImplement.Models
|
|||||||
public CardViewModel GetViewModel => new()
|
public CardViewModel GetViewModel => new()
|
||||||
{
|
{
|
||||||
Id = Id,
|
Id = Id,
|
||||||
ClientID = ClientID,
|
AccountId = AccountId,
|
||||||
|
ClientID = ClientID,
|
||||||
ClientSurname = Client.Surname,
|
ClientSurname = Client.Surname,
|
||||||
Number = Number,
|
Number = Number,
|
||||||
Period = Period,
|
Period = Period,
|
||||||
@ -53,6 +54,7 @@ namespace BankYouBankruptDatabaseImplement.Models
|
|||||||
return new Card()
|
return new Card()
|
||||||
{
|
{
|
||||||
Id = model.Id,
|
Id = model.Id,
|
||||||
|
AccountId = model.AccountId,
|
||||||
ClientID = model.ClientID,
|
ClientID = model.ClientID,
|
||||||
Client = context.Clients.First(x => x.Id == model.ClientID),
|
Client = context.Clients.First(x => x.Id == model.ClientID),
|
||||||
Number = model.Number,
|
Number = model.Number,
|
||||||
|
@ -21,7 +21,7 @@ builder.Services.AddTransient<IDebitingStorage, DebitingStorage>();
|
|||||||
builder.Services.AddTransient<ICashWithdrawalStorage, CashWithdrawalStorage>();
|
builder.Services.AddTransient<ICashWithdrawalStorage, CashWithdrawalStorage>();
|
||||||
|
|
||||||
builder.Services.AddTransient<IClientLogic, ClientLogic>();
|
builder.Services.AddTransient<IClientLogic, ClientLogic>();
|
||||||
builder.Services.AddTransient<IAccountLogic, CashierLogic>();
|
builder.Services.AddTransient<ICashierLogic, CashierLogic>();
|
||||||
builder.Services.AddTransient<IAccountLogic, AccountLogic>();
|
builder.Services.AddTransient<IAccountLogic, AccountLogic>();
|
||||||
builder.Services.AddTransient<ICardLogic, CardLogic>();
|
builder.Services.AddTransient<ICardLogic, CardLogic>();
|
||||||
builder.Services.AddTransient<ICreditingLogic, CreditingLogic>();
|
builder.Services.AddTransient<ICreditingLogic, CreditingLogic>();
|
||||||
|
Loading…
Reference in New Issue
Block a user