private void ActiveMenu(MenuModel data)
 {
     foreach (MenuModel menu in data.ChildMenus)
     {
         if (menu.ChildMenus != null && menu.ChildMenus.Count > 0)
         {
             foreach (MenuModel menuChild in menu.ChildMenus)
             {
                 ActiveMenu(menuChild);
             }
         }
         else if (menu.Permissions != null && menu.Permissions.Count > 0)
         {
             foreach (Permission perm in menu.Permissions)
             {
                 SECRolePermission exist = EasyApp.Current.User.Role.RolePermissions.FirstOrDefault(x => x.MenuId == menu.Id && x.PermissionId == perm.Id && x.Active == true);
                 if (exist != null)
                 {
                     menu.Visibility = Visibility.Visible;
                 }
             }
         }
         if (menu.Visibility == Visibility.Visible)
         {
             data.Visibility = Visibility.Visible;
         }
     }
 }
 public override SECRolePermission Execute(SECRolePermission data, Actions action, Options option, string token)
 {
     try
     {
         if (action == Actions.Add || action == Actions.Modify || action == Actions.Remove || (action == Actions.Find && (option == Options.Me || option == Options.Exist)))
         {
             if ((action == Actions.Add || action == Actions.Modify) && option == Options.All)
             {
                 BenginTransaction();
             }
             data = base.Execute(data, action, option, token);
             if (action == Actions.Find && option == Options.Me)
             {
             }
             if ((action == Actions.Add || action == Actions.Modify) && option == Options.All)
             {
                 AddDetails(data);
             }
             //if (option == Options.All)
             //    Work.Commit();
             return(data);
         }
         else if (action == Actions.Find && (option == Options.All || option == Options.Light))
         {
             if (option == Options.All)
             {
                 data.Entities = FindAll(data, Options.All);
             }
             else if (option == Options.Light)
             {
                 data.Entities = FindAll(data, Options.Light);
             }
             return(data);
         }
         else if (action == Actions.Process)
         {
             return(Process(data));
         }
         else
         {
             throw new NotImplementedException(GetLocalizedMessage(Language.DLACTIONNOTIMPLEMENT, action.ToString(), option.ToString()));
         }
     }
     catch (FaultException <BusinessException> f)
     {
         Rollback();
         throw f;
     }
     catch (Exception e)
     {
         Rollback();
         throw new BusinessException(e).GetFaultException();
     }
     finally
     {
         Commit();
     }
 }
 public override void FindByIdRules(SECRolePermission data)
 {
     if (data == null)
     {
         AddExceptionMessage(Language.DLTABLEVALUENULL, "SECRolePermission", "SECRolePermissions");
     }
     if (data.RoleId == 0 && data.PermissionId == 0 && data.MenuId == 0 && data.Id == 0)
     {
         AddExceptionMessage(Language.DLTABLEIDNOTNULL, "SECRolePermission");
     }
 }
Beispiel #4
0
 private void CheckSecurity(BaseViewModel viewModel, int menuId)
 {
     if (viewModel.Permisions != null && viewModel.Permisions.Count > 0)
     {
         foreach (Permission perm in viewModel.Permisions)
         {
             SECRolePermission exist = EasyApp.Current.User.Role.RolePermissions.FirstOrDefault(x => x.MenuId == menuId && x.RoleId == EasyApp.Current.User.Role.Id && x.PermissionId == perm.Id);
             if (exist != null)
             {
                 perm.Active = exist.Active;
             }
         }
     }
 }
