public List <ModulewisePageAccessData> GetModulewisePermissionList()
        {
            List <ModulewisePageAccessData> listmodulewisePageAccessData = new List <ModulewisePageAccessData>();



            IDatabaseHelper objSqlADOHelper = new SqlADOHelper();

            SqlParameter[] paramArray = new SqlParameter[1];

            paramArray[0] = RepositoryUtility.AddSQLParameter("@responsemessage", SqlDbType.VarChar, ParameterDirection.Output, null, 500);


            var dt = objSqlADOHelper.GetData(paramArray, StoredProcedureNameConstants.SpGetAllModulesWisePermissionData);

            foreach (DataRow row in dt.Rows)
            {
                PageData permissionData = new PageData();
                permissionData.PageId   = Convert.ToInt32(row.ItemArray[0]);
                permissionData.PageName = Convert.ToString(row.ItemArray[1]);

                ModuleData moduleData = new ModuleData();
                moduleData.ModuleId   = Convert.ToInt32(row.ItemArray[2]);
                moduleData.ModuleName = Convert.ToString(row.ItemArray[3]);
                bool isAlreadyModuleaddedd = false;
                foreach (var moduleWisePageAccess in listmodulewisePageAccessData)
                {
                    if (moduleWisePageAccess.Module != null)
                    {
                        if (moduleWisePageAccess.Module.ModuleId == moduleData.ModuleId)
                        {
                            moduleWisePageAccess.pageList.Add(permissionData);
                            isAlreadyModuleaddedd = true;
                        }
                    }
                }

                if (isAlreadyModuleaddedd == false)
                {
                    ModulewisePageAccessData modulewisePageAccessData = new ModulewisePageAccessData();
                    modulewisePageAccessData.Module = moduleData;
                    modulewisePageAccessData.pageList.Add(permissionData);
                    listmodulewisePageAccessData.Add(modulewisePageAccessData);
                }
            }
            return(listmodulewisePageAccessData);
        }
        public bool MapModuleWisePageAccessWithRole(List <ModuleWisePageAccessEntity> listModulewisePermissionEntity)
        {
            try
            {
                List <ModulewisePageAccessData> listModulewisePermissionData = new List <ModulewisePageAccessData>();



                foreach (var modulewisePermissionEntity in listModulewisePermissionEntity)
                {
                    ModulewisePageAccessData modulewisePermissionData = new ModulewisePageAccessData();
                    modulewisePermissionData.Module            = new ModuleData();
                    modulewisePermissionData.Module.ModuleId   = modulewisePermissionEntity.Module.ModuleId;
                    modulewisePermissionData.Module.ModuleName = modulewisePermissionEntity.Module.ModuleName;
                    modulewisePermissionData.Role = new RoleData();
                    if (modulewisePermissionEntity.Role != null)
                    {
                        if (modulewisePermissionEntity.Role.RoleId != 0)
                        {
                            modulewisePermissionData.Role.RoleId = modulewisePermissionEntity.Role.RoleId;
                        }
                    }
                    foreach (var permissionEntity in modulewisePermissionEntity.pageList)
                    {
                        PageData permissionData = new PageData();
                        permissionData.PageId         = permissionEntity.PageId;
                        permissionData.PageName       = permissionEntity.PageName;
                        permissionData.IsPageSelected = permissionEntity.IsPageSelected;
                        modulewisePermissionData.pageList.Add(permissionData);
                    }
                    listModulewisePermissionData.Add(modulewisePermissionData);
                }
                IAccountManagementRepository accountRepository = DataFactory.DataFactory.CreateAccountmanagementRepositoryInstance();
                return(accountRepository.MapModuleWisePageAccessWithRole(listModulewisePermissionData));
            }
            catch (Exception ex)
            {
                throw;
            }
        }
        public List <ModulewisePageAccessData> GetModulewiseMenuAccessForRoleData(int roleId)
        {
            List <ModulewisePageAccessData> listModulewisePageAccessData = new List <ModulewisePageAccessData>();
            IDatabaseHelper objSqlADOHelper = new SqlADOHelper();

            SqlParameter[] paramArray = new SqlParameter[2];

            paramArray[0] = RepositoryUtility.AddSQLParameter("@RoleId", SqlDbType.Int, ParameterDirection.Input, roleId, 500);

            paramArray[1] = RepositoryUtility.AddSQLParameter("@responsemessage", SqlDbType.VarChar, ParameterDirection.Output, null, 500);


            var dt = objSqlADOHelper.GetData(paramArray, StoredProcedureNameConstants.Sp_GetAllAccessedMenuPages);

            foreach (DataRow row in dt.Rows)
            {
                ModulewisePageAccessData modulewisePageAccessData = new ModulewisePageAccessData();



                modulewisePageAccessData.Module            = new ModuleData();
                modulewisePageAccessData.Module.ModuleId   = Convert.ToInt32(row.ItemArray[0]);
                modulewisePageAccessData.Module.ModuleName = Convert.ToString(row.ItemArray[1]);
                if (listModulewisePageAccessData.Count == 0)
                {
                    PageData pageData = new PageData();
                    pageData.PageId   = Convert.ToInt32(row.ItemArray[2]);
                    pageData.PageName = Convert.ToString(row.ItemArray[3]);
                    pageData.PageUrl  = Convert.ToString(row.ItemArray[4]);
                    modulewisePageAccessData.pageList.Add(pageData);
                    listModulewisePageAccessData.Add(modulewisePageAccessData);
                }
                else
                {
                    bool IsModuleAlreadyAdded = false;
                    int  index = -1;
                    foreach (var moduleWisePage in listModulewisePageAccessData)
                    {
                        index = index + 1;
                        if (moduleWisePage.Module != null)
                        {
                            if (moduleWisePage.Module.ModuleId == modulewisePageAccessData.Module.ModuleId)
                            {
                                IsModuleAlreadyAdded = true;
                                break;
                            }
                        }
                    }

                    if (IsModuleAlreadyAdded)
                    {
                        PageData pageData = new PageData();
                        pageData.PageId   = Convert.ToInt32(row.ItemArray[2]);
                        pageData.PageName = Convert.ToString(row.ItemArray[3]);
                        pageData.PageUrl  = Convert.ToString(row.ItemArray[4]);
                        listModulewisePageAccessData[index].pageList.Add(pageData);
                    }
                    else
                    {
                        PageData pageData = new PageData();
                        pageData.PageId   = Convert.ToInt32(row.ItemArray[2]);
                        pageData.PageName = Convert.ToString(row.ItemArray[3]);
                        pageData.PageUrl  = Convert.ToString(row.ItemArray[4]);
                        modulewisePageAccessData.pageList.Add(pageData);
                        listModulewisePageAccessData.Add(modulewisePageAccessData);
                    }
                }
            }



            return(listModulewisePageAccessData);
        }