80 lines
1.9 KiB
C#
80 lines
1.9 KiB
C#
using CarServiceContracts.BindingModels;
|
|
using CarServiceContracts.BusinessLogicsContracts;
|
|
using CarServiceWebApp.Models;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
|
|
namespace CarServiceWebApp.Controllers
|
|
{
|
|
public class ReportController : Controller
|
|
{
|
|
private readonly IReportLogic _reportLogic;
|
|
private readonly IWorkLogic _workLogic;
|
|
private static List<int> SelectedWorks = new();
|
|
private static ReportBindingModel PaymentsModel = new();
|
|
|
|
|
|
public ReportController(IReportLogic reportLogic, IWorkLogic workLogic)
|
|
{
|
|
_reportLogic = reportLogic;
|
|
_workLogic = workLogic;
|
|
}
|
|
|
|
public IActionResult Index()
|
|
{
|
|
if (CurrentUser.UserId < 1)
|
|
{
|
|
return Redirect("~/Home/Enter");
|
|
}
|
|
return View();
|
|
}
|
|
public IActionResult ReportRequestsByWorks()
|
|
{
|
|
if (CurrentUser.UserId < 1)
|
|
{
|
|
return Redirect("~/Home/Enter");
|
|
}
|
|
var requestsByWorks = _reportLogic.GetRequestsByWorks(new() { SelectedWorks = SelectedWorks } );
|
|
ViewBag.RequestsByWorks = requestsByWorks;
|
|
return View();
|
|
}
|
|
[HttpGet]
|
|
public IActionResult WorksSelection()
|
|
{
|
|
if (CurrentUser.UserId < 1)
|
|
{
|
|
return Redirect("~/Home/Enter");
|
|
}
|
|
var works = _workLogic.ReadList(new() { Id = CurrentUser.UserId});
|
|
ViewBag.Works = works;
|
|
return View();
|
|
}
|
|
[HttpPost]
|
|
public IActionResult WorksSelection(List<int> selwor)
|
|
{
|
|
SelectedWorks = selwor;
|
|
return Redirect("~/Report/ReportRequestsByWorks");
|
|
}
|
|
[HttpGet]
|
|
public IActionResult DateSelection()
|
|
{
|
|
if (CurrentUser.UserId < 1)
|
|
{
|
|
return Redirect("~/Home/Enter");
|
|
}
|
|
return View();
|
|
}
|
|
[HttpPost]
|
|
public IActionResult DateSelection(DateTime dateFrom, DateTime dateTo)
|
|
{
|
|
PaymentsModel = new() { DateFrom = dateFrom, DateTo = dateTo };
|
|
return Redirect("~/Report/ReportPayments");
|
|
}
|
|
public IActionResult ReportPayments()
|
|
{
|
|
var payments = _reportLogic.GetPayments(PaymentsModel);
|
|
ViewBag.Payments = payments;
|
|
return View();
|
|
}
|
|
}
|
|
}
|