public static TruckingOrderVm NewTruckingOrderByOperation(int operationId, byte orderFrom = 1, int houseBillId = 0) { EasyFreightEntities db = new EasyFreightEntities(); OperationsEntities db1 = new OperationsEntities(); TruckingOrderVm trkoVmObj = new TruckingOrderVm(orderFrom); //Get House Bill status var hbInfo = db1.HouseBills.Where(x => x.HouseBillId == houseBillId) .Select(x => new { x.StatusId, x.OperationDate }).FirstOrDefault(); //Check if has trucking order .. Get its details for edit TruckingOrder truckingOrderDb; if (hbInfo.StatusId == 3 || hbInfo.StatusId == 4) { truckingOrderDb = db.TruckingOrders .Where(x => x.HouseBillId == houseBillId && (x.StatusId == 3 || x.StatusId == 4)).FirstOrDefault(); } else { truckingOrderDb = db.TruckingOrders .Where(x => x.HouseBillId == houseBillId && (x.StatusId == 1 || x.StatusId == 2)).FirstOrDefault(); } if (truckingOrderDb != null) { Mapper.CreateMap <TruckingOrder, TruckingOrderVm>().IgnoreAllNonExisting(); Mapper.Map(truckingOrderDb, trkoVmObj); trkoVmObj.OperationDate = hbInfo.OperationDate.Value; } else { var houseBillVm = HouseBillHelper.GetHbContent(operationId, orderFrom, houseBillId); Mapper.CreateMap <HouseBillVm, TruckingOrderVm>() .ForMember(x => x.StatusId, y => y.Ignore()) .IgnoreAllNonExisting(); Mapper.Map(houseBillVm, trkoVmObj); trkoVmObj.BookingNo = db1.Operations.Where(x => x.OperationId == operationId) .FirstOrDefault().BookingNumber; } return(trkoVmObj); }
public ActionResult AddTruckingOrder(int operationId, byte orderFrom = 1, int houseBillId = 0) { #region Check Rights bool hasRights; if (orderFrom == 1) //Check export rights { hasRights = AdminHelper.CheckUserAction(ScreenEnum.ExportHB, ActionEnum.AddEditTruckingOrder); } else { hasRights = AdminHelper.CheckUserAction(ScreenEnum.ImportHB, ActionEnum.AddEditTruckingOrder); } if (!hasRights) { return(PartialView("~/Views/Shared/_UnAuthorized.cshtml")); } #endregion // remember that cannot create more than one tracking order unless status canceled TruckingOrderVm trkoVmObj = TruckingHelper.NewTruckingOrderByOperation(operationId, orderFrom, houseBillId); if (trkoVmObj.OrderFrom == 1) { var shipperObj = ShipperHelper.GetShipperInfo(trkoVmObj.ShipperId); ViewBag.ClientName = shipperObj.ShipperNameEn; trkoVmObj.ShipFromAddress = shipperObj.ShipperAddressEn; } else { var consigneeObj = ConsigneeHelper.GetConsigneeInfo(trkoVmObj.ConsigneeId); ViewBag.ClientName = consigneeObj.ConsigneeNameEn; trkoVmObj.ShipFromAddress = consigneeObj.ConsigneeAddressEn; } ViewData["AreaList"] = ListCommonHelper.GetAreaGrouped(); ViewBag.ContainerSummary = OperationHelper.GetContainersSummary(trkoVmObj.OperationId); return(PartialView("~/Views/Trucking/AddTruckingOrder.cshtml", trkoVmObj)); }
public static string AddTruckingOrder(TruckingOrderVm truckingOrderVm) { string isSaved = "true"; EasyFreightEntities db = new EasyFreightEntities(); TruckingOrder truckingOrderDb = new TruckingOrder(); Mapper.CreateMap <TruckingOrderVm, TruckingOrder>().IgnoreAllNonExisting(); Mapper.Map(truckingOrderVm, truckingOrderDb); //Get carrier Id from operation OperationsEntities db1 = new OperationsEntities(); int operationId = truckingOrderDb.OperationId; truckingOrderDb.CarrierId = db1.Operations.Where(x => x.OperationId == operationId).FirstOrDefault().CarrierId; var op_DeliveryNeeded = db1.Operations.Where(x => x.OperationId == operationId).FirstOrDefault(); op_DeliveryNeeded.DeliveryNeeded = true; if (truckingOrderVm.TruckingOrderId == 0) { db.TruckingOrders.Add(truckingOrderDb); } try { db.SaveChanges(); db1.SaveChanges(); } catch (DbEntityValidationException e) { isSaved = "false " + e.Message; } catch (Exception e) { isSaved = "false " + e.InnerException.InnerException; } return(isSaved); }
/// <summary> /// Post action to create truckign order from operation /// </summary> /// <param name="truckingOrderVm">TruckingOrderVm</param> /// <returns>strign "true" if saved successfully</returns> public ActionResult NewTruckingOrder(TruckingOrderVm truckingOrderVm) { string isSaved = TruckingHelper.AddTruckingOrder(truckingOrderVm); return(Json(isSaved)); }