コード例 #1
0
        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);
            }
        }
コード例 #2
0
        /// <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);
            }
        }
コード例 #3
0
        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));
            }
        }
コード例 #4
0
ファイル: FreightBPExt.cs プロジェクト: GSIL-Monitor/BTP
        /// <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);
            }
        }
コード例 #5
0
        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);
            }
        }