Beispiel #5
0
        public override String GetQuery(SECRolePermission data, Boolean byId)
        {
            String dml = base.GetQuery(data, byId);

            if (byId)
            {
                //add more parameters to method for query by id7
                if (data.RoleId != 0)
                {
                    dml += "             AND a.RoleId = :RoleId \n";
                }
                if (data.MenuId != 0)
                {
                    dml += "             AND a.MenuId = :MenuId \n";
                }
                if (data.PermissionId != 0)
                {
                    dml += "             AND a.PermissionId = :PermissionId \n";
                }
            }
            else
            {
                //Determine if the boolean values ​​are taken included as part of the consultation
                //dml += "             AND a.Active = :Active \n" ;
                //dml += "             AND a.Saves = :Saves \n" ;
                //dml += "             AND a.Updates = :Updates \n" ;
                //dml += "             AND a.Deletes = :Deletes \n" ;
                //dml += "             AND a.Queries = :Queries \n" ;
                //dml += "             AND a.Option1 = :Option1 \n" ;
                //dml += "             AND a.Option2 = :Option2 \n" ;
                //dml += "             AND a.Option3 = :Option3 \n" ;
                //dml += "             AND a.Option4 = :Option4 \n" ;
                //dml += "             AND a.Option5 = :Option5 \n" ;
                //dml += "             AND a.Option6 = :Option6 \n" ;
                //dml += "             AND a.Option7 = :Option7 \n" ;
                //dml += "             AND a.Option8 = :Option8 \n" ;
                //dml += "             AND a.Option9 = :Option9 \n" ;
                //dml += "             AND a.Option10 = :Option10 \n" ;

                //add more parameters to method for query by any field
                if (data.Role != null && data.Role.Id != 0)
                {
                    dml += "             AND a.Role.Id = :Role \n";
                }

                dml += " order by a.Id asc ";
            }
            return(dml);
        }
 public SECRolePermission Process(SECRolePermission data)
 {
     if (data != null && data.Entities != null && data.Entities.Count > 0)
     {
         foreach (SECRolePermission item in data.Entities)
         {
             SECRolePermission exis = Execute(item, Actions.Find, Options.Me, "");
             if (exis == null)
             {
                 item.UpdatedBy  = data.UpdatedBy;
                 item.LastUpdate = DateTime.Now;
                 Execute(item, Actions.Add, Options.Me, "");
             }
         }
     }
     return(data);
 }
Beispiel #7
0
        public override void SetQueryParameters(IQuery query, SECRolePermission data, Boolean byId)
        {
            base.SetQueryParameters(query, data, byId);
            if (byId)
            {
                //add more parameters to method for query by id
                if (data.RoleId != 0)
                {
                    query.SetInt32("RoleId", data.RoleId);
                }
                if (data.MenuId != 0)
                {
                    query.SetInt32("MenuId", data.MenuId);
                }
                if (data.PermissionId != 0)
                {
                    query.SetInt32("PermissionId", data.PermissionId);
                }
            }
            else
            {
                //Determine if the boolean values ​​are taken included as part of the consultation
                //query.SetBoolean("Active",  data.Active);
                //query.SetBoolean("Saves",  data.Saves);
                //query.SetBoolean("Updates",  data.Updates);
                //query.SetBoolean("Deletes",  data.Deletes);
                //query.SetBoolean("Queries",  data.Queries);
                //query.SetBoolean("Option1",  data.Option1);
                //query.SetBoolean("Option2",  data.Option2);
                //query.SetBoolean("Option3",  data.Option3);
                //query.SetBoolean("Option4",  data.Option4);
                //query.SetBoolean("Option5",  data.Option5);
                //query.SetBoolean("Option6",  data.Option6);
                //query.SetBoolean("Option7",  data.Option7);
                //query.SetBoolean("Option8",  data.Option8);
                //query.SetBoolean("Option9",  data.Option9);
                //query.SetBoolean("Option10",  data.Option10);

                //add more parameters to method for query by any field
                if (data.Role != null && data.Role.Id != 0)
                {
                    query.SetInt32("Role", data.Role.Id);
                }
            }
        }
