ПДФ отсылаются :)
This commit is contained in:
parent
da1ee4dc02
commit
5aea0a136f
@ -1,4 +1,5 @@
|
|||||||
using BankYouBankruptBusinessLogic.OfficePackage;
|
using BankYouBankruptBusinessLogic.MailWorker;
|
||||||
|
using BankYouBankruptBusinessLogic.OfficePackage;
|
||||||
using BankYouBankruptBusinessLogic.OfficePackage.HelperModels;
|
using BankYouBankruptBusinessLogic.OfficePackage.HelperModels;
|
||||||
using BankYouBankruptContracts.BindingModels;
|
using BankYouBankruptContracts.BindingModels;
|
||||||
using BankYouBankruptContracts.BusinessLogicsContracts;
|
using BankYouBankruptContracts.BusinessLogicsContracts;
|
||||||
@ -18,26 +19,22 @@ namespace BankYouBankruptBusinessLogic.BusinessLogics
|
|||||||
public class ReportCashierLogic : IReportCashierLogic
|
public class ReportCashierLogic : IReportCashierLogic
|
||||||
{
|
{
|
||||||
private readonly IMoneyTransferStorage _moneyTransferStorage;
|
private readonly IMoneyTransferStorage _moneyTransferStorage;
|
||||||
|
|
||||||
private readonly ICashWithdrawalStorage _cashWithdrawalStorage;
|
private readonly ICashWithdrawalStorage _cashWithdrawalStorage;
|
||||||
|
|
||||||
private readonly IClientStorage _clientStorage;
|
private readonly IClientStorage _clientStorage;
|
||||||
|
|
||||||
private readonly IDebitingStorage _debitingStorage;
|
private readonly IDebitingStorage _debitingStorage;
|
||||||
|
|
||||||
private readonly ICardStorage _cardStorage;
|
private readonly ICardStorage _cardStorage;
|
||||||
|
|
||||||
private readonly AbstractSaveToExcel _saveToExcel;
|
private readonly AbstractSaveToExcel _saveToExcel;
|
||||||
|
|
||||||
private readonly AbstractSaveToWord _saveToWord;
|
private readonly AbstractSaveToWord _saveToWord;
|
||||||
|
|
||||||
private readonly AbstractSaveToPdf _saveToPdf;
|
private readonly AbstractSaveToPdf _saveToPdf;
|
||||||
|
|
||||||
//инициализируем поля класса через контейнер
|
private readonly MailKitWorker _mailKitWorker;
|
||||||
public ReportCashierLogic(IMoneyTransferStorage moneyTransferStorage, ICashWithdrawalStorage cashWithdrawalStorage,
|
|
||||||
|
//инициализируем поля класса через контейнер
|
||||||
|
public ReportCashierLogic(IMoneyTransferStorage moneyTransferStorage, ICashWithdrawalStorage cashWithdrawalStorage,
|
||||||
IClientStorage clientStorage, AbstractSaveToExcel saveToExcel,
|
IClientStorage clientStorage, AbstractSaveToExcel saveToExcel,
|
||||||
AbstractSaveToWord saveToWord, AbstractSaveToPdf saveToPdf,
|
AbstractSaveToWord saveToWord, AbstractSaveToPdf saveToPdf,
|
||||||
IDebitingStorage debitingStorage, ICardStorage cardStorage)
|
IDebitingStorage debitingStorage, ICardStorage cardStorage, MailKitWorker mailKitWorker)
|
||||||
{
|
{
|
||||||
_moneyTransferStorage = moneyTransferStorage;
|
_moneyTransferStorage = moneyTransferStorage;
|
||||||
_cashWithdrawalStorage = cashWithdrawalStorage;
|
_cashWithdrawalStorage = cashWithdrawalStorage;
|
||||||
@ -48,6 +45,8 @@ namespace BankYouBankruptBusinessLogic.BusinessLogics
|
|||||||
_clientStorage = clientStorage;
|
_clientStorage = clientStorage;
|
||||||
_debitingStorage = debitingStorage;
|
_debitingStorage = debitingStorage;
|
||||||
_cardStorage = cardStorage;
|
_cardStorage = cardStorage;
|
||||||
|
|
||||||
|
_mailKitWorker = mailKitWorker;
|
||||||
}
|
}
|
||||||
|
|
||||||
//формирование списка переводов между счетами за период
|
//формирование списка переводов между счетами за период
|
||||||
@ -121,8 +120,8 @@ namespace BankYouBankruptBusinessLogic.BusinessLogics
|
|||||||
return client.Surname + " " + client.Name + " " + client.Patronymic;
|
return client.Surname + " " + client.Name + " " + client.Patronymic;
|
||||||
}
|
}
|
||||||
|
|
||||||
//Сохранение мороженных в файл-Word
|
//Сохранение мороженных в файл-Word
|
||||||
public void SaveAccountsToWordFile(ReportBindingModel model)
|
public void SaveAccountsToWordFile(ReportBindingModel model)
|
||||||
{
|
{
|
||||||
_saveToWord.CreateDoc(new WordInfo
|
_saveToWord.CreateDoc(new WordInfo
|
||||||
{
|
{
|
||||||
@ -165,8 +164,20 @@ namespace BankYouBankruptBusinessLogic.BusinessLogics
|
|||||||
ReportCashWithdrawal = listCashWithdrawals
|
ReportCashWithdrawal = listCashWithdrawals
|
||||||
});
|
});
|
||||||
|
|
||||||
//возврат полученных списков для отображения на вебе
|
byte[] pdf = System.IO.File.ReadAllBytes("C:\\Users\\Programmist73\\Desktop\\Практика\\2-й курс\\4-й семестр\\CourseWork_BankYouBankrupt\\BankYouBankrupt\\BankYouBankruptRestAPI\\Отчёт_по_счетам.pdf");
|
||||||
return new ReportCashierViewModelForHTML
|
|
||||||
|
_mailKitWorker.SendMailAsync(new()
|
||||||
|
{
|
||||||
|
MailAddress = model.Email,
|
||||||
|
Subject = "Отчёт по счетам",
|
||||||
|
Text = $"За период с {model.DateFrom} " +
|
||||||
|
$"по {model.DateTo}.",
|
||||||
|
File = pdf,
|
||||||
|
Role = model.Role
|
||||||
|
});
|
||||||
|
|
||||||
|
//возврат полученных списков для отображения на вебе
|
||||||
|
return new ReportCashierViewModelForHTML
|
||||||
{
|
{
|
||||||
ReportCashWithdrawal = listCashWithdrawals,
|
ReportCashWithdrawal = listCashWithdrawals,
|
||||||
|
|
||||||
|
@ -149,15 +149,6 @@ namespace BankYouBankruptBusinessLogic.BusinessLogics
|
|||||||
return totalList;
|
return totalList;
|
||||||
}
|
}
|
||||||
|
|
||||||
public string GetClientEmail(ReportBindingModel model)
|
|
||||||
{
|
|
||||||
return _clientStorage.GetElement(new ClientSearchModel
|
|
||||||
{
|
|
||||||
Id = model.ClientId
|
|
||||||
}).Email;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public void SaveToExcelFile(ReportBindingModel model, OfficeOperationEnum operationEnum)
|
public void SaveToExcelFile(ReportBindingModel model, OfficeOperationEnum operationEnum)
|
||||||
{
|
{
|
||||||
if(operationEnum == OfficeOperationEnum.Между_cчетами)
|
if(operationEnum == OfficeOperationEnum.Между_cчетами)
|
||||||
@ -244,7 +235,7 @@ namespace BankYouBankruptBusinessLogic.BusinessLogics
|
|||||||
|
|
||||||
_mailKitWorker.SendMailAsync(new()
|
_mailKitWorker.SendMailAsync(new()
|
||||||
{
|
{
|
||||||
MailAddress = GetClientEmail(model),
|
MailAddress = model.Email,
|
||||||
Subject = "Отчёт по картам",
|
Subject = "Отчёт по картам",
|
||||||
Text = $"За период с {model.DateFrom} " +
|
Text = $"За период с {model.DateFrom} " +
|
||||||
$"по {model.DateTo}.",
|
$"по {model.DateTo}.",
|
||||||
|
@ -602,6 +602,7 @@ namespace BankYouBankruptCashierApp.Controllers
|
|||||||
return View(APICashier.PostRequestReport<ReportCashierViewModelForHTML, ReportSupportBindingModel>("api/Report/CreateCashierReport", new ReportSupportBindingModel()
|
return View(APICashier.PostRequestReport<ReportCashierViewModelForHTML, ReportSupportBindingModel>("api/Report/CreateCashierReport", new ReportSupportBindingModel()
|
||||||
{
|
{
|
||||||
ClientId = clientId,
|
ClientId = clientId,
|
||||||
|
Email = APICashier.Cashier.Email,
|
||||||
DateFrom = dateFrom,
|
DateFrom = dateFrom,
|
||||||
DateTo = dateTo
|
DateTo = dateTo
|
||||||
}));
|
}));
|
||||||
|
@ -306,7 +306,7 @@ namespace BankYouBankruptClientApp.Controllers
|
|||||||
}
|
}
|
||||||
|
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
public IActionResult CreateReport(DateTime dateFrom, DateTime dateTo, int clientId)
|
public IActionResult CreateReport(DateTime dateFrom, DateTime dateTo)
|
||||||
{
|
{
|
||||||
if (APIClient.Client == null)
|
if (APIClient.Client == null)
|
||||||
{
|
{
|
||||||
@ -319,7 +319,7 @@ namespace BankYouBankruptClientApp.Controllers
|
|||||||
{
|
{
|
||||||
DateFrom = dateFrom,
|
DateFrom = dateFrom,
|
||||||
DateTo = dateTo,
|
DateTo = dateTo,
|
||||||
ClientId = clientId
|
Email = APIClient.Client.Email
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -25,5 +25,7 @@ namespace BankYouBankruptContracts.BindingModels
|
|||||||
public DateTime? DateTo { get; set; }
|
public DateTime? DateTo { get; set; }
|
||||||
|
|
||||||
public MailsEnum Role { get; set; }
|
public MailsEnum Role { get; set; }
|
||||||
|
|
||||||
|
public string? Email { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -20,5 +20,7 @@ namespace BankYouBankruptContracts.BindingModels
|
|||||||
|
|
||||||
//для Excel отчёта клиента
|
//для Excel отчёта клиента
|
||||||
public List<int>? CardList { get; set; }
|
public List<int>? CardList { get; set; }
|
||||||
|
|
||||||
|
public string? Email { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -49,7 +49,7 @@ namespace BankYouBankruptRestAPI.Controllers
|
|||||||
DateFrom = model.DateFrom,
|
DateFrom = model.DateFrom,
|
||||||
DateTo = model.DateTo,
|
DateTo = model.DateTo,
|
||||||
Role = MailsEnum.Клиент,
|
Role = MailsEnum.Клиент,
|
||||||
ClientId = model.ClientId
|
Email = model.Email
|
||||||
});
|
});
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
@ -72,8 +72,10 @@ namespace BankYouBankruptRestAPI.Controllers
|
|||||||
FileName = "Отчёт_по_счетам.pdf",
|
FileName = "Отчёт_по_счетам.pdf",
|
||||||
ClientId = model.ClientId,
|
ClientId = model.ClientId,
|
||||||
DateFrom = model.DateFrom,
|
DateFrom = model.DateFrom,
|
||||||
DateTo = model.DateTo
|
DateTo = model.DateTo,
|
||||||
});
|
Role = MailsEnum.Кассир,
|
||||||
|
Email = model.Email
|
||||||
|
});
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
Binary file not shown.
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user