public async Task <List <FreightDTO> > GetFreightListAsync() { try { List <Freight> data = await _repFreight.GetAllAsQueryable().ToListAsync(); List <FreightDTO> datas = new List <FreightDTO>(); foreach (var item in data) { FreightDTO freightDTO = new FreightDTO(); freightDTO.ID = item.ID; freightDTO.BaseTruckRent = item.BaseTruckRent; freightDTO.SourceCityId = item.SourceCityId; City city = _repCity.GetAllAsQueryable().Where(c => c.Code == item.SourceCityId).FirstOrDefault(); freightDTO.SourceCityName = city.CityName; freightDTO.DestinationCityId = item.DestinationCityId; City cityDes = _repCity.GetAllAsQueryable().Where(c => c.Code == item.DestinationCityId).FirstOrDefault(); freightDTO.DestinationCityName = cityDes.CityName; freightDTO.CreateDate = item.CreateDate; freightDTO.LoadDate = item.LoadDate; freightDTO.LoadTime = item.LoadTime; freightDTO.ExpireDate = item.ExpireDate; freightDTO.ExpireTime = item.ExpireTime; freightDTO.PackageType = item.PackageType; freightDTO.GoodName = item.GoodName; PackageType packageType = _repPackageType.GetAllAsQueryable().Where(c => c.ID == item.PackageType).FirstOrDefault(); freightDTO.PackageName = packageType.Name; freightDTO.TruckType = item.TruckType; TruckType truckType = _repTruckType.GetAllAsQueryable().Where(c => c.ID == item.TruckType).FirstOrDefault(); freightDTO.TruckName = truckType.Name; freightDTO.LoaderType = item.LoaderType; Loader loader = _repLoader.GetAllAsQueryable().Where(c => c.ID == item.LoaderType).FirstOrDefault(); freightDTO.loaderName = loader.Name; freightDTO.Weight = item.Weight; freightDTO.Description = item.Description; freightDTO.Tell = item.Tell; freightDTO.BaseTruckRent = item.BaseTruckRent; freightDTO.BaseTruckRent = item.BaseTruckRent; datas.Add(freightDTO); } return(datas); } catch (Exception e) { throw new ServiceExeption(e.Message, e); } }
/// <summary> /// افزودن بار /// </summary> /// <param name="modle"></param> /// <returns></returns> public async Task <FreightDTO> Add(FreightDTO modle) { try { var data = _mapper.Map <Freight>(modle); _repFreight.Insert(data); await _uow.SaveChangesAsync(); modle.ID = data.ID; return(modle); } catch (Exception e) { throw new ServiceExeption(e.Message, e); } }
public async Task <IActionResult> Add([FromBody] FreightDTO model) { if (!ModelState.IsValid) { return(new ValidationFailedResult(ModelState)); } try { var data = await _service.Add(model); return(Ok(data)); } catch (Exception e) { ModelState.AddModelError("PopUpError", e.Message); return(new ValidationFailedResult(ModelState)); } }
/// <summary> /// 获取一条运费模板记录 /// </summary> /// <param name="freightTemplateId"></param> /// <returns></returns> public FreightDTO GetOneFreightExt(Guid freightTemplateId) { try { FreightDTO freight = null; FreightTemplate ftDTO = FreightTemplate.ObjectSet().Where(s => s.Id == freightTemplateId).FirstOrDefault(); if (ftDTO == null) { return(freight); } freight = new FreightDTO(); freight.Id = ftDTO.Id; freight.AppId = ftDTO.AppId; freight.Name = ftDTO.Name; freight.IsFreeExp = ftDTO.IsFreeExp; freight.FreightMethod = ftDTO.FreightMethod; freight.FreightTo = ftDTO.FreightTo; freight.FirstCount = ftDTO.FirstCount; freight.FirstCountPrice = ftDTO.FirstCountPrice; freight.NextCount = ftDTO.NextCount; freight.NextCountPrice = ftDTO.NextCountPrice; freight.PricingMethod = ftDTO.PricingMethod; freight.ExpressType = ftDTO.ExpressType; //运费详情。 freight.FreightDetailList = GetFreightTemplateDetailListByTemId(freightTemplateId); //部分包邮 var pfQuery = from fpf in FreightPartialFree.ObjectSet() where fpf.FreightTemplateId == ftDTO.Id select fpf; if (pfQuery.Any()) { var pfList = pfQuery.ToList().ConvertAll(ConvertFreightPartialFree2ExtDTO); try { var provList = CBCBP.Instance.GeProvinceByCountryCode(); if (provList != null && provList.Any()) { foreach (var pf in pfList) { var provNamesQ = from p in provList where ("," + pf.DestinationCodes + ",").Contains("," + p.Code + ",") select p.Name; pf.FreightTo = string.Join(",", provNamesQ); } } } catch (Exception ex) { LogHelper.Error("GetOneFreightExt中调用Jinher.AMP.CBC.IBP.Facade.GeProvinceByCountryCode异常", ex); } freight.PartialFreeList = pfList; } #region 价格区间运费 var details = FreightRangeDetails.ObjectSet().Where(predicate => predicate.TemplateId == freightTemplateId); TPS.CBCBPFacade facade = new CBCBPFacade(); if (details.Any()) { foreach (var group in details.GroupBy(selector => new { selector.ProvinceCodes, selector.IsSpecific })) { var sort = group.OrderBy(selector => selector.Min); if (!group.Key.IsSpecific) { foreach (var detail in sort) { freight.DefaultRangeFreightDetails.Add(new Deploy.CustomDTO.FreightRangeDefaultDetailsDTO { Min = detail.Min, Max = detail.Max, Cost = detail.Cost }); } continue; } freight.SpecificRangeFreightDetails.Add(new FreightRangeSpecificDetailsDTO { ProvinceNames = facade.GetProvincesNameByCode(group.Key.ProvinceCodes), ProvinceCodes = group.Key.ProvinceCodes, Details = sort.Select(selector => new Jinher.AMP.BTP.Deploy.CustomDTO.FreightRangeDefaultDetailsDTO { Min = selector.Min, Max = selector.Max, Cost = selector.Cost }).ToList() }); } } #endregion return(freight); } catch (Exception ex) { LogHelper.Error(string.Format("获取一条运费记录服务异常。freightTemplateId:{0}", freightTemplateId), ex); return(null); } }
public async Task <List <FreightDTO> > GetFreightListAsync(FilterFreightDTO filter) { try { var query = _repFreight.GetAllAsQueryable(); if (filter.DestinationCityId > 0) { int IntegerDestination = (filter.DestinationCityId) / 1000000; query = query.Where(c => (c.DestinationCityId) / 1000000 == IntegerDestination); } if (filter.SourceCityId > 0) { int IntegerSource = (filter.SourceCityId) / 1000000; query = query.Where(c => (c.SourceCityId) / 1000000 == IntegerSource); } if (filter.Weight >= 3) { query = query.Where(c => c.Weight >= 3); } else if (filter.Weight < 3 && filter.Weight > 1) { query = query.Where(c => c.Weight < 3); } if (filter.LoadDate != null) { query = query.Where(c => string.Compare(c.LoadDate, filter.LoadDate) >= 0); } if (filter.ExpireDate != null) { query = query.Where(c => string.Compare(c.ExpireDate, filter.ExpireDate) <= 0); } List <Freight> data = await query.ToListAsync(); List <FreightDTO> datas = new List <FreightDTO>(); foreach (var item in data) { FreightDTO freightDTO = new FreightDTO(); freightDTO.ID = item.ID; freightDTO.BaseTruckRent = item.BaseTruckRent; freightDTO.SourceCityId = item.SourceCityId; City city = _repCity.GetAllAsQueryable().Where(c => c.Code == item.SourceCityId).FirstOrDefault(); freightDTO.SourceCityName = city.CityName; freightDTO.DestinationCityId = item.DestinationCityId; City cityDes = _repCity.GetAllAsQueryable().Where(c => c.Code == item.DestinationCityId).FirstOrDefault(); freightDTO.DestinationCityName = cityDes.CityName; freightDTO.CreateDate = item.CreateDate; freightDTO.LoadDate = item.LoadDate; freightDTO.LoadTime = item.LoadTime; freightDTO.ExpireDate = item.ExpireDate; freightDTO.ExpireTime = item.ExpireTime; freightDTO.PackageType = item.PackageType; freightDTO.GoodName = item.GoodName; PackageType packageType = _repPackageType.GetAllAsQueryable().Where(c => c.ID == item.PackageType).FirstOrDefault(); freightDTO.PackageName = packageType.Name; freightDTO.TruckType = item.TruckType; TruckType truckType = _repTruckType.GetAllAsQueryable().Where(c => c.ID == item.TruckType).FirstOrDefault(); freightDTO.TruckName = truckType.Name; freightDTO.LoaderType = item.LoaderType; Loader loader = _repLoader.GetAllAsQueryable().Where(c => c.ID == item.LoaderType).FirstOrDefault(); freightDTO.loaderName = loader.Name; freightDTO.Weight = item.Weight; freightDTO.Description = item.Description; freightDTO.Tell = item.Tell; freightDTO.BaseTruckRent = item.BaseTruckRent; freightDTO.BaseTruckRent = item.BaseTruckRent; datas.Add(freightDTO); } return(datas); } catch (Exception e) { throw new ServiceExeption(e.Message, e); } }