Files
Backend-Api/ServiceHost/Areas/Admin/Controllers/RollCallController.cs

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;
}
}