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"); } }
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; } } } }
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); }
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); } } }
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; } }
public override List <SECRolePermission> FindAll(SECRolePermission data, Options option) { return(base.FindAll(data, option)); }
public override SECRolePermission FindById(SECRolePermission data) { return(base.FindById(data)); }
public override void AddMoreDetailFindById(SECRolePermission data) { }
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; }
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) { }