//update SecurityUserRight object
        public bool Update(SecurityRoleAccess pSecurityRoleAccess)
        {
            try
            {
                if (pSecurityRoleAccess.ID > 0)
                {
                    SecurityRoleAccess vSecurityRoleAccess = rep.Find(pSecurityRoleAccess.ID);
                    if (vSecurityRoleAccess != null)
                    {
                        //vSecurityUserRight.ID = pSecurityUserRight.ID;
                        vSecurityRoleAccess.RoleCode        = pSecurityRoleAccess.RoleCode;
                        vSecurityRoleAccess.ApplicationCode = pSecurityRoleAccess.ApplicationCode;
                        vSecurityRoleAccess.FormCode        = pSecurityRoleAccess.FormCode;
                        vSecurityRoleAccess.FormActionCode  = pSecurityRoleAccess.FormActionCode;
                        vSecurityRoleAccess.ActionValue     = pSecurityRoleAccess.ActionValue;

                        rep.Edit(vSecurityRoleAccess);
                        rep.SaveChanges();
                        return(true);
                    }
                }
                return(false);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Пример #2
0
        private async void btnFetch_Click(object sender, EventArgs e)
        {
            if (!isConnected)
            {
                MessageBox.Show("Please connect to crm oganization firts!", "Error"); return;
            }
            btnFetch.Enabled = false;
            Console.WriteLine("Fetching Roles!");
            roles.Clear();
            this.treeView1.Nodes.Clear();
            await Task.Run(() =>
            {
                SecurityRoleAccess roleAccess = new SecurityRoleAccess(orgService);
                roles = roleAccess.GetSecurityRoles().OrderBy(x => x.Name).ToList();

                IAsyncResult result = this.BeginInvoke((Action)(() =>
                {
                    foreach (var role in roles)
                    {
                        TreeNode mainNode = new TreeNode();
                        mainNode.Name = role.Id.ToString();
                        mainNode.Text = role.Name;
                        //mainNode.Checked = true;
                        this.treeView1.Nodes.Add(mainNode);
                    }
                    btnFetch.Enabled = true;
                }
                                                                ));
                result.AsyncWaitHandle.WaitOne();
                var prevSelectedRoles = FileManager.ReadFromFile <List <string> >("PrevSelectedRoles");
                if (prevSelectedRoles?.Count > 0)
                {
                    foreach (TreeNode node in this.treeView1.Nodes)
                    {
                        if (prevSelectedRoles.Where(x => x == node.Name).Count() > 0)
                        {
                            this.BeginInvoke((Action)(() => { node.Checked = true; }));
                        }
                        else
                        {
                            this.BeginInvoke((Action)(() => { node.Checked = false; }));
                        }
                    }
                }
            });

            Console.WriteLine($"{roles.Count()} Security Roles Found!");
        }
        //000000000
        public List <SecurityRoleAccess> GetByRoleForm(SecurityRole pSecurityRole, SecurityForm pSecurityForm)
        {
            List <SecurityRoleAccess>        vList  = new List <SecurityRoleAccess>();
            IRepository <SecurityRoleAccess> repSUA = new Repository <SecurityRoleAccess>(ctx);

            try
            {
                var query = from a in ctx.SecurityFormActions
                            join b in ctx.SecurityRoleAccesses.Where(o => o.RoleCode == pSecurityRole.RoleCode) on
                            new { a.ApplicationCode, a.FormCode, a.FormActionCode } equals new { b.ApplicationCode, b.FormCode, b.FormActionCode } into Details
                from ra in Details.DefaultIfEmpty()
                where a.ApplicationCode == pSecurityForm.ApplicationCode && a.FormCode == pSecurityForm.FormCode
                    select new { a, ra };

                //string strQuery = "exec sp_SecurityUserActionALL @UserID='" + pSecurityUser.ID + "', @UserCode='" + pSecurityUser.UserCode + "', @FormID='" + pSecurityForm.ID + "'";


                foreach (var eachItem in query)
                {
                    if (eachItem.ra == null)
                    {
                        SecurityRoleAccess oNew = new SecurityRoleAccess();
                        oNew.RoleCode        = pSecurityRole.RoleCode;
                        oNew.ApplicationCode = eachItem.a.ApplicationCode;
                        oNew.FormCode        = eachItem.a.FormCode;

                        oNew.FormActionCode = eachItem.a.FormActionCode;
                        oNew.FormActionName = eachItem.a.FormActionName;
                        oNew.ActionValue    = "N";

                        vList.Add(oNew);
                    }
                    else
                    {
                        eachItem.ra.FormActionName = eachItem.a.FormActionName;
                        vList.Add(eachItem.ra);
                    }
                }

                return(vList);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        //insert SecurityUserRight object
        public bool Insert(SecurityRoleAccess pSecurityRoleAccess)
        {
            try
            {
                //pSecurityRoleAccess.ID = GetMaxID();
                pSecurityRoleAccess.RoleCode        = pSecurityRoleAccess.RoleCode;
                pSecurityRoleAccess.ApplicationCode = pSecurityRoleAccess.ApplicationCode;
                pSecurityRoleAccess.FormCode        = pSecurityRoleAccess.FormCode;
                pSecurityRoleAccess.FormActionCode  = pSecurityRoleAccess.FormActionCode;
                pSecurityRoleAccess.ActionValue     = pSecurityRoleAccess.ActionValue;

                rep.Add(pSecurityRoleAccess);
                rep.SaveChanges();

                return(true);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }