示例#1
0
        public static List <TruckingCostVm> GetTruckingCostByTruckingOrderId(int truckingOrderId)
        {
            List <TruckingCostVm> truckingCostvmList = new List <TruckingCostVm>();
            EasyFreightEntities   db = new EasyFreightEntities();
            //  Mapper.CreateMap<TruckingOrderCost, TruckingCostVm>().IgnoreAllNonExisting();
            TruckingCostVm truckingCostObj;

            //var  truckingCostList = db.TruckingOrderCosts
            //    .Include("TruckingCostLib").Where(x => x.TruckingOrderId == truckingOrderId).ToList();

            var truckingCostList2 = from c in db.TruckingOrderCosts
                                    join o in db.Currencies on c.CurrencyId equals o.CurrencyId
                                    where c.TruckingOrderId == truckingOrderId
                                    select new
            {
                ContractorId     = c.ContractorId,
                CurrencyId       = o.CurrencyId,
                CurrencySign     = o.CurrencySign,
                TruckingCostId   = c.TruckingCostId,
                TruckingCostName = c.TruckingCostLib.TruckingCostName,

                TruckingCostNet     = c.TruckingCostNet,
                TruckingCostSelling = c.TruckingCostSelling,
                TruckingOrderCostId = c.TruckingOrderCostId,
                TruckingOrderId     = c.TruckingOrderId,
            };


            foreach (var item in truckingCostList2)
            {
                truckingCostObj = new TruckingCostVm();
                truckingCostObj.ContractorId        = item.ContractorId;
                truckingCostObj.CurrencyId          = item.CurrencyId;
                truckingCostObj.CurrencySign        = item.CurrencySign;
                truckingCostObj.TruckingCostId      = item.TruckingCostId;
                truckingCostObj.TruckingCostName    = item.TruckingCostName;
                truckingCostObj.TruckingCostNet     = item.TruckingCostNet;
                truckingCostObj.TruckingCostSelling = item.TruckingCostSelling;
                truckingCostObj.TruckingOrderCostId = item.TruckingOrderCostId;
                truckingCostObj.TruckingOrderId     = item.TruckingOrderId;

                truckingCostvmList.Add(truckingCostObj);

                //try
                //{
                //    truckingCostObj = new TruckingCostVm();
                //    Mapper.Map(item, truckingCostObj);
                //    truckingCostvmList.Add(truckingCostObj);
                //}
                //catch { }
            }
            //try
            //{
            //    Mapper.CreateMap<TruckingOrderCost, TruckingCostVm>().IgnoreAllNonExisting();
            //    Mapper.Map(truckingCostList2, truckingCostvmList);
            //}
            //catch
            //{ }
            return(truckingCostvmList);
        }
示例#2
0
        public static TruckingOrderDetailVm GetTruckingOrderDetailInfo(int truckingOrderId)
        {
            TruckingOrderDetailVm trkoVmObj = new TruckingOrderDetailVm(truckingOrderId);
            EasyFreightEntities   db        = new EasyFreightEntities();

            int truckDetailCount = db.TruckingOrderDetails.Where(x => x.TruckingOrderId == truckingOrderId).Count();

            OperationsEntities db1 = new OperationsEntities();
            var truckViewObj       = db1.TruckingOrdersViews.Where(x => x.TruckingOrderId == truckingOrderId).FirstOrDefault();

            Mapper.CreateMap <TruckingOrdersView, TruckingOrderDetailVm>().IgnoreAllNonExisting();

            Mapper.Map(truckViewObj, trkoVmObj);

            trkoVmObj.ClientName        = truckViewObj.OrderFrom == 1 ? truckViewObj.ShipperNameEn : truckViewObj.ConsigneeNameEn;
            trkoVmObj.ContainersSummary = OperationHelper.GetContainersSummary(trkoVmObj.OperationId);

            List <TruckingOrderCost> truckCostList = db.TruckingOrderCosts.Where(x => x.TruckingOrderId == truckingOrderId).ToList();
            TruckingCostVm           truckingCostObj;

            if (truckCostList.Count() == 0)
            {
                truckingCostObj = new TruckingCostVm(trkoVmObj.TruckingOrderId);
                trkoVmObj.TruckingOrderCosts.Add(truckingCostObj);
            }
            else
            {
                Mapper.CreateMap <TruckingOrderCost, TruckingCostVm>().IgnoreAllNonExisting();
                trkoVmObj.TotalCostNet     = Math.Round(truckCostList.Sum(x => x.TruckingCostNet), 2);
                trkoVmObj.TotalCostSelling = Math.Round(truckCostList.Sum(x => x.TruckingCostSelling), 2);
                foreach (var cost in truckCostList)
                {
                    truckingCostObj = new TruckingCostVm();
                    Mapper.Map(cost, truckingCostObj);
                    truckingCostObj.TruckingCostSelling = Math.Round(truckingCostObj.TruckingCostSelling.Value, 2);
                    truckingCostObj.TruckingCostNet     = Math.Round(truckingCostObj.TruckingCostNet.Value, 2);
                    truckingCostObj.TruckingCostName    = cost.TruckingCostLib.TruckingCostName;
                    truckingCostObj.CurrencySign        = cost.Currency.CurrencySign;

                    trkoVmObj.TruckingOrderCosts.Add(truckingCostObj);
                }
            }

            List <OperationContainerVm> operationContainerList = OperationHelper.GetOperationContainers(trkoVmObj.OperationId);

            if (operationContainerList.Count() > 0)
            {
                //kamal
                int truckHouseId = db.TruckingOrders.Where(x => x.TruckingOrderId == truckingOrderId).Select(a => a.HouseBillId.Value).FirstOrDefault();
                List <HouseContainerVm> hcVmList = HouseBillHelper.GetHousContainerByHouseID(truckHouseId);
                if (hcVmList.Count > 0)
                {
                    foreach (var opcont in operationContainerList)
                    {
                        foreach (var item in hcVmList)
                        {
                            if (item.OperConId == opcont.OperConId)
                            {
                                trkoVmObj.OperationContainers.Add(opcont);
                            }
                        }
                    }
                }
                else
                {
                    foreach (var opcont in operationContainerList)
                    {
                        trkoVmObj.OperationContainers.Add(opcont);
                    }
                }
            }

            trkoVmObj.HbDate = db1.HouseBills
                               .Where(x => x.HouseBillId == truckViewObj.HouseBillId).FirstOrDefault().OperationDate.Value;

            //Get code generated if first insert
            if (truckDetailCount == 0)
            {
                trkoVmObj.TruckingOrderCode = AdminHelper.GeneratePrefixCode(PrefixForEnum.TruckingOrder, false);
            }

            return(trkoVmObj);
        }