Ejemplo n.º 1
0
        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();
        }
Ejemplo n.º 2
0
 private void grdRules_Click(object sender, EventArgs e)
 {
     _SelectedRule = (FwkAuthorizationRule)((System.Windows.Forms.BindingSource)grdRules.DataSource).Current;
     if (_SelectedRule != null)
     {
         lblSelectedRule.Text = _SelectedRule.Name;
     }
 }
Ejemplo n.º 3
0
 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);
 }
Ejemplo n.º 4
0
 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;
     }
 }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 6
0
        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);
        }
Ejemplo n.º 7
0
        /// <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();
        }
Ejemplo n.º 8
0
        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;

        }
Ejemplo n.º 9
0
        /// <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));
            }



        }
Ejemplo n.º 10
0
        /// <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));
        }
Ejemplo n.º 11
0
        /// <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;
            }
        }
Ejemplo n.º 12
0
 /// <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));
 }
Ejemplo n.º 13
0
        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;
 
        }
Ejemplo n.º 14
0
        /// <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);
        }
Ejemplo n.º 15
0
        /// <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;
            }

        }
Ejemplo n.º 16
0
        /// <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;
            }

        }
Ejemplo n.º 17
0
        /// <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;
            }

        }
Ejemplo n.º 18
0
        /// <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));
        }
Ejemplo n.º 19
0
        /// <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();
        }
Ejemplo n.º 20
0
        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;
        }