コード例 #1
0
        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)));
        }
コード例 #2
0
        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)));
        }