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 для клиента
public void SaveClientReportToPdfFile(ReportBindingModel model)
{
_saveToPdf.CreateDoc(new PdfInfoClient
_saveToPdf.CreateDoc(new PdfInfo
{
FileName = model.FileName,
Title = "Отчёт по операциям с картой",

View File

@ -11,7 +11,7 @@ namespace BankYouBankruptBusinessLogic.OfficePackage
public abstract class AbstractSaveToPdfCashier
{
//публичный метод создания документа. Описание методов ниже
public void CreateDoc(PdfInfoClient info)
public void CreateDoc(PdfInfo info)
{
CreatePdf(info);
@ -38,7 +38,7 @@ namespace BankYouBankruptBusinessLogic.OfficePackage
ParagraphAlignment = PdfParagraphAlignmentType.Center
});
foreach (var report in info.ReportAccounts)
foreach (var report in info.Accounts)
{
CreateRow(new PdfRowParameters
{
@ -54,7 +54,7 @@ namespace BankYouBankruptBusinessLogic.OfficePackage
}
/// Создание pdf-файла
protected abstract void CreatePdf(PdfInfoClient info);
protected abstract void CreatePdf(PdfInfo info);
/// Создание параграфа с текстом
protected abstract void CreateParagraph(PdfParagraph paragraph);
@ -66,6 +66,6 @@ namespace BankYouBankruptBusinessLogic.OfficePackage
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 void CreateDoc(PdfInfoClient info)
public void CreateDoc(PdfInfo info)
{
CreatePdf(info);
@ -66,7 +66,7 @@ namespace BankYouBankruptBusinessLogic.OfficePackage
}
/// Создание pdf-файла
protected abstract void CreatePdf(PdfInfoClient info);
protected abstract void CreatePdf(PdfInfo info);
/// Создание параграфа с текстом
protected abstract void CreateParagraph(PdfParagraph paragraph);
@ -78,6 +78,6 @@ namespace BankYouBankruptBusinessLogic.OfficePackage
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
{
//общая информация по pdf файлу
public class PdfInfoClient
public class PdfInfo
{
public string FileName { get; set; } = string.Empty;
@ -23,5 +23,8 @@ namespace BankYouBankruptBusinessLogic.OfficePackage.HelperModels
//перечень заказов за указанный период для вывода/сохранения
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;
}
protected override void CreatePdf(PdfInfoClient info)
protected override void CreatePdf(PdfInfo info)
{
//создаём документ
_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)
{

View File

@ -209,7 +209,6 @@ namespace BankYouBankruptClientApp.Controllers
return Redirect("~/Home/Enter");
}
ViewBag.Cards = APIClient.GetRequest<List<CardViewModel>>($"api/Card/GetAllCards").Select(x => new ClientSelectViewModel
{
Id = x.Id,
@ -240,18 +239,32 @@ namespace BankYouBankruptClientApp.Controllers
#endregion
#region Получение отчёта
#region Получение отчёта PDF
[HttpGet]
public IActionResult CreateReport()
{
if (APIClient.Client == null)
{
return Redirect("~/Home/Enter");
}
return View();
}
[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
@ -283,6 +296,7 @@ namespace BankYouBankruptClientApp.Controllers
}
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}")
.Where(x => cardList.Contains(x.CardId)).Select(x => new ReportViewModel() {
Id = x.Id,
@ -294,6 +308,7 @@ namespace BankYouBankruptClientApp.Controllers
Sum = x.Sum,
TypeOperation = TypeOperationEnum.Пополнение
}).ToList();
List<ReportViewModel> debitings = APIClient.GetRequest<List<DebitingViewModel>>($"api/Client/getUsersDebitings?userId={APIClient.Client.Id}")
.Where(x => cardList.Contains(x.CardId)).Select(x => new ReportViewModel()
{
@ -306,13 +321,13 @@ namespace BankYouBankruptClientApp.Controllers
Sum = x.Sum,
TypeOperation = TypeOperationEnum.Снятие
}).ToList();
List<ReportViewModel> result = creditings.Concat(debitings).OrderBy(x => x.DateOpen).ToList();
return View(new ReportClientCardsViewModel()
{
Cards = cards,
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>
</li>
<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>
</ul>
}

View File

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

View File

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