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); }
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); }