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