public ActionResult Create([DataSourceRequest] DataSourceRequest request, VmTrailer trailer) { var isEditable = CurrentUser.IsAdmin; if (!isEditable) { ModelState.AddModelError("Create", "Current user does not have permission to create a trailer."); } if (ModelState.IsValid) { try { var newDbTrailer = new Trailer() { TrailerTypeId = trailer.TrailerTypeId, TrailerDescription = trailer.TrailerDescription, CapacityKg = trailer.CapacityKg, Volume = trailer.Volume, AxlesDescription = trailer.AxlesDescription, UnitOfMeasureId = trailer.UnitOfMeasureId, IsActive = true, }; Db.Trailers.Add(newDbTrailer); Db.SaveChanges(); trailer.TrailerId = newDbTrailer.TrailerId; } catch (Exception e) { ModelState.AddModelError("Create Trailer", ServerError.GetErrorFromException(e).ExceptionMsg); } } return(Json(new[] { trailer }.ToDataSourceResult(request, ModelState))); }
public ActionResult Update([DataSourceRequest] DataSourceRequest request, VmTrailer trailer) { var isEditable = CurrentUser.IsAdmin; if (!isEditable) { ModelState.AddModelError("Update", "Current user does not have permission to update trailers."); } if (ModelState.IsValid) { var dbTrailer = Db.Trailers.Find(trailer.TrailerId); if (dbTrailer != null) { dbTrailer.IsActive = trailer.IsActive; dbTrailer.TrailerDescription = trailer.TrailerDescription; dbTrailer.AxlesDescription = trailer.AxlesDescription; dbTrailer.CapacityKg = trailer.CapacityKg; dbTrailer.TrailerTypeId = trailer.TrailerTypeId; dbTrailer.UnitOfMeasureId = trailer.UnitOfMeasureId; dbTrailer.Volume = trailer.Volume; try { Db.SaveChanges(); } catch (Exception e) { ModelState.AddModelError("Update trailer", ServerError.GetErrorFromException(e).ExceptionMsg); } } } return(Json(new[] { trailer }.ToDataSourceResult(request, ModelState))); }