//[Log("New menu {item.ParentMenuName}.{item.PartialName}")]
        public ActionResult IndentedMenuDefinitionGridViewPartialAddNew([ModelBinder(typeof(DevExpressEditorsBinder))]
                                                                        MenuItemNodeViewModel item)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    var parentMenu = Db.MenuItems.FirstOrDefault(m => m.ShortName == item.ParentMenuName);
                    Db.AddEntity(new MenuItem
                    {
                        ShortName      = string.IsNullOrEmpty(item.ParentMenuName) ? $"{item.PartialName}" : $"{item.ParentMenuName}.{item.PartialName}",
                        Caption        = item.Caption,
                        Url            = item.Url,
                        IsModule       = string.IsNullOrEmpty(item.ParentMenuName),
                        ParentMenuItem = (MenuItem)parentMenu,
                        MenuOrder      = item.MenuOrder ??
                                         parentMenu?.ChildMenuItems?.Max(cm => cm.MenuOrder as decimal?) + 1 ?? 0,
                    });
                    Db.SaveChanges();
                }
                catch (DbEntityValidationException e)
                {
                    ViewData["EditError"] = "DbEntityValidationException: "
                                            + string.Join("; ",
                                                          e.EntityValidationErrors.Select(eve =>
                                                                                          string.Join(", ",
                                                                                                      eve.ValidationErrors.Select(ve =>
                                                                                                                                  $"{ve.PropertyName}: {ve.ErrorMessage}").ToList()))
                                                          .ToList());
                }
                catch (SqlException e)
                {
                    ViewData["EditError"] = e.Message + ". " + e.InnerException?.Message + ". " +
                                            e.InnerException?.InnerException?.Message;
                }
                catch (Exception e)
                {
                    ViewData["EditError"] = e.Message + ". " + e.InnerException?.Message + ". " +
                                            e.InnerException?.InnerException?.Message;
                }
            }
            else
            {
                ViewData["EditError"] = "Please, correct all errors.";
            }

            return(string.IsNullOrEmpty(ViewData["EditError"]?.ToString())
                ? IndentedMenuDefinitionGridViewPartial()
                   .WithSuccess("Menu created!")
                : IndentedMenuDefinitionGridViewPartial()
                   .WithWarning("Save failed!"));
        }
Пример #2
0
        public ActionResult UsersGridViewPartialAddNew([ModelBinder(typeof(DevExpressEditorsBinder))]
                                                       UserViewModel item)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    Db.AddEntity(new User
                    {
                        UserName = item.UserName,
                        Person   = new Person
                        {
                            FirstName  = item.FirstName,
                            MiddleName = item.MiddleName,
                            LastName   = item.LastName
                        },
                        PasswordHash        = PasswordHelper.HashPassword(item.ConfirmNewAccountPassword),
                        EmailAddress        = item.EmailAddress,
                        IsActive            = item.IsAccountActive,
                        MonitorOperator_EEH = item.MonitorOperator_EEH,
                        MonitorOperator_EEI = item.MonitorOperator_EEI,
                    });
                    Db.SaveChanges();
                }
                catch (DbEntityValidationException e)
                {
                    ViewData["EditError"] = "DbEntityValidationException: "
                                            + string.Join("; ",
                                                          e.EntityValidationErrors.Select(eve =>
                                                                                          string.Join(", ",
                                                                                                      eve.ValidationErrors.Select(ve =>
                                                                                                                                  $"{ve.PropertyName}: {ve.ErrorMessage}").ToList()))
                                                          .ToList());
                }
                catch (SqlException e)
                {
                    ViewData["EditError"] = $"SqlException: {e.Message} {e.InnerException?.Message}";
                }
                catch (Exception e)
                {
                    ViewData["EditError"] = $"Exception: {e.Message} {e.InnerException?.Message}";
                }
            }
            else
            {
                ViewData["EditError"] = "Please, correct all errors.";
            }

            return(UsersGridViewPartial());
        }
 public ActionResult RolesGridViewPartialAddNew([ModelBinder(typeof(DevExpressEditorsBinder))] RoleViewModel item)
 {
     if (ModelState.IsValid)
     {
         try
         {
             Db.AddEntity(new Role
             {
                 Name        = item.Name,
                 Description = item.Description,
             });
             Db.SaveChanges();
         }
         catch (DbEntityValidationException e)
         {
             ViewData["EditError"] = "DbEntityValidationException: "
                                     + string.Join("; ",
                                                   e.EntityValidationErrors.Select(eve =>
                                                                                   string.Join(", ",
                                                                                               eve.ValidationErrors.Select(ve =>
                                                                                                                           $"{ve.PropertyName}: {ve.ErrorMessage}").ToList()))
                                                   .ToList());
         }
         catch (SqlException e)
         {
             ViewData["EditError"] = e.Message + ". " + e.InnerException?.Message + ". " + e.InnerException?.InnerException?.Message;
         }
         catch (Exception e)
         {
             ViewData["EditError"] = e.Message + ". " + e.InnerException?.Message + ". " + e.InnerException?.InnerException?.Message;
         }
     }
     else
     {
         ViewData["EditError"] = "Please, correct all errors.";
     }
     return(RolesGridViewPartial());
 }