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