public async Task <IActionResult> GetAll([FromQuery] SearchDriverRequest request, [FromQuery(Name = "VehicleTypeIDs[]")] List <int> vehicleTypeIDs) { if (request.Page == 0) { request.Page = 1; request.PageSize = 10; } var result = await _driverAppService.GetAll(request, vehicleTypeIDs); return(Ok(result)); }
public Task <DriverResponse> GetAll(SearchDriverRequest request, List <int> vehicleTypeIDs) { var response = new DriverResponse(); try { // thieu phuong tien co the lai dc var searchDriverModel = new SearchDriverModel { Code = request.Code, Name = request.Name, PhoneNumber = request.PhoneNumber, VehicleTypeIDs = string.Join('%', vehicleTypeIDs.OrderBy(x => x)).Length > 0 ? string.Join('%', vehicleTypeIDs.OrderBy(x => x)) : null }; var driverAll = _driverService.GetAll(request.Page, request.PageSize, searchDriverModel); var result = from a in driverAll.Drivers let ids = !string.IsNullOrEmpty(a.VehicleTypeIDs) ? a.VehicleTypeIDs.Split(',').ToList() : null let empty = String.Empty let cityEmpty = (a.City + a.Country + a.District + a.Street + a.StreetNumber).Length let address = new { City = a.City, Country = a.Country, District = a.District, Street = a.Street, StreetNumber = a.StreetNumber } select new { DriverInfo = new { Address = cityEmpty > 0 ? address : null, a.Code, DoB = a.DoB.HasValue ? a.DoB.Value.ToString("dd/MM/yyyy", null) : empty, a.IDCardNumber, a.Name, a.Note, a.PhoneNumber, a.Sex, StartDate = a.StartDate.HasValue ? a.StartDate.Value.ToString("dd/MM/yyyy", null) : empty, a.Status, VehicleTypes = ids != null?_vehicleTypeService.GetByIds(ids.Select(int.Parse).ToList()) : new List <VehicleTypeReadModel>() }, ID = a.ID, UserID = a.UserID }; response.Data = result.ToList(); response.Success = true; response.Metadata = new ResponseModel.PageResponse { Page = driverAll.PageInfo.Page, PageSize = driverAll.PageInfo.PageSize, Total = driverAll.PageInfo.Total }; response.Message = ""; } catch (Exception ex) { response.Message = ex.Message; response.Success = false; } return(Task.FromResult(response)); }