Merge.
This commit is contained in:
commit
076b27ba7d
@ -142,7 +142,6 @@ namespace BankYouBankruptClientApp.Controllers
|
|||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
#region Снятие средств
|
#region Снятие средств
|
||||||
|
|
||||||
[HttpGet]
|
[HttpGet]
|
||||||
@ -245,15 +244,81 @@ namespace BankYouBankruptClientApp.Controllers
|
|||||||
[HttpGet]
|
[HttpGet]
|
||||||
public IActionResult CreateReport()
|
public IActionResult CreateReport()
|
||||||
{
|
{
|
||||||
return View();
|
|
||||||
|
[HttpGet]
|
||||||
|
public IActionResult ReportWithCards()
|
||||||
|
{
|
||||||
|
if (APIClient.Client == null)
|
||||||
|
{
|
||||||
|
return Redirect("~/Home/Enter");
|
||||||
|
}
|
||||||
|
|
||||||
|
return View(new ReportClientCardsViewModel()
|
||||||
|
{
|
||||||
|
Cards = APIClient.GetRequest<List<CardViewModel>>($"api/Card/GetUsersCardsList?id={APIClient.Client.Id}").Select(x => new CheckboxViewModel() {
|
||||||
|
Id = x.Id,
|
||||||
|
LabelName = x.Number,
|
||||||
|
IsChecked = false
|
||||||
|
}).ToList()
|
||||||
|
}) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
public void CreateReport(DateTime DateFrom, DateTime DateTo)
|
public IActionResult ReportWithCards(List<CheckboxViewModel> cards)
|
||||||
{
|
{
|
||||||
|
if (APIClient.Client == null)
|
||||||
|
{
|
||||||
|
return Redirect("~/Home/Enter");
|
||||||
|
}
|
||||||
|
|
||||||
|
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,
|
||||||
|
CardId=x.CardId,
|
||||||
|
DateOpen=x.DateOpen,
|
||||||
|
DateClose=x.DateClose,
|
||||||
|
CardNumber=x.CardNumber,
|
||||||
|
Status = x.Status,
|
||||||
|
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()
|
||||||
|
{
|
||||||
|
Id = x.Id,
|
||||||
|
CardId = x.CardId,
|
||||||
|
DateOpen = x.DateOpen,
|
||||||
|
DateClose = x.DateClose,
|
||||||
|
CardNumber = x.CardNumber,
|
||||||
|
Status = x.Status,
|
||||||
|
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,
|
||||||
|
|
||||||
|
}) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#region Получение отчёта
|
||||||
}
|
|
||||||
}
|
[HttpGet]
|
||||||
|
public IActionResult CreateReport()
|
||||||
|
{
|
||||||
|
return View();
|
||||||
|
}
|
||||||
|
|
||||||
|
[HttpPost]
|
||||||
|
public void CreateReport(DateTime DateFrom, DateTime DateTo)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,88 @@
|
|||||||
|
@using BankYouBankruptContracts.ViewModels
|
||||||
|
|
||||||
|
@model ReportClientCardsViewModel
|
||||||
|
|
||||||
|
@{
|
||||||
|
ViewData["Title"] = "Отчет по картам";
|
||||||
|
}
|
||||||
|
|
||||||
|
<div class="text-center">
|
||||||
|
<h1 class="display-4">Отчет</h1>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="container" sf-type="container" sf-label="Bootstrap Container" sf-uid="2">
|
||||||
|
|
||||||
|
<div class="row" sf-type="container" sf-label="Row" sf-uid="3">
|
||||||
|
<div class="mb-4 mb-md-0 aos-init aos-animate col-md-3" sf-type="container" sf-label="Column" sf-anim-delay="1.5" data-aos="fade-down" data-aos-delay="400" sf-uid="4">
|
||||||
|
<div sf-type="container" sf-label="Container" class="py-15 h-100 bg-bg-2" sf-uid="5">
|
||||||
|
<form method="post">
|
||||||
|
@for (var item = 0; item < @Model.Cards.Count(); item++)
|
||||||
|
{
|
||||||
|
<div class="form-check form-switch">
|
||||||
|
<input class="form-check-input" type="checkbox" id="flexSwitchCheckDefault" asp-for="@Model.Cards[item].IsChecked">
|
||||||
|
<label class="form-check-label" for="flexSwitchCheckDefault">@Model.Cards[item].LabelName</label>
|
||||||
|
<input type="hidden" asp-for="@Model.Cards[item].Id" />
|
||||||
|
<input type="hidden" asp-for="@Model.Cards[item].LabelName" />
|
||||||
|
</div>
|
||||||
|
}
|
||||||
|
<div>
|
||||||
|
<input class="btn btn-primary mt-3" type="submit" value="Submit" />
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="aos-init aos-animate col-md" sf-type="container" sf-label="Column" sf-anim-delay="2" data-aos="fade-down" data-aos-delay="500" sf-uid="8">
|
||||||
|
<div sf-type="container" sf-label="Container" class="py-15 h-100 bg-bg-2" sf-uid="9">
|
||||||
|
<table class="table">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>
|
||||||
|
Номер карты
|
||||||
|
</th>
|
||||||
|
<th>
|
||||||
|
Тип операции
|
||||||
|
</th>
|
||||||
|
<th>
|
||||||
|
Сумма
|
||||||
|
</th>
|
||||||
|
<th>
|
||||||
|
Статус
|
||||||
|
</th>
|
||||||
|
<th>
|
||||||
|
Дата открытия
|
||||||
|
</th>
|
||||||
|
<th>
|
||||||
|
Дата закрытия
|
||||||
|
</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
@foreach (var item in Model.Operations)
|
||||||
|
{
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
@Html.DisplayFor(modelItem => item.CardNumber)
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
@Html.DisplayFor(modelItem => item.TypeOperation)
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
@Html.DisplayFor(modelItem => item.Sum)
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
@Html.DisplayFor(modelItem => item.Status)
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
@Html.DisplayFor(modelItem => item.DateOpen)
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
@Html.DisplayFor(modelItem => item.DateClose)
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
@ -24,21 +24,24 @@
|
|||||||
</a>
|
</a>
|
||||||
<div class="navbar-collapse collapse d-sm-inline-flex flex-smrow-reverse">
|
<div class="navbar-collapse collapse d-sm-inline-flex flex-smrow-reverse">
|
||||||
@{ if (authenticated) {
|
@{ if (authenticated) {
|
||||||
<ul class="navbar-nav flex-grow-1">
|
<ul class="navbar-nav flex-grow-1">
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link text-dark" asparea="" asp-controller="Home" asp-action="CardsList">Карты</a>
|
<a class="nav-link text-dark" asparea="" asp-controller="Home" asp-action="CardsList">Карты</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link text-dark" asparea="" asp-controller="Home" asp-action="DebitingList">Снятие средств</a>
|
<a class="nav-link text-dark" asparea="" asp-controller="Home" asp-action="DebitingList">Снятие средств</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link text-dark" asparea="" asp-controller="Home" asp-action="CreditingList">Пополнить средства</a>
|
<a class="nav-link text-dark" asparea="" asp-controller="Home" asp-action="CreditingList">Пополнить средства</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="ReportWithCards">Отчет по картам</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
<li class="nav-item">
|
||||||
}
|
<a class="nav-link text-dark" asparea="" asp-controller="Home" asp-action="CreateReport">Отчёт по картам</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
}
|
||||||
}
|
}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -0,0 +1,17 @@
|
|||||||
|
using BankYouBankruptDataModels.Models;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace BankYouBankruptContracts.ViewModels
|
||||||
|
{
|
||||||
|
public class CheckboxViewModel
|
||||||
|
{
|
||||||
|
public int Id { get; set; }
|
||||||
|
public string LabelName { get; set; }
|
||||||
|
public bool IsChecked { get; set; }
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,12 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace BankYouBankruptContracts.ViewModels
|
||||||
|
{
|
||||||
|
internal class ReportCardViewModel
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,15 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace BankYouBankruptContracts.ViewModels
|
||||||
|
{
|
||||||
|
public class ReportClientCardsViewModel
|
||||||
|
{
|
||||||
|
public List<CheckboxViewModel>? Cards { get; set; } = new();
|
||||||
|
|
||||||
|
public List<ReportViewModel>? Operations { get; set; } = new();
|
||||||
|
}
|
||||||
|
}
|
@ -14,4 +14,4 @@ namespace BankYouBankruptContracts.ViewModels
|
|||||||
|
|
||||||
public DateTime? DateComplite { get; set; }
|
public DateTime? DateComplite { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -0,0 +1,29 @@
|
|||||||
|
using BankYouBankruptDataModels.Enums;
|
||||||
|
using BankYouBankruptDataModels.Models;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace BankYouBankruptContracts.ViewModels
|
||||||
|
{
|
||||||
|
public class ReportViewModel
|
||||||
|
{
|
||||||
|
public int Id { get; set; }
|
||||||
|
|
||||||
|
public int CardId { get; set; }
|
||||||
|
|
||||||
|
public string? CardNumber { get; set; }
|
||||||
|
|
||||||
|
public int Sum { get; set; }
|
||||||
|
|
||||||
|
public DateTime DateOpen { get; set; }
|
||||||
|
|
||||||
|
public DateTime? DateClose { get; set; }
|
||||||
|
|
||||||
|
public StatusEnum Status { get; set; }
|
||||||
|
|
||||||
|
public TypeOperationEnum TypeOperation { get; set; }
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,14 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace BankYouBankruptDataModels.Enums
|
||||||
|
{
|
||||||
|
public enum TypeOperationEnum
|
||||||
|
{
|
||||||
|
Снятие = 1,
|
||||||
|
Пополнение = 2
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user