Ejemplo n.º 1
0
        public PagedResultDto <ApplyForVehicleMaintenanceListDto> GetAuditedItems(
            ApplyForVehicleMaintenanceQueryDto request)
        {
            var query = this._applyForVehicleMaintenanceRepository.GetAll()
                        .Where(r => r.Status == request.Status.Value).OrderByDescending(r => r.CreationTime);

            var count = query.Count();
            var list  = query.AsQueryable().PageBy(request).ToList();
            var dtos  = list.MapTo <List <ApplyForVehicleMaintenanceListDto> >();

            foreach (var dto in dtos)
            {
                var driver = this._driverRepository.Get(dto.DriverId);
                if (driver == null)
                {
                    throw new UserFriendlyException("驾驶员不能为空");
                }

                dto.DriverName   = driver.Name;
                dto.ServiceDepot = this._sysDictionaryRepository.Get(r => r.Id == dto.ServiceDepotId).FirstOrDefault()
                                   ?.Value;
            }

            return(new PagedResultDto <ApplyForVehicleMaintenanceListDto>(count, dtos));
        }
Ejemplo n.º 2
0
        public ListResultDto <ApplyForVehicleMaintenanceListDto> GetAll(ApplyForVehicleMaintenanceQueryDto request)
        {
            var query = this._applyForVehicleMaintenanceRepository.GetAll()
                        .WhereIf(request.CarInfoId.HasValue, r => r.CarInfoId == request.CarInfoId.Value)
                        .WhereIf(request.DriverId.HasValue, r => r.DriverId == request.DriverId.Value)
                        .WhereIf(request.ServiceDepotId.HasValue, r => r.ServiceDepotId == request.ServiceDepotId.Value)
                        .WhereIf(request.Status.HasValue, r => r.Status == request.Status.Value);

            query = !string.IsNullOrWhiteSpace(request.Sorting)
                ? query.OrderBy(request.Sorting)
                : query.OrderByDescending(r => r.CreationTime);
            var count = query.Count();
            var list  = query.AsQueryable().PageBy(request).ToList();
            var dtos  = list.MapTo <List <ApplyForVehicleMaintenanceListDto> >();

            foreach (var dto in dtos)
            {
                var driver = this._driverRepository.Get(dto.DriverId);
                dto.ServiceDepot = this._sysDictionaryRepository.Get(r => r.Id == dto.ServiceDepotId).FirstOrDefault()
                                   ?.Value;
                if (driver == null)
                {
                    throw new UserFriendlyException("驾驶员不能为空");
                }

                dto.DriverName = driver.Name;
                switch (dto.Status)
                {
                case "0":
                    dto.Status = "等待审核";
                    break;

                case "1":
                    dto.Status = "审核通过";
                    break;

                case "2":
                    dto.Status = "审核拒绝";
                    break;

                case "3":
                    dto.Status = "维修中";
                    break;

                case "4":
                    dto.Status = "修理完成";
                    break;
                }
            }

            return(new PagedResultDto <ApplyForVehicleMaintenanceListDto>(count, dtos));
        }