public IActionResult GetManyByName([FromHeader] string sender, string name, int?page, int?pageSize, int?agencyId, int?warehouseId) { try { if (page == null || pageSize == null) { return(BadRequest("'page' and 'pageSize' parameters are required")); } if (page < 1 || pageSize < 1) { return(BadRequest("Parameters must be positive")); } if (sender == null) { return(Unauthorized()); } object pagedResult = null; Employee user = JsonConvert.DeserializeObject <Employee>(sender); if (agencyId != null) { if (user.IsAdmin() || user.AgencyId == agencyId.Value) { pagedResult = otherServ.GetManyInAgencyByName(name, page.Value, pageSize.Value, agencyId.Value); } } else if (warehouseId != null) { if (user.IsAdmin() || user.WarehouseId == warehouseId.Value) { pagedResult = otherServ.GetManyInWarehouseByName(name, page.Value, pageSize.Value, warehouseId.Value); } } else { if (user.IsAdmin()) { pagedResult = otherServ.GetManyByName(name, page.Value, pageSize.Value); } } if (pagedResult == null) { return(Unauthorized()); } else { return(Ok(pagedResult)); } } catch (Exception ex) { Console.Error.WriteLine(ex.Message); return(StatusCode(500)); } }