public Field UpdateField(Field field) { using (var db = new CMSContext()) { var dbField = db.Fields.Find(field.Id); if (dbField == null) { throw new CustomValidationException($"No field with id = {field.Id}."); } if (field.Name.ToLower() != dbField.Name.ToLower()) { throw new CustomValidationException($"Not allowed to change field names, only display names."); } if (field.FieldType != dbField.FieldType) { throw new CustomValidationException($"Not allowed to change field types."); } db.Entry(dbField).CurrentValues.SetValues(field); db.SaveChanges(); }; return(field); }
public void UpdateFile(File file) { using (var db = new CMSContext()) { var fileEntity = db.Files.FirstOrDefault(f => f.Id == file.Id); db.Entry(fileEntity).CurrentValues.SetValues(file); db.SaveChanges(); } }
public void UpdatePermission(Permission permission) { using (var db = new CMSContext()) { var dbPermission = db.Permissions.Find(permission.Id); db.Entry(dbPermission).CurrentValues.SetValues(permission); db.SaveChanges(); } }
public Action UpdateAction(Action action) { using (var db = new CMSContext()) { var dbAction = db.Actions .Include(f => f.Parameters) .FirstOrDefault(f => f.Id == action.Id); var pIds = action.Parameters.Select(p => p.Id).ToList(); var existingParams = db.Parameters.Where(f => pIds.Contains(f.Id)); var existingParamIds = existingParams.Select(p => p.Id); foreach (var existParam in existingParams) { db.Entry(existParam).CurrentValues.SetValues(action.Parameters.First(p => p.Id == existParam.Id)); } var newParams = action.Parameters.Where(p => !existingParamIds.Contains(p.Id)).ToList(); db.Parameters.AddRange(newParams); db.SaveChanges(); var parameters = db.Parameters.Where(p => p.ActionId == action.Id).ToList(); action.Parameters.Clear(); foreach (var p in parameters) { dbAction.Parameters.Add(p); } db.Entry(dbAction).CurrentValues.SetValues(action); db.SaveChanges(); return(dbAction); }; }
public Style UpdateStyle(Style style) { using (var db = new CMSContext()) { var dbStyle = db.Styles.Find(style.Id); if (dbStyle == null) { throw new CustomValidationException($"No style with id = {style.Id}."); } db.Entry(dbStyle).CurrentValues.SetValues(style); db.SaveChanges(); }; return(style); }
public Control UpdateControl(Control control) { using (var db = new CMSContext()) { var dbControl = db.Controls.Find(control.Id); if (dbControl == null) { throw new CustomValidationException($"No control with id = {control.Id}."); } db.Entry(dbControl).CurrentValues.SetValues(control); db.SaveChanges(); }; return(control); }
public View UpdateView(View view) { using (var db = new CMSContext()) { var dbView = db.Views.Find(view.Id); if (dbView == null) { throw new CustomValidationException($"No view with id = {view.Id}."); } db.Entry(dbView).CurrentValues.SetValues(view); db.SaveChanges(); }; return(view); }
public void UpdateUserRole(UserRole userRole, string userLogin) { using (var db = new CMSContext()) { var dbUserRole = db.UserRoles.Find(userRole.RoleId, userRole.UserId); var currentUser = db.Users.FirstOrDefault(u => u.Login.ToUpper() == userLogin.ToUpper()); if (!db.UserRoles.Any(ur => ur.RoleId == userRole.RoleId && ur.UserId == currentUser.Id && ur.UserCanChangeRole)) { throw new CustomValidationException("Current user doesn't have rights to update this user-role relation."); } db.Entry(dbUserRole).CurrentValues.SetValues(userRole); db.SaveChanges(); } }
public Filter UpdateFilter(Filter filter) { Filter dbFilter; using (var db = new CMSContext()) { dbFilter = db.Filters .FirstOrDefault(f => f.Id == filter.Id); if (dbFilter == null) { throw new CustomValidationException($"No filter with id = {filter.Id}."); } db.Entry(dbFilter).CurrentValues.SetValues(filter); db.SaveChanges(); }; return(dbFilter); }