Example #1
0
        public DbEntityValidationException AddOrUpdateDeviceMaintenance(DeviceMaintenance model, List <string> propertyNames)
        {
            using (var repo = Repo <DeviceMaintenanceRepository>())
            {
                try
                {
                    if (model.Id == Guid.Empty)
                    {
                        var dbModel = repo.CreateDefaultModel();
                        foreach (var propertyName in propertyNames)
                        {
                            dbModel.GetType().GetProperty(propertyName).SetValue(dbModel, model.GetType().GetProperty(propertyName).GetValue(model));
                        }
                        repo.AddOrUpdateDoCommit(dbModel);
                    }
                    else
                    {
                        repo.PartialUpdateDoCommit(model, propertyNames);
                    }
                }
                catch (DbEntityValidationException ex)
                {
                    return(ex);
                }
            }

            return(null);
        }
        public ActionResult EditDeviceMaintenance(DeviceMaintenance model)
        {
            var propertyNames = Request.Form.AllKeys.Where(field => field != "Id" && field != "X-Requested-With").ToList();

            var exception = ProcessInvoke <DeviceMaintenanceProcess>().AddOrUpdateDeviceMaintenance(model, propertyNames);

            if (exception != null)
            {
                GetDeviceMaintenanceItems();
                return(View(model));
            }

            return(RedirectToAction("SubmitSuccess", "Common",
                                    new { targetAction = "EditDeviceMaintenance", targetcontroller = "Management", target = "slide-up-content", postform = "deviceMaintenance" }));
        }