private void SaveCurrentForm(bool showDialog) { //string fileName = string.Empty; //if(xtraTabbedMdiManager1.SelectedPage ==null) //{ // return; //} //IControlDesigner designerForm = (IControlDesigner)xtraTabbedMdiManager1.SelectedPage.MdiChild; //fileName = designerForm.SavedFileName; //if(showDialog || designerForm.SavedFileName == string.Empty) //{ // ///TODO: usar Fwk.HelperFunctions.FileFunctions.OpenFileDialog_New // fileName = Common.Controls.Menu.Helper.SaveFile(designerForm.SavedFileName); //} //if (fileName == string.Empty) //{ // return; //} //designerForm.SaveToFile(fileName); Fwk.Security.FwkAuthorizationRule hh = new FwkAuthorizationRule(); }
private void grdRules_Click(object sender, EventArgs e) { _SelectedRule = (FwkAuthorizationRule)((System.Windows.Forms.BindingSource)grdRules.DataSource).Current; if (_SelectedRule != null) { lblSelectedRule.Text = _SelectedRule.Name; } }
private void grdViewRulesByCategory_FocusedRowChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs e) { if (((BindingSource)grdViewRulesByCategory.DataSource).Current == null) { return; } _FwkAuthorizationRule = ((FwkAuthorizationRule)((BindingSource)grdViewRulesByCategory.DataSource).Current); }
private void gridView_AllRules_MouseDown(object sender, MouseEventArgs e) { _GridHitInfo = gridView_AllRules.CalcHitInfo(new Point(e.X, e.Y)); _CurrentRule = ((FwkAuthorizationRule)gridView_AllRules.GetRow(_GridHitInfo.RowHandle)); if (_CurrentRule != null) { lblSelectedRule.Text = _CurrentRule.Name; } }
public bool AceptChanges() { if (string.IsNullOrEmpty(txtRuleName.Text)) { errorProvider1.SetError(txtRuleName, "Rule name must not be empty"); return(false); } try { if (_CurrentRule == null) { _CurrentRule = new FwkAuthorizationRule(); } _CurrentRule.Expression = txtRuleExpression.Text; if (base.State == Bases.EntityUpdateEnum.NEW) { _CurrentRule.Name = txtRuleName.Text; if (FwkMembership.ExistRule(txtRuleName.Text.Trim(), frmAdmin.Provider.Name)) { MessageViewInfo.Show(String.Format("The rule {0} exist", txtRuleName.Text)); txtRuleName.Focus(); return(false); } FwkMembership.CreateRule(_CurrentRule, frmAdmin.Provider.Name); MessageViewInfo.Show(String.Format(Properties.Resources.RuleCreatedMessage, txtRuleName.Text)); this.btnCreateRule.Enabled = false; } if (base.State == Bases.EntityUpdateEnum.UPDATED) { //Si Cambio el nombre if (_CurrentRule.Name.Trim().CompareTo(txtRuleName.Text.Trim()) != 0) { FwkMembership.UpdateRuleAndRuleName(_CurrentRule, txtRuleName.Text.Trim(), frmAdmin.Provider.Name); } else { FwkMembership.UpdateRule(_CurrentRule, frmAdmin.Provider.Name); } MessageViewInfo.Show(String.Format(Properties.Resources.RuleUpdatedMessage, txtRuleName.Text)); } NewSecurityInfoCreatedHandler(); } catch (Exception ex) { MessageViewInfo.Show(ex); return(false); } return(true); }
public CategoryTree AddRule(FwkAuthorizationRule pFwkAuthorizationRule) { CategoryTree wCategoryTree = new CategoryTree(); wCategoryTree.Name = pFwkAuthorizationRule.Name.Trim(); wCategoryTree.ParentId = this.Id; wCategoryTree.Id = string.Concat(this.Id, "_", pFwkAuthorizationRule.Name.Trim()); wCategoryTree.IsCategory = false; wCategoryTree.FwkAuthorizationRule = pFwkAuthorizationRule; FwkCategory.FwkRulesInCategoryList.Add(pFwkAuthorizationRule); return(wCategoryTree); }
/// <summary> /// /// </summary> /// <param name="ruleName"></param> public void Populate(string ruleName) { txtRuleName.Text = ruleName; _CurrentRule = FwkMembership.GetRule(ruleName, frmAdmin.Provider.Name); txtRuleExpression.Text = _CurrentRule.Expression; _AssignedRolList = new RolList(); _ExcludeUserList = new UserList(); FwkMembership.BuildRolesAndUsers_FromRuleExpression(_CurrentRule.Expression, out _AssignedRolList, out _ExcludeUserList); txtRuleExpression.Text = FwkMembership.BuildRuleExpression(_AssignedRolList, _ExcludeUserList); grdAssignedRoles.DataSource = null; grdAssignedRoles.DataSource = _AssignedRolList; grdUserExcluded.DataSource = null; grdUserExcluded.DataSource = _AssignedRolList; grdUserExcluded.Refresh(); grdAssignedRoles.Refresh(); }
private void gridView_AllRules_MouseDown(object sender, MouseEventArgs e) { _GridHitInfo = gridView_AllRules.CalcHitInfo(new Point(e.X, e.Y)); _CurrentRule = ((FwkAuthorizationRule)gridView_AllRules.GetRow(_GridHitInfo.RowHandle)); if (_CurrentRule != null) lblSelectedRule.Text = _CurrentRule.Name; }
/// <summary> /// Quita un rol de la expresion de la regla.- Modifica Expression /// </summary> /// <param name="pRol"></param> /// <param name="pRule"></param> public static void RemoveRol_From_Rule(Rol pRol, FwkAuthorizationRule pRule) { RolList rollistAux = null; UserList userList = null; BuildRolesAndUsers_FromRuleExpression(pRule.Expression, out rollistAux, out userList); //Quitar el rol a la regla si es que existe en la regla if (rollistAux.Any<Rol>(r => r.RolName.Equals(pRol.RolName))) { rollistAux.Remove(rollistAux.First<Rol>(r => r.RolName.Equals(pRol.RolName))); pRule.SetExpression(BuildRuleExpression(rollistAux, userList)); } }
/// <summary> /// Agrega un rol a la expresion de la regla.- Modifica Expression /// </summary> /// <param name="pRol"></param> /// <param name="pRule"></param> public static void Rule_AppenRol(Rol pRol, FwkAuthorizationRule pRule) { RolList rollistAux = null; UserList userList = null; BuildRolesAndUsers_FromRuleExpression(pRule.Expression, out rollistAux, out userList); //Agregar el rol a la regla rollistAux.Add(pRol); pRule.SetExpression(BuildRuleExpression(rollistAux, userList)); }
/// <summary> /// UpdateRule /// </summary> /// <param name="rule"></param> /// <param name="applicationName">Nombre de la aplicacion. Coincide con CompanyId en la arquitectura</param> /// <param name="connectionStringName">Nombre de cadena de coneccion del archivo de configuracion.-</param> private static void UpdateRule(FwkAuthorizationRule rule, string newRuleName, string applicationName, string connectionStringName) { //Verificar si existe if (!FwkMembership.ExistRule(rule.Name.Trim(), applicationName, connectionStringName)) { TechnicalException te = new TechnicalException(string.Format(Resource.Rule_NotExist, rule.Name)); te.ErrorId = "4004"; throw te; } try { Guid wApplicationId = GetApplication(applicationName, connectionStringName); using (Fwk.Security.RuleProviderDataContext dc = new Fwk.Security.RuleProviderDataContext(System.Configuration.ConfigurationManager.ConnectionStrings[connectionStringName].ConnectionString)) { var ruleToUpdate = dc.aspnet_Rules.Where(p => p.Id.Equals(rule.Id)).FirstOrDefault(); if (!string.IsNullOrEmpty(newRuleName)) ruleToUpdate.name = newRuleName; ruleToUpdate.expression = rule.Expression; ruleToUpdate.Description = rule.Description; dc.SubmitChanges(); } } catch (Exception ex) { TechnicalException te = new TechnicalException(Fwk.Security.Properties.Resource.MembershipSecurityGenericError, ex); ExceptionHelper.SetTechnicalException<FwkMembership>(te); te.ErrorId = "4000"; throw te; } }
/// <summary> /// Update rule. Not allow update the ruel name .- /// </summary> /// <param name="rule">Rule object <see cref="FwkAuthorizationRule"/></param> /// <param name="providerName">Membership provider name</param> public static void UpdateRule(FwkAuthorizationRule rule, string providerName) { SqlMembershipProvider wProvider = GetSqlMembershipProvider(providerName); UpdateRule(rule, string.Empty, wProvider.ApplicationName, GetProvider_ConnectionStringName(wProvider.Name)); }
public bool AceptChanges() { if (string.IsNullOrEmpty(txtRuleName.Text)) { errorProvider1.SetError(txtRuleName, "Rule name must not be empty"); return false; } try { if (_CurrentRule == null) _CurrentRule = new FwkAuthorizationRule(); _CurrentRule.Expression = txtRuleExpression.Text; if (base.State == Bases.EntityUpdateEnum.NEW) { _CurrentRule.Name = txtRuleName.Text; if (FwkMembership.ExistRule(txtRuleName.Text.Trim(), frmAdmin.Provider.Name)) { MessageViewInfo.Show(String.Format("The rule {0} exist", txtRuleName.Text)); txtRuleName.Focus(); return false; } FwkMembership.CreateRule(_CurrentRule, frmAdmin.Provider.Name); MessageViewInfo.Show(String.Format(Properties.Resources.RuleCreatedMessage, txtRuleName.Text)); this.btnCreateRule.Enabled = false; } if (base.State == Bases.EntityUpdateEnum.UPDATED) { //Si Cambio el nombre if (_CurrentRule.Name.Trim().CompareTo(txtRuleName.Text.Trim()) != 0) { FwkMembership.UpdateRuleAndRuleName(_CurrentRule, txtRuleName.Text.Trim(), frmAdmin.Provider.Name); } else { FwkMembership.UpdateRule(_CurrentRule, frmAdmin.Provider.Name); } MessageViewInfo.Show(String.Format(Properties.Resources.RuleUpdatedMessage, txtRuleName.Text)); } NewSecurityInfoCreatedHandler(); } catch (Exception ex) { MessageViewInfo.Show(ex); return false; } return true; }
/// <summary> /// crea una regla rule si es que la regla todavia no existe /// </summary> ///<param name="rule">aspnet_Rules</param> /// <param name="providerName">Nombre del proveedor de membership</param> /// <returns>void</returns> /// <Date>2010-12-22T11:29:57</Date> /// <Author>moviedo</Author> public static void CreateRule(FwkAuthorizationRule rule, string providerName) { SqlMembershipProvider wProvider = GetSqlMembershipProvider(providerName); string cnn = GetProvider_ConnectionStringName(wProvider.Name); CreateRule(rule, wProvider.ApplicationName, cnn); }
/// <summary> /// Retorna una lista de reglas de una determinada coneccion /// </summary> /// <param name="applicationName">Nombre de la aplicacion. Coincide con CompanyId en la arquitectura</param> /// <param name="connectionStringName">Nombre de cadena de coneccion del archivo de configuracion.-</param> /// <returns></returns> public static FwkAuthorizationRuleList GetRulesAuxList(string applicationName, string connectionStringName) { FwkAuthorizationRule rule = null; FwkAuthorizationRuleList wRules = null; try { Guid wApplicationId = GetApplication(applicationName, connectionStringName); wRules = new FwkAuthorizationRuleList(); using (Fwk.Security.RuleProviderDataContext dc = new Fwk.Security.RuleProviderDataContext(System.Configuration.ConfigurationManager.ConnectionStrings[connectionStringName].ConnectionString)) { var aspnet_Rules = from s in dc.aspnet_Rules where s.ApplicationId == wApplicationId select s; foreach (aspnet_Rule aspnet_Rule in aspnet_Rules.ToList<aspnet_Rule>()) { rule = new FwkAuthorizationRule(); rule.Id = aspnet_Rule.Id; rule.Name = aspnet_Rule.name.Trim(); rule.Expression = aspnet_Rule.expression; rule.Description = aspnet_Rule.Description; wRules.Add(rule); } } return wRules; } catch (TechnicalException tx) { throw tx; } catch (Exception ex) { TechnicalException te = new TechnicalException(string.Format(Resource.Rule_ProblemGetingAlls_Error, applicationName), ex); te.ErrorId = "4004"; Fwk.Exceptions.ExceptionHelper.SetTechnicalException<FwkMembership>(te); throw te; } }
/// <summary> /// /// </summary> /// <param name="ruleName"></param> /// <param name="applicationName"></param> /// <param name="connectionStringName"></param> /// <returns></returns> public static FwkAuthorizationRule GetRule(string ruleName, string applicationName, string connectionStringName) { aspnet_Rule waspnet_Rule = null; try { Guid wApplicationId = GetApplication(applicationName, connectionStringName); using (Fwk.Security.RuleProviderDataContext dc = new Fwk.Security.RuleProviderDataContext(System.Configuration.ConfigurationManager.ConnectionStrings[connectionStringName].ConnectionString)) { if (dc.aspnet_Rules.Any<aspnet_Rule>(s => s.name.Equals(ruleName.Trim()) && s.ApplicationId == wApplicationId)) { waspnet_Rule = dc.aspnet_Rules.First<aspnet_Rule>(s => s.name.Equals(ruleName.Trim()) && s.ApplicationId == wApplicationId); } FwkAuthorizationRule rule = new FwkAuthorizationRule(waspnet_Rule.name, waspnet_Rule.expression, waspnet_Rule.ApplicationId.Value); rule.Description = waspnet_Rule.Description; rule.Id = waspnet_Rule.Id; return rule; } } catch (TechnicalException tx) { throw tx; } catch (Exception ex) { TechnicalException te = new TechnicalException(string.Format(Resource.Rule_ProblemGetingData_Error, ruleName), ex); te.ErrorId = "4003"; Fwk.Exceptions.ExceptionHelper.SetTechnicalException<FwkMembership>(te); throw te; } }
/// <summary> /// Crea una regla /// </summary> /// <param name="rule"></param> /// <param name="applicationName">Nombre de la aplicacion. Coincide con CompanyId en la arquitectura</param> /// <param name="connectionStringName">Nombre de cadena de coneccion del archivo de configuracion.-</param> public static void CreateRule(FwkAuthorizationRule rule, string applicationName, string connectionStringName) { //Verificar si ya existe if (FwkMembership.ExistRule(rule.Name, applicationName, connectionStringName)) { TechnicalException te = new TechnicalException(string.Format(Resource.Rule_ExistError, rule.Name)); te.ErrorId = "4004"; throw te; } Database wDataBase = null; DbCommand wCmd = null; try { Guid wApplicationId = GetApplication(applicationName, connectionStringName); wDataBase = DatabaseFactory.CreateDatabase(connectionStringName); StringBuilder str = new StringBuilder(FwkMembershipScripts.Rule_i); str.Replace("[ApplicationId]", wApplicationId.ToString()); str.Replace("[rulename]", rule.Name.Trim()); str.Replace("[expression]", rule.Expression); if (!String.IsNullOrEmpty(rule.Description)) str.Replace("[description]", rule.Description.Trim()); else str.Replace("[description]", string.Empty); wCmd = wDataBase.GetSqlStringCommand(str.ToString()); wCmd.CommandType = CommandType.Text; wDataBase.ExecuteNonQuery(wCmd); } catch (TechnicalException tx) { throw tx; } catch (Exception ex) { TechnicalException te = new TechnicalException(string.Format(Resource.Rule_Crate_Error, rule.Name), ex); te.ErrorId = "4005"; Fwk.Exceptions.ExceptionHelper.SetTechnicalException<FwkMembership>(te); throw te; } }
/// <summary> /// Update rule and also allow change the name.- /// Update all rules in category relationships /// </summary> /// <param name="rule">Rule object <see cref="FwkAuthorizationRule"/></param> /// <param name="newRuleName">New rule name</param> /// <param name="providerName">Membership provider name</param> public static void UpdateRuleAndRuleName(FwkAuthorizationRule rule, string newRuleName, string providerName) { SqlMembershipProvider wProvider = GetSqlMembershipProvider(providerName); //Actualiza solo la regla UpdateRule(rule, newRuleName, wProvider.ApplicationName, GetProvider_ConnectionStringName(wProvider.Name)); }
private void treeList1_DragDrop(object sender, DragEventArgs e) { FwkAuthorizationRule rule = null; CategoryTree wCategoryTree_ToMove = null; TreeListHitInfo wHitInfo = treeList1.CalcHitInfo(treeList1.PointToClient(new Point(e.X, e.Y))); if (wHitInfo.Node == null) { return; } rule = e.Data.GetData(typeof(FwkAuthorizationRule)) as FwkAuthorizationRule; if (rule == null) { wCategoryTree_ToMove = e.Data.GetData(typeof(CategoryTree)) as CategoryTree; } //List<FwkAuthorizationRule> wRuleList = e.Data.GetData(typeof(List<FwkAuthorizationRule>)) as List<FwkAuthorizationRule>; //FwkAuthorizationRule rule = e.Data.GetData(typeof(FwkAuthorizationRule)) as FwkAuthorizationRule; #region Move rule if (rule != null) { _CurrentCategory = (CategoryTree)treeList1.GetDataRecordByNode(wHitInfo.Node); lblCurrentCategory.Text = _CurrentCategory.Name; if (_CurrentCategory.IsCategory == false) { //Obtengo el padre _ParentFwkCategory = _CategoryTreeList.Where(p => p.Id.Equals(_CurrentCategory.ParentId)).FirstOrDefault <CategoryTree>(); _CurrentCategory = _ParentFwkCategory; } #region Add Rules to Category if (!_CurrentCategory.AnyRule(rule.Name)) { _CurrentCategory.AddRule(rule); FwkMembership.CreateRuleInCategory(_CurrentCategory.FwkCategory, frmAdmin.Provider.Name); } #endregion PopulateAsync(); } #endregion if (wCategoryTree_ToMove != null) { if (wCategoryTree_ToMove.Id == _CurrentCategory.Id) { Cursor = Cursors.Default; return; } #region Mueve una categoria if (wCategoryTree_ToMove.IsCategory) { if (_CurrentCategory.IsCategory == false) { //Obtengo el padre de la categoria destino _ParentFwkCategory = _CategoryTreeList.Where(p => p.Id.Equals(_CurrentCategory.ParentId)).FirstOrDefault <CategoryTree>(); _CurrentCategory = _ParentFwkCategory; } if (wCategoryTree_ToMove.ParentId == _CurrentCategory.Id) { Cursor = Cursors.Default; return; } FwkMembership.UpdateParentCategory( wCategoryTree_ToMove.FwkCategory.CategoryId, wCategoryTree_ToMove.FwkCategory.ParentId.Value, _CurrentCategory.FwkCategory.CategoryId, frmAdmin.Provider.Name); } #endregion #region Mueve una regla a otra categoria if (wCategoryTree_ToMove.IsCategory == false) { if (_CurrentCategory.IsCategory == false) { //Obtengo el padre de la categoria destino _CurrentCategory = _CategoryTreeList.Where(p => p.Id.Equals(_CurrentCategory.ParentId)).FirstOrDefault <CategoryTree>(); } if (wCategoryTree_ToMove.ParentId == _CurrentCategory.Id) { Cursor = Cursors.Default; return; } if (!_CurrentCategory.AnyRule(wCategoryTree_ToMove.Name)) { _CurrentCategory.AddRule(wCategoryTree_ToMove.FwkAuthorizationRule); FwkMembership.CreateRuleInCategory(_CurrentCategory.FwkCategory, frmAdmin.Provider.Name); //Obtengo el padre de la regla a mover para eliminarle la regla _ParentFwkCategory = _CategoryTreeList.Where(p => p.Id.Equals(wCategoryTree_ToMove.ParentId)).FirstOrDefault <CategoryTree>(); _ParentFwkCategory.RemoveRule(wCategoryTree_ToMove.Name); FwkMembership.CreateRuleInCategory(_ParentFwkCategory.FwkCategory, frmAdmin.Provider.Name); } } #endregion PopulateAsync(); } Cursor = Cursors.Default; }