using DAL.Models.Entities; using DAL.Models.Filters; using DAL.Repositories; using HRD.LDAPService.JWT; using HRD.WebApi.Controllers; using HRD.WebApi.Repositories; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using System; using System.Collections.Generic; using System.Threading.Tasks; namespace StaffDBServer.Controllers { [JWTAuthorize] public class DepartmentController : BaseController { public DepartmentController(IBaseRepository repositoryBase) : base(repositoryBase) { } [HttpPost("DepartmentFullFilter")] public async Task GetDepartmentListAsync([FromBody] DepartmentFullFilter filter) { try { var list = await ((DepartmentRepository)EntityRepository).GetDepartmentListAsync(filter); return new OkObjectResult(list); } catch (Exception ex) { this.WriteLogException(ex); return StatusCode(StatusCodes.Status400BadRequest, $"Cann't get the filtered list of {typeof(Employee).Name}"); } } [HttpPut("CopyWindreamTiles/{DepartmentId}")] public async Task GetVisitorListAsync(int DepartmentId, [FromBody] List trgDepartmentIds) { var strTrgDepartmentIds = string.Join(",", trgDepartmentIds); try { await ((DepartmentRepository)EntityRepository).ReplaceWindreamTiles(DepartmentId, strTrgDepartmentIds); this.WriteLogWarn($"Windream Search Tiles from Department Id={DepartmentId} are replaced Tiles in the Departments with Ids={strTrgDepartmentIds}"); return new OkObjectResult(true); } catch (Exception ex) { this.WriteLogException(ex); return StatusCode(StatusCodes.Status400BadRequest, $"Windream Search Tiles from Department Id={DepartmentId} cann't replace Tiles in the Departments with Ids={strTrgDepartmentIds}"); } } } }