public List <UserData> GetAllUsersData()
        {
            List <UserData> listUsers = new List <UserData>();

            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.SpGetAllUsers);

            foreach (DataRow row in dt.Rows)
            {
                UserData user = new UserData();
                user.UserId       = Convert.ToInt32(row.ItemArray[0]);
                user.Username     = Convert.ToString(row.ItemArray[1]);
                user.FirstName    = Convert.ToString(row.ItemArray[2]);
                user.LastName     = Convert.ToString(row.ItemArray[3]);
                user.EmailAddress = Convert.ToString(row.ItemArray[4]);
                user.Role         = new RoleData();
                if (!string.IsNullOrEmpty(row.ItemArray[5].ToString()))
                {
                    user.Role.RoleId = Convert.ToInt32((row.ItemArray[5]));
                }
                if (!string.IsNullOrEmpty(row.ItemArray[6].ToString()))
                {
                    user.Role.RoleName = Convert.ToString((row.ItemArray[6]));
                }
                listUsers.Add(user);
            }

            return(listUsers);
        }
        public AssessmentData  GetAssessmentForEvaluation(int assessmentId, int userid)
        {
            AssessmentData           assessmentData    = new AssessmentData();
            List <QuestionPaperData> listQuestionPaper = new List <QuestionPaperData>();

            IDatabaseHelper objSqlADOHelper = new SqlADOHelper();


            SqlParameter[] paramArray = new SqlParameter[3];
            paramArray[0] = RepositoryUtility.AddSQLParameter("@AssessmentId", SqlDbType.VarChar, ParameterDirection.Input, assessmentId);
            paramArray[1] = RepositoryUtility.AddSQLParameter("@UserId", SqlDbType.VarChar, ParameterDirection.Input, userid);

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

            var dt           = objSqlADOHelper.GetData(paramArray, StoredProcedureNameConstants.SPGetQuestionPaperForEvaluate);
            var stringReader = new System.IO.StringReader(Convert.ToString(dt.Rows[0].ItemArray[1]));
            var serializer   = new XmlSerializer(typeof(List <QuestionPaperData>));

            listQuestionPaper = serializer.Deserialize(stringReader) as List <QuestionPaperData>;

            assessmentData.QuestionPaper   = listQuestionPaper;
            assessmentData.QuestionPaperId = Convert.ToInt32(dt.Rows[0].ItemArray[0]);

            return(assessmentData);
        }
        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 IsValidUser(UserData accountDetailsData)
        {
            try
            {
                bool            isValidUser     = false;
                IDatabaseHelper objSqlADOHelper = new SqlADOHelper();


                SqlParameter[] paramArray = new SqlParameter[3];

                paramArray[0] = RepositoryUtility.AddSQLParameter("@username", SqlDbType.VarChar, ParameterDirection.Input, accountDetailsData.Username);
                paramArray[1] = RepositoryUtility.AddSQLParameter("@password", SqlDbType.VarChar, ParameterDirection.Input, accountDetailsData.Password);

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

                DataTable dtusers        = objSqlADOHelper.GetData(paramArray, StoredProcedureNameConstants.SPIsValidUser);
                string    successMessage = Convert.ToString(paramArray[2].Value);
                if (successMessage.Equals("User successfully logged in"))
                {
                    isValidUser = true;
                    foreach (DataRow row in dtusers.Rows)
                    {
                        accountDetailsData.UserId   = Convert.ToInt32(row.ItemArray[0]);
                        accountDetailsData.Username = Convert.ToString(row.ItemArray[1]);
                        accountDetailsData.Role     = new RoleData();

                        accountDetailsData.Role.RoleId    = Convert.ToInt32(row.ItemArray[2]);
                        accountDetailsData.ProfilePicPath = Convert.ToString(row.ItemArray[3]);
                    }
                }
                else
                {
                    isValidUser = false;
                }

                return(isValidUser);
            }


            catch (Exception ex)
            {
                return(false);
            }
        }
        public List <RoleData> GetAllRoles()
        {
            List <RoleData> listRoles = new List <RoleData>();

            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.SpGetAllRoles);

            foreach (DataRow row in dt.Rows)
            {
                RoleData roleData = new RoleData();
                roleData.RoleName = Convert.ToString(row.ItemArray[1]);
                roleData.RoleId   = Convert.ToInt32(row.ItemArray[0]);
                listRoles.Add(roleData);
            }

            return(listRoles);
        }
        public List <QuestionpaperDetails> GetAllQuestionPaperDetails()
        {
            List <QuestionpaperDetails> listQuestionpaperDetails = new List <QuestionpaperDetails>();

            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.SpGetAllQuestionPapers);

            foreach (DataRow row in dt.Rows)
            {
                QuestionpaperDetails questionPaperDetailData = new QuestionpaperDetails();
                questionPaperDetailData.Id = Convert.ToInt32(row.ItemArray[0]);
                questionPaperDetailData.QuestionPaperName = Convert.ToString(row.ItemArray[1]);
                listQuestionpaperDetails.Add(questionPaperDetailData);
            }

            return(listQuestionpaperDetails);
        }
        public List <UserData> GetUsersForAssessmentForEvaluation(int assessement)
        {
            List <UserData> listUserData = new List <UserData>();

            IDatabaseHelper objSqlADOHelper = new SqlADOHelper();

            SqlParameter[] paramArray = new SqlParameter[2];
            paramArray[0] = RepositoryUtility.AddSQLParameter("@AssessmentId", SqlDbType.Int, ParameterDirection.Input, assessement);

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


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

            foreach (DataRow row in dt.Rows)
            {
                UserData userData = new UserData();
                userData.UserId   = Convert.ToInt32(row.ItemArray[0]);
                userData.Username = Convert.ToString(row.ItemArray[1]);
                listUserData.Add(userData);
            }

            return(listUserData);
        }
        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);
        }