public int DeleteSysPrivilegeByAccess(string sysId, PrivilegeAccess access, IDbTransaction trans)
        {
            var p = new DynamicParameters();

            p.Add(Constant.ColumnSysPrivilegePrivilegeAccess, access);
            p.Add(Constant.ColumnSysPrivilegePrivilegeAccessKey, sysId.Trim());

            return(base.DeleteByWhere(
                       string.Format("{1}={0}{1} and {2}={0}{2}", Constant.SqlReplaceParameterPrefix, Constant.ColumnSysPrivilegePrivilegeAccess, Constant.ColumnSysPrivilegePrivilegeAccessKey), trans, p));
        }
示例#2
0
        private async void btnGenerateSheet_Click(object sender, EventArgs e)
        {
            if (!isConnected)
            {
                MessageBox.Show("Please connect to crm oganization firts!", "Error"); return;
            }
            includeAllEntities = cbIncludeAllEntities.Checked;
            List <string> selectedEntities = new List <string>();

            includeAppend            = cbAppend.Checked;
            includeAssign            = cbAssign.Checked;
            btnGenerateSheet.Enabled = false;
            var tempRoles = new List <SecurityRole>(roles);

            foreach (TreeNode node in this.treeView1.Nodes)
            {
                if (!node.Checked)
                {
                    tempRoles.Remove(tempRoles.Where(x => x.Id.ToString() == node.Name).FirstOrDefault());
                }
            }
            await Task.Run(() =>
            {
                FileManager.WriteToFile(tempRoles.Select(x => x.Id.ToString()).ToList(), "PrevSelectedRoles");
            });

            Console.WriteLine($"Fetching Entity Meta Data!");
            await Task.Run(() =>
            {
                MetaDataHandler metaDataHandler = new MetaDataHandler(orgService);
                if (metaDataList.Count == 0)
                {
                    metaDataList = metaDataHandler.GetEntitiesMetDataList();
                }

                IAsyncResult result = this.BeginInvoke((Action)(() =>
                {
                    ChooseEntities chooseEntities = new ChooseEntities(selectedEntities, metaDataList, metaDataHandler);
                    chooseEntities.ShowDialog();
                }
                                                                ));
                result.AsyncWaitHandle.WaitOne();

                List <Permission> permissionList = new List <Permission>();

                if (includeAllEntities)
                {
                    if (tempRoles.Where(x => x.Name == SystemAdminRoleName).Count() == 0)
                    {
                        tempRoles.Add(roles.Where(x => x.Name == SystemAdminRoleName).FirstOrDefault());
                    }
                    else
                    {
                        isSystemAdminSelected = true;
                    }
                }
                foreach (var role in tempRoles)
                {
                    PrivilegeAccess privilegeAccess = new PrivilegeAccess(orgService);
                    privilegeAccess.GetRolePermission(role, permissionList);

                    result = this.BeginInvoke((Action)(() =>
                    {
                        Console.WriteLine($"Fetching {role.Name} Security Role Details");
                    }
                                                       ));
                    result.AsyncWaitHandle.WaitOne();
                }
                Console.WriteLine($"Creating File!");

                //foreach (var a in metaDataList) {
                //    Console.WriteLine(a.LogicalName +" "+ a.DisplayName +" " + a.SchemaName + " "+ a.GroupName);
                //}

                var fileName = string.Empty;
                result       = this.BeginInvoke((Action)(() =>
                {
                    var saveFileDialog = new System.Windows.Forms.SaveFileDialog();
                    saveFileDialog.DefaultExt = "xlsx";
                    saveFileDialog.Filter = "Excel files (*.xlsx)|*.xlsx|All files (*.*)|*.*";
                    saveFileDialog.ShowDialog();
                    fileName = saveFileDialog.FileName;
                }
                                                         ));
                result.AsyncWaitHandle.WaitOne();
                if (fileName.Length > 0)
                {
                    RolesHandler rolesHandler = new RolesHandler();
                    rolesHandler.SetDisplayNameAndGroup(permissionList, metaDataList);
                    permissionList = permissionList.Where(x => selectedEntities.Contains(x.EntityName)).ToList();
                    permissionList = permissionList.OrderBy(x => x.EntityName).ThenBy(y => y.ActionName).ToList();

                    var dt = rolesHandler.CreateTableForSingleSheet(permissionList);
                    if (isSystemAdminSelected == false)
                    {
                        if (dt.Columns.Contains(SystemAdminRoleName))
                        {
                            dt.Columns.Remove(SystemAdminRoleName);
                        }
                    }
                    rolesHandler.CreateExcel(dt, fileName);
                }


                this.BeginInvoke((Action)(() =>
                {
                    btnGenerateSheet.Enabled = true;
                }
                                          ));
            });
        }