49 lines
1.9 KiB
C#
49 lines
1.9 KiB
C#
using _0_Framework.Application;
|
|
using AccountManagement.Application.Contracts.Account;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using Query.AdminReports.Handlers;
|
|
using Query.AdminReports.Models;
|
|
using ServiceHost.BaseControllers;
|
|
using WorkFlow.Application.Contracts.WorkFlow;
|
|
|
|
namespace ServiceHost.Areas.Admin.Controllers;
|
|
|
|
public class RollCallController:AdminBaseController
|
|
{
|
|
private readonly IGetWorkshopWithRollCallHandler _workshopWithRollCallHandler;
|
|
private readonly IWorkFlowApplication _workFlowApplication;
|
|
private readonly long _currentAccountId;
|
|
|
|
public RollCallController(IGetWorkshopWithRollCallHandler workshopWithRollCallHandler,IAuthHelper _authHelper, IWorkFlowApplication workFlowApplication)
|
|
{
|
|
_workshopWithRollCallHandler = workshopWithRollCallHandler;
|
|
_workFlowApplication = workFlowApplication;
|
|
_currentAccountId = _authHelper.CurrentAccountId();
|
|
}
|
|
|
|
[HttpGet("report")]
|
|
public ActionResult<List<WorkshopWithRollCallServiceQueryModel>> GetRollCallReport([FromQuery] WorkshopWithRollCallServiceQueryParameters searchModel)
|
|
{
|
|
var result = _workshopWithRollCallHandler.Handle(searchModel);
|
|
return result;
|
|
}
|
|
|
|
[HttpGet("report/workshops-select-list")]
|
|
public ActionResult<List<WorkshopSelectList>> GetWorkshopsSelectList()
|
|
{
|
|
var result = _workshopWithRollCallHandler.Handle(new WorkshopWithRollCallServiceQueryParameters())
|
|
.Select(x => new WorkshopSelectList
|
|
{
|
|
Id = x.WorkshopId,
|
|
WorkshopFullName = x.WorkshopName
|
|
}).Distinct().ToList();
|
|
return result;
|
|
}
|
|
|
|
[HttpGet("repoert/workfloecount/{workshopId}")]
|
|
public async Task<ActionResult<int>> GetWorkFlowCountByWorkshopId(long workshopId)
|
|
{
|
|
var result = await _workFlowApplication.GetAllWorkFlowCount(workshopId, _currentAccountId);
|
|
return result;
|
|
}
|
|
} |