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 Microsoft.Extensions.Logging; using System; using System.Collections.Generic; using System.Threading.Tasks; namespace StaffDBServer.Controllers { [JWTAuthorize] public class WindreamSearchToDepartmentController : BaseController { public WindreamSearchToDepartmentController(IBaseRepository repositoryBase, ILogger logger) : base(repositoryBase, logger) { } [HttpPost("DepartmentFilter")] public async Task GetWindreamSearchToDepartmentListAsync([FromBody] DepartmentFilter filter) { try { var list = await ((WindreamSearchToDepartmentRepository)EntityRepository).GetListByFilterAsync(filter); return new OkObjectResult(list); } catch (Exception ex) { this.WriteLogException(ex); return StatusCode(StatusCodes.Status400BadRequest, $"Cann't get the filtered list of {typeof(WindreamSearchToDepartment).Name}"); } } [HttpPut("CopyWindreamTile/{WindreamSearchToDepartmentId}")] public async Task GetVisitorListAsync(int WindreamSearchToDepartmentId, [FromBody] List trgDepartmentIds) { var strTrgDepartmentIds = string.Join(",", trgDepartmentIds); try { await ((WindreamSearchToDepartmentRepository)EntityRepository).AddWindreamTile(WindreamSearchToDepartmentId, strTrgDepartmentIds); this.WriteLogWarn($"Windream Search Tile Id={WindreamSearchToDepartmentId} is added to Departments wit Ids={strTrgDepartmentIds}"); return new OkObjectResult(true); } catch (Exception ex) { this.WriteLogException(ex); return StatusCode(StatusCodes.Status400BadRequest, $"Cann't add Windream Search Tile Id={WindreamSearchToDepartmentId} to Departments wit Ids={strTrgDepartmentIds}"); } } } }