public JsonResult ReturnLoad(VmKoLoad load, string actionMessage = "") { load.ActionResultMessage = actionMessage; var rtnLoad = Json(load.ToJsonString(), JsonRequestBehavior.AllowGet); return rtnLoad; }
public ActionResult CreateNewLoad(VmKoLoad load) { long newLoadId = 0; try { if (CurrentUser.UserLevel < (int)Enums.AccessLevel.Dispatcher) { throw new ServerException("Create Load: User does not have permission to create a load"); } int?unitOfMeasure = null; var dbTrailer = Db.Trailers.Find(load.TrailerId); if (dbTrailer != null) { unitOfMeasure = dbTrailer.UnitOfMeasureId; } var dbLoad = new Load { CreatedByUserLoginId = CurrentUser.UserLoginId, DriverId = load.DriverId, LoadStatusId = 1, CreatedDate = DateTime.Now, LoadDate = load.LoadDate.Date, TrailerId = load.TrailerId, TruckId = load.TruckId, UnitOfMeasureId = unitOfMeasure }; Db.Loads.Add(dbLoad); Db.SaveChanges(); newLoadId = dbLoad.LoadId; } catch (Exception e) { return(ReturnLoad(load, ServerError.GetErrorFromException(e).ExceptionMsg)); } return(ReturnLoad(load, $"Load {newLoadId} has been saved")); }
public ActionResult SaveEditedLoad(VmKoLoad load) { try { if (CurrentUser.UserLevel < (int)Enums.AccessLevel.Dispatcher) { throw new ServerException($"Save Load: User does not have permission to save load {load.LoadId}"); } var dbLoad = Db.Loads.Find(load.LoadId); if (dbLoad == null) { throw new ServerException($"SaveEditedLoad: Cannot find load {load.LoadId}"); } dbLoad.DriverId = load.DriverId; dbLoad.TruckId = load.TruckId; dbLoad.LoadStatusId = load.LoadStatusId; dbLoad.LoadDate = load.LoadDate; var isChangeTrailer = dbLoad.TrailerId != load.TrailerId; var isReOrderItems = false; if (load.NewOrderSequence != null) { var currentOrderSequence = dbLoad.Orders.OrderBy(r => r.LoadSort).Select(o => o.OrderId).ToArray(); isReOrderItems = !currentOrderSequence.SequenceEqual(load.NewOrderSequence); } if (isReOrderItems) { var position = 1; foreach (var orderId in load.NewOrderSequence) { var dbOrder = dbLoad.Orders.FirstOrDefault(o => o.OrderId == orderId); if (dbOrder != null) { dbOrder.LoadSort = position; position++; } } } if (isChangeTrailer) { int?unitOfMeasure = null; var dbTrailer = Db.Trailers.Find(load.TrailerId); if (dbTrailer != null) { unitOfMeasure = dbTrailer.UnitOfMeasureId; } dbLoad.UnitOfMeasureId = unitOfMeasure; } dbLoad.TrailerId = load.TrailerId; dbLoad.ModifiedByUserLoginId = CurrentUser.UserLoginId; dbLoad.ModifiedDate = DateTime.Now; Db.SaveChanges(); } catch (Exception e) { return(ReturnLoad(load, ServerError.GetErrorFromException(e).ExceptionMsg)); } return(ReturnLoad(load, $"Load {load.LoadId} has been saved")); }