Beispiel #1
0
        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));
        }
Beispiel #2
0
        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));
        }