public override ValidationResult SaveDelete(AppCompositeRoleViewModel formData, ModelStateDictionary modelState) { ValidationResult result = new ValidationResult(); try { if (formData.ID <= 0) { result.Message = ValidatorMessage.id_not_found; result.ModelStateErrorList.Add(new ModelStateError("", result.Message)); result.ErrorFlag = true; return(result); } using (TransactionScope scope = new TransactionScope()) { using (var context = new PYMFEEEntities()) { var appCompositeRole = new AppCompositeRole(); MVMMappingService.MoveData(formData, appCompositeRole); context.Entry(appCompositeRole).State = System.Data.Entity.EntityState.Deleted; context.SaveChanges(); //Delete Items context.AppCompositeRoleItems.RemoveRange(context.AppCompositeRoleItems.Where(m => m.CompositeRoleID == appCompositeRole.ID).ToList()); context.SaveChanges(); scope.Complete(); }//End Transaction } } catch (Exception ex) { result.Message = ex.ToString(); result.ModelStateErrorList.Add(new ModelStateError("", ex.ToString())); result.ErrorFlag = true; } return(result); }
public override ValidationResult SaveEdit(AppCompositeRoleViewModel formData, ModelStateDictionary modelState) { ValidationResult result = new ValidationResult(); try { result = ValidateFormData(formData, modelState); //Error if (result.ErrorFlag) { return(result); } if (formData.ID <= 0) { result.Message = ValidatorMessage.id_not_found; result.ModelStateErrorList.Add(new ModelStateError("", result.Message)); result.ErrorFlag = true; return(result); } using (TransactionScope scope = new TransactionScope()) { using (var context = new PYMFEEEntities()) { var appCompositeRole = new AppCompositeRole(); MVMMappingService.MoveData(formData, appCompositeRole); context.Entry(appCompositeRole).State = System.Data.Entity.EntityState.Modified; context.SaveChanges(); //Delete Items context.AppCompositeRoleItems.RemoveRange(context.AppCompositeRoleItems.Where(m => m.CompositeRoleID == appCompositeRole.ID).ToList()); context.SaveChanges(); //Save Items if (appCompositeRole.ID > 0) { List <string> roleList = new List <string>(); if (!string.IsNullOrEmpty(formData.AppMenuSelectedJSON)) { roleList = GetRoleListFromJSON(formData.AppMenuSelectedJSON); List <AppCompositeRoleItem> items = new List <AppCompositeRoleItem>(); foreach (var role in roleList) { if (string.IsNullOrEmpty(role)) { continue; } var item = new AppCompositeRoleItem(); item.CompositeRoleID = appCompositeRole.ID; item.RoleID = role; items.Add(item); } if (items.Count > 0) { context.AppCompositeRoleItems.AddRange(items); context.SaveChanges(); } } }//End Save Items scope.Complete(); }//End Transaction } } catch (Exception ex) { result.Message = ex.ToString(); result.ModelStateErrorList.Add(new ModelStateError("", ex.ToString())); result.ErrorFlag = true; } return(result); }