public async Task <IActionResult> Get([FromQuery] LeaveSearchParameters parametrs) { var leave = await _leaveService.Get(parametrs); if (leave == null) { return(NotFound()); } return(Ok(leave)); }
public async Task <List <LeaveViewResult> > Get(LeaveSearchParameters parametrs) { var query = _dbContext.LeavesCategories.AsQueryable(); if (parametrs.Id.HasValue) { query = query.Where(c => c.Id == parametrs.Id); } if (parametrs.Name != 0) { query = query.Where(c => c.Name.Equals(parametrs.Name)); } var leaves = await query.ToListAsync(); if (leaves.Count == 0) { return(null); } List <LeaveViewResult> leaveViews = new List <LeaveViewResult>(); foreach (var leave in leaves) { leaveViews.Add(new LeaveViewResult { Id = leave.Id, Name = leave.Name, MaxDuration = leave.MaxDuration, Balance = leave.Balance }); } return(leaveViews); }