Beispiel #8
0
 public void OnRefreshSecurityCommand(object obj)
 {
     try
     {
         var shell = container.Resolve <IShellView>();
         if (shell.ViewModel.Model.Menus != null && shell.ViewModel.Model.Menus.Count > 0)
         {
             SECRolePermission permissions = new SECRolePermission();
             permissions.UpdatedBy = EasyApp.Current.User.Login;
             permissions.Entities  = new List <SECRolePermission>();
             foreach (MenuModel menu in shell.ViewModel.Model.Menus)
             {
                 if (menu != null && menu.Permissions != null && menu.Permissions.Count > 0)
                 {
                     foreach (var item in menu.Permissions)
                     {
                         permissions.Entities.Add(new SECRolePermission {
                             MenuId = menu.Id, PermissionId = item.Id, RoleId = Model.Id, Active = true
                         });
                     }
                 }
                 if (menu.ChildMenus != null && menu.ChildMenus.Count > 0)
                 {
                     foreach (MenuModel child in menu.ChildMenus)
                     {
                         foreach (var item in child.Permissions)
                         {
                             permissions.Entities.Add(new SECRolePermission {
                                 MenuId = child.Id, PermissionId = item.Id, RoleId = Model.Id, Active = true
                             });
                         }
                     }
                 }
             }
             EasyApp.Current.eToolsServer().Execute(permissions, Actions.Process, Options.All, EasyApp.Current.DefaultDatabaseSettingName, "");
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(new BusinessException(ex).GetExceptionMessage(), "Error", MessageBoxButton.OK);
         FormIsBusy = false;
     }
 }
Beispiel #9
0
 public override List <SECRolePermission> FindAll(SECRolePermission data, Options option)
 {
     return(base.FindAll(data, option));
 }
Beispiel #10
0
 public override SECRolePermission FindById(SECRolePermission data)
 {
     return(base.FindById(data));
 }
Beispiel #11
0
 public override void AddMoreDetailFindById(SECRolePermission data)
 {
 }
Beispiel #12
0
 public override void SaveOrUpdateDetails(SECRolePermission data)
 {
     base.SaveOrUpdateDetails(data);
 }
 public override void CommonRules(SECRolePermission data)
 {
     base.CommonRules(data);
 }
 public override void RemoveRules(SECRolePermission data)
 {
     base.RemoveRules(data);
 }
 public override void ModifyRules(SECRolePermission data)
 {
     base.ModifyRules(data);
     data.LastUpdate = DateTime.Now;
 }
Beispiel #16
0
 public override async void SaveAction(bool createNew)
 {
     try
     {
         if (Model.IsValid)
         {
             Model.UpdatedBy = EasyApp.Current.User.Login;
             if (Model.RoleMenuPermissions != null && Model.RoleMenuPermissions.Count > 0)
             {
                 foreach (MenuModel menu in Model.RoleMenuPermissions)
                 {
                     if (menu.Permissions != null && menu.Permissions.Count > 0)
                     {
                         foreach (Permission perm in menu.Permissions)
                         {
                             SECRolePermission exist = Model.RolePermissions.FirstOrDefault(x => x.MenuId == menu.Id && x.RoleId == Model.Id && x.PermissionId == perm.Id);
                             if (exist != null)
                             {
                                 exist.Active = perm.Active;
                             }
                             else
                             {
                                 exist              = new SECRolePermission();
                                 exist.Active       = perm.Active;
                                 exist.MenuId       = menu.Id;
                                 exist.RoleId       = Model.Id;
                                 exist.PermissionId = perm.Id;
                                 Model.RolePermissions.Add(exist);
                             }
                         }
                     }
                 }
             }
             SECRole data = null;
             if (Model.Id == 0 && Permisions.FirstOrDefault(x => x.Id == 1).Active)
             {
                 data = ((SECRole)await EasyApp.Current.eToolsServer().ExecuteAsync(Model.Entity, Actions.Add, Options.All, EasyApp.Current.DefaultDatabaseSettingName, ""));
             }
             else if (Model.Id != 0 && Permisions.FirstOrDefault(x => x.Id == 2).Active)
             {
                 data = ((SECRole)await EasyApp.Current.eToolsServer().ExecuteAsync(Model.Entity, Actions.Modify, Options.All, EasyApp.Current.DefaultDatabaseSettingName, ""));
             }
             else
             {
                 throw new Exception(GetLocalizedMessage(Language.ApplicationValidateSaveModified, ((Model.Id == 0) ? GetLocalizedMessage(Language.ApplicationAdd) : GetLocalizedMessage(Language.ApplicationModified))));
             }
             if (data != null)
             {
                 if (Model.Details.IndexOf(data) != -1)
                 {
                     Model.Details[Model.Details.IndexOf(data)] = data;
                 }
                 else
                 {
                     Model.Details.Add(data);
                 }
                 Model.Entity = data;
                 PostSaveAction(createNew: true);
             }
         }
         else
         {
             PostSaveAction(errorTitle: GetLocalizedMessage(Language.ApplicationInformation), errorMessage: GetLocalizedMessage(Language.ApplicationPendingValidations), showMessageError: true, createNew: false, image: MessageBoxImage.Information);
         }
     }
     catch (Exception ex)
     {
         PostSaveAction(errorTitle: GetLocalizedMessage(Language.ApplicationError), errorMessage: new BusinessException(ex).GetExceptionMessage(), showMessageError: true, createNew: false, image: MessageBoxImage.Error);
     }
 }
 public void AddDetails(SECRolePermission data)
 {
 }