Check commit.

This commit is contained in:
Programmist73 2023-05-18 00:47:56 +04:00
parent 48f0dcb771
commit f13a3e428c
10 changed files with 62 additions and 22 deletions

View File

@ -84,7 +84,7 @@ namespace BankYouBankruptBusinessLogic.BusinessLogics
//отчёт в формате PDF для клиента //отчёт в формате PDF для клиента
public void SaveClientReportToPdfFile(ReportBindingModel model) public void SaveClientReportToPdfFile(ReportBindingModel model)
{ {
_saveToPdf.CreateDoc(new PdfInfoClient _saveToPdf.CreateDoc(new PdfInfo
{ {
FileName = model.FileName, FileName = model.FileName,
Title = "Отчёт по операциям с картой", Title = "Отчёт по операциям с картой",

View File

@ -11,7 +11,7 @@ namespace BankYouBankruptBusinessLogic.OfficePackage
public abstract class AbstractSaveToPdfCashier public abstract class AbstractSaveToPdfCashier
{ {
//публичный метод создания документа. Описание методов ниже //публичный метод создания документа. Описание методов ниже
public void CreateDoc(PdfInfoClient info) public void CreateDoc(PdfInfo info)
{ {
CreatePdf(info); CreatePdf(info);
@ -38,7 +38,7 @@ namespace BankYouBankruptBusinessLogic.OfficePackage
ParagraphAlignment = PdfParagraphAlignmentType.Center ParagraphAlignment = PdfParagraphAlignmentType.Center
}); });
foreach (var report in info.ReportAccounts) foreach (var report in info.Accounts)
{ {
CreateRow(new PdfRowParameters CreateRow(new PdfRowParameters
{ {
@ -54,7 +54,7 @@ namespace BankYouBankruptBusinessLogic.OfficePackage
} }
/// Создание pdf-файла /// Создание pdf-файла
protected abstract void CreatePdf(PdfInfoClient info); protected abstract void CreatePdf(PdfInfo info);
/// Создание параграфа с текстом /// Создание параграфа с текстом
protected abstract void CreateParagraph(PdfParagraph paragraph); protected abstract void CreateParagraph(PdfParagraph paragraph);
@ -66,6 +66,6 @@ namespace BankYouBankruptBusinessLogic.OfficePackage
protected abstract void CreateRow(PdfRowParameters rowParameters); protected abstract void CreateRow(PdfRowParameters rowParameters);
/// Сохранение файла /// Сохранение файла
protected abstract void SavePdf(PdfInfoClient info); protected abstract void SavePdf(PdfInfo info);
} }
} }

View File

@ -11,7 +11,7 @@ namespace BankYouBankruptBusinessLogic.OfficePackage
public abstract class AbstractSaveToPdfClient public abstract class AbstractSaveToPdfClient
{ {
//публичный метод создания документа. Описание методов ниже //публичный метод создания документа. Описание методов ниже
public void CreateDoc(PdfInfoClient info) public void CreateDoc(PdfInfo info)
{ {
CreatePdf(info); CreatePdf(info);
@ -66,7 +66,7 @@ namespace BankYouBankruptBusinessLogic.OfficePackage
} }
/// Создание pdf-файла /// Создание pdf-файла
protected abstract void CreatePdf(PdfInfoClient info); protected abstract void CreatePdf(PdfInfo info);
/// Создание параграфа с текстом /// Создание параграфа с текстом
protected abstract void CreateParagraph(PdfParagraph paragraph); protected abstract void CreateParagraph(PdfParagraph paragraph);
@ -78,6 +78,6 @@ namespace BankYouBankruptBusinessLogic.OfficePackage
protected abstract void CreateRow(PdfRowParameters rowParameters); protected abstract void CreateRow(PdfRowParameters rowParameters);
/// Сохранение файла /// Сохранение файла
protected abstract void SavePdf(PdfInfoClient info); protected abstract void SavePdf(PdfInfo info);
} }
} }

View File

@ -8,7 +8,7 @@ using System.Threading.Tasks;
namespace BankYouBankruptBusinessLogic.OfficePackage.HelperModels namespace BankYouBankruptBusinessLogic.OfficePackage.HelperModels
{ {
//общая информация по pdf файлу //общая информация по pdf файлу
public class PdfInfoClient public class PdfInfo
{ {
public string FileName { get; set; } = string.Empty; public string FileName { get; set; } = string.Empty;
@ -23,5 +23,8 @@ namespace BankYouBankruptBusinessLogic.OfficePackage.HelperModels
//перечень заказов за указанный период для вывода/сохранения //перечень заказов за указанный период для вывода/сохранения
public List<ReportClientViewModel> ReportDebiting { get; set; } = new(); public List<ReportClientViewModel> ReportDebiting { get; set; } = new();
}
//перечень счетов для отчёта кассира
public List<ReportCashierViewModel> Accounts { get; set; } = new();
}
} }

View File

@ -44,7 +44,7 @@ namespace BankYouBankruptBusinessLogic.OfficePackage.Implements
style.Font.Bold = true; style.Font.Bold = true;
} }
protected override void CreatePdf(PdfInfoClient info) protected override void CreatePdf(PdfInfo info)
{ {
//создаём документ //создаём документ
_document = new Document(); _document = new Document();
@ -117,7 +117,7 @@ namespace BankYouBankruptBusinessLogic.OfficePackage.Implements
} }
} }
protected override void SavePdf(PdfInfoClient info) protected override void SavePdf(PdfInfo info)
{ {
var renderer = new PdfDocumentRenderer(true) var renderer = new PdfDocumentRenderer(true)
{ {

View File

@ -209,7 +209,6 @@ namespace BankYouBankruptClientApp.Controllers
return Redirect("~/Home/Enter"); return Redirect("~/Home/Enter");
} }
ViewBag.Cards = APIClient.GetRequest<List<CardViewModel>>($"api/Card/GetAllCards").Select(x => new ClientSelectViewModel ViewBag.Cards = APIClient.GetRequest<List<CardViewModel>>($"api/Card/GetAllCards").Select(x => new ClientSelectViewModel
{ {
Id = x.Id, Id = x.Id,
@ -240,18 +239,32 @@ namespace BankYouBankruptClientApp.Controllers
#endregion #endregion
#region Получение отчёта #region Получение отчёта PDF
[HttpGet] [HttpGet]
public IActionResult CreateReport() public IActionResult CreateReport()
{ {
if (APIClient.Client == null)
{
return Redirect("~/Home/Enter");
}
return View(); return View();
} }
[HttpPost] [HttpPost]
public void CreateReport(DateTime DateFrom, DateTime DateTo) public void CreateReport(DateTime dateFrom, DateTime dateTo)
{ {
if (APIClient.Client == null)
{
throw new Exception("Не авторизованы");
}
APIClient.PostRequest("/api/Report/CreateClientReport", new ReportBindingModel()
{
DateFrom = dateFrom,
DateTo = dateTo
});
} }
#endregion #endregion
@ -283,6 +296,7 @@ namespace BankYouBankruptClientApp.Controllers
} }
List<int> cardList = cards.Where(x => x.IsChecked).Select(x => x.Id).ToList(); List<int> cardList = cards.Where(x => x.IsChecked).Select(x => x.Id).ToList();
List<ReportViewModel> creditings = APIClient.GetRequest<List<CreditingViewModel>>($"api/Client/getUsersCreditings?userId={APIClient.Client.Id}") List<ReportViewModel> creditings = APIClient.GetRequest<List<CreditingViewModel>>($"api/Client/getUsersCreditings?userId={APIClient.Client.Id}")
.Where(x => cardList.Contains(x.CardId)).Select(x => new ReportViewModel() { .Where(x => cardList.Contains(x.CardId)).Select(x => new ReportViewModel() {
Id = x.Id, Id = x.Id,
@ -294,6 +308,7 @@ namespace BankYouBankruptClientApp.Controllers
Sum = x.Sum, Sum = x.Sum,
TypeOperation = TypeOperationEnum.Пополнение TypeOperation = TypeOperationEnum.Пополнение
}).ToList(); }).ToList();
List<ReportViewModel> debitings = APIClient.GetRequest<List<DebitingViewModel>>($"api/Client/getUsersDebitings?userId={APIClient.Client.Id}") List<ReportViewModel> debitings = APIClient.GetRequest<List<DebitingViewModel>>($"api/Client/getUsersDebitings?userId={APIClient.Client.Id}")
.Where(x => cardList.Contains(x.CardId)).Select(x => new ReportViewModel() .Where(x => cardList.Contains(x.CardId)).Select(x => new ReportViewModel()
{ {
@ -306,13 +321,13 @@ namespace BankYouBankruptClientApp.Controllers
Sum = x.Sum, Sum = x.Sum,
TypeOperation = TypeOperationEnum.Снятие TypeOperation = TypeOperationEnum.Снятие
}).ToList(); }).ToList();
List<ReportViewModel> result = creditings.Concat(debitings).OrderBy(x => x.DateOpen).ToList(); List<ReportViewModel> result = creditings.Concat(debitings).OrderBy(x => x.DateOpen).ToList();
return View(new ReportClientCardsViewModel() return View(new ReportClientCardsViewModel()
{ {
Cards = cards, Cards = cards,
Operations = result, Operations = result,
}); });
} }
} }

View File

@ -1,5 +1,27 @@
@* @{
For more information on enabling MVC for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860 ViewData["Title"] = "Создание отчёта";
*@
@{
} }
<div class="text-center">
<h2 class="display-4">Отчёт по картам за выбранный период</h2>
</div>
<form method="post">
<div class="row">
<div class="col-4">Дата начала периода:</div>
<div class="col-8">
<input id="dateFrom" name="dateFrom" class="form-control" type="date" />
</div>
</div>
<div class="row">
<div class="col-4">Дата конца периода:</div>
<div class="col-8">
<input id="dateTo" name="dateTo" class="form-control" type="date" />
</div>
</div>
<div class="row">
<div class="col-8"></div>
<div class="col-4">
<input type="submit" value="Сформировать" class="btn btn-primary" />
</div>
</div>
</form>

View File

@ -38,7 +38,7 @@
<a class="nav-link text-dark" asparea="" asp-controller="Home" asp-action="ReportWithCards">Отчет по картам</a> <a class="nav-link text-dark" asparea="" asp-controller="Home" asp-action="ReportWithCards">Отчет по картам</a>
</li> </li>
<li class="nav-item"> <li class="nav-item">
<a class="nav-link text-dark" asparea="" asp-controller="Home" asp-action="CreateReport">Отчёт по картам</a> <a class="nav-link text-dark" asparea="" asp-controller="Home" asp-action="CreateReport">Отчёт за период</a>
</li> </li>
</ul> </ul>
} }

View File

@ -9,6 +9,7 @@ namespace BankYouBankruptDataModels.Enums
public enum TypeOperationEnum public enum TypeOperationEnum
{ {
Снятие = 1, Снятие = 1,
Пополнение = 2 Пополнение = 2
} }
} }

View File

@ -198,7 +198,6 @@ namespace BankYouBankruptRestApi.Controllers
{ {
try try
{ {
bool flag =_accountLogic.ChangeBalance(new AccountSearchModel bool flag =_accountLogic.ChangeBalance(new AccountSearchModel
{ {
Id = CashWithdrawal.AccountId Id = CashWithdrawal.AccountId