public override UpdateRulesRes Execute(UpdateRulesReq pServiceRequest) { UpdateRulesRes wRes = new UpdateRulesRes(); pServiceRequest.BusinessData.FwkAuthorizationRuleList.ForEach(r => FwkMembership.UpdateRule(r, pServiceRequest.SecurityProviderName)); return(wRes); }
public override DeleteRoleRes Execute(DeleteRoleReq pServiceRequest) { Rol wRol; DeleteRoleRes wRes = new DeleteRoleRes(); //Elimina el rol: Este componente si el rol tiene o no asociado usuarios //FwkMembership.DeleteRole(pServiceRequest.BusinessData.RolName, pServiceRequest.SecurityProviderName); if (FwkMembership.GetUsersInRole(pServiceRequest.BusinessData.RolName, pServiceRequest.SecurityProviderName).Count != 0) { throw new FunctionalException(string.Format("El rol {0} contiene usuarios asociados.-", pServiceRequest.BusinessData.RolName)); } //Elimino todas las asociciones de las reglas al rol.- Se modificara el valor Expression de la regla List <FwkAuthorizationRule> ruleListAux = FwkMembership.GetRulesByRole(pServiceRequest.BusinessData.RolName, pServiceRequest.SecurityProviderName); //TODO: Revisar este codigo e actualizacion de reglas si esta bien foreach (FwkAuthorizationRule rule in ruleListAux) { wRol = new Rol(pServiceRequest.BusinessData.RolName); FwkMembership.RemoveRol_From_Rule(wRol, rule); FwkMembership.UpdateRule(rule, pServiceRequest.SecurityProviderName); } FwkMembership.DeleteRole(pServiceRequest.BusinessData.RolName, pServiceRequest.SecurityProviderName); return(wRes); }
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); }