public ActionResult AssignQuizToUsers(QuizAssignViewModel quizAssignViewModel)
        {
            try
            {
                var index = quizRepository.DeleteAssignedUser(quizAssignViewModel.quiz.QuizId);

                foreach (var userId in quizAssignViewModel.userIds)
                {
                    var result = quizRepository.AssignQuiz(quizAssignViewModel.quiz.QuizId, userId, quizAssignViewModel.DueDate);

                    var       emailBody    = quizAssignViewModel.quiz.QuizName + " - assigned to you. Please go through it. <br /> Your Due Date is - " + quizAssignViewModel.DueDate;
                    var       emailSubject = "Quiz Assigned - " + quizAssignViewModel.quiz.QuizName;
                    tblEmails objEmail     = new tblEmails();
                    var       objUser      = userRepository.GetUserById(userId);
                    objEmail.EmailTo      = objUser[0].EmailId;
                    objEmail.EmailSubject = emailSubject;
                    objEmail.EmailBody    = emailBody;
                    var emailResult = userRepository.InsertEmail(objEmail);
                }
            }
            catch (Exception ex)
            {
                newException.AddException(ex);
            }

            return(RedirectToAction("Index"));
        }
Пример #2
0
        public bool CheckInsertEmail(tblEmails objemail)
        {
            bool status = false;

            // DataSet ds = new DataSet();
            db.parameters.Clear();
            db.AddParameter("@emailTo", SqlDbType.Text, Convert.ToString(objemail.EmailTo));
            db.AddParameter("@activityId", SqlDbType.Int, Convert.ToInt32(objemail.Activityid));
            db.AddParameter("@activityType", SqlDbType.Text, Convert.ToString(objemail.Activitytype));
            db.AddParameter("@dueDate", SqlDbType.DateTime, Convert.ToDateTime(objemail.Duedate));

            DataSet ds = db.FillData("sp_InsertEmailBycheck");

            if (ds != null)
            {
                if (ds.Tables.Count > 0)
                {
                    if (ds.Tables[0].Rows.Count > 0)
                    {
                        status = true;
                    }
                }
            }



            return(status);
        }
        public ActionResult SendResetLink(TblUser loginUser)
        {
            try
            {
                Guid   guid   = Guid.NewGuid();
                string token  = guid.ToString();
                var    result = ur.AddToken(loginUser.EmailId, token);
                //send email
                var baseURL = Request.Url.Host;
                var url     = Request.Url.Host + @Url.Action("ChangePassword", "Login", new { t = token });
                var link    = "<a href='" + url + "'>Click here to reset your password</a>";

                var       emailSubject = System.Configuration.ConfigurationManager.AppSettings["PasswordRecovery"];
                tblEmails objEmail     = new tblEmails();
                objEmail.EmailTo      = loginUser.EmailId;
                objEmail.EmailSubject = emailSubject;
                objEmail.EmailBody    = link;
                result = ur.InsertEmail(objEmail);

                TempData["Message"] = "Reset Link sent to your registered email. Please check your Inbox";
            }
            catch (Exception ex)
            {
                newException.AddException(ex);
            }
            return(View("ResetPassword", loginUser));
        }
        public int InsertEmail(tblEmails objEmail)
        {
            int result = 0;

            db.parameters.Clear();
            db.AddParameter("@EmailTo", SqlDbType.Text, objEmail.EmailTo);
            db.AddParameter("@EmailSubject", SqlDbType.Text, objEmail.EmailSubject);
            db.AddParameter("@EmailBody", SqlDbType.Text, objEmail.EmailBody);
            //db.AddParameter("@activityId", SqlDbType.Int, objEmail.Activityid);
            //db.AddParameter("@activityType", SqlDbType.Text, objEmail.Activitytype);
            //db.AddParameter("@dueDate", SqlDbType.DateTime, objEmail.Duedate);
            result = db.ExecuteQuery("sp_AddEmail");

            return(result);
        }
        public string GetEnquiry(string emailContent)
        {
            try
            {
                JavaScriptSerializer json_serializer = new JavaScriptSerializer();
                json_serializer.MaxJsonLength = int.MaxValue;
                object[] objTblQue = (object[])json_serializer.DeserializeObject(emailContent);
                foreach (Dictionary <string, object> item in objTblQue)
                {
                    //var emailBody = objTblQue.Message;
                    var       emailSubject = "New Enquiry ";
                    tblEmails objEmail     = new tblEmails();


                    var emailBody = "";
                    emailBody += "<p></p>Name :- " + Convert.ToString(item["Name"]);
                    emailBody += "<p></p>Email Id :- " + Convert.ToString(item["Email"]);
                    emailBody += "<p></p>Contact No :- " + Convert.ToString(item["Contact"]);
                    emailBody += "<p></p>Service Enquired About :- " + Convert.ToString(item["Service"]);
                    emailBody += "<p></p>Message :- " + Convert.ToString(item["Message"]);

                    objEmail.EmailTo      = "*****@*****.**";
                    objEmail.EmailSubject = emailSubject;
                    objEmail.EmailBody    = emailBody;
                    var emailResult = userRepository.InsertEmail(objEmail);

                    return("Sent Successfully");
                }
            }
            catch (Exception ex)
            {
                newException.AddDummyException(ex.ToString());
                return("Failded");
            }
            return("Failed");
        }
        public ActionResult ShareLink(string emailId)
        {
            string     AssessmentLink = System.Configuration.ConfigurationManager.AppSettings["AssessmentLink"];
            TblEnquiry tblEnquiry     = new TblEnquiry();

            tblEnquiry.EmailId  = emailId;
            tblEnquiry.isShared = true;
            var result = quizRepository.InsertEnquiryData(tblEnquiry);

            if (result > 0)
            {
                var       link         = "<a href='" + AssessmentLink + "'>Click here to test your knowledge</a>";
                var       emailBody    = "Hello <br> Your friend shared assessment to test your knowledge. Please click on below link to take a test  - " + link;
                var       emailSubject = "Test your knowledge";
                tblEmails objEmail     = new tblEmails();

                objEmail.EmailTo      = emailId;
                objEmail.EmailSubject = emailSubject;
                objEmail.EmailBody    = emailBody;
                var emailResult = userRepository.InsertEmail(objEmail);
            }

            return(Json("OK", JsonRequestBehavior.AllowGet));
        }
Пример #7
0
        public ActionResult AddUser(TblUser objUser, HttpPostedFileBase file)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    TblUser sessionUser = (TblUser)Session["UserSession"];
                    objUser.UserRoles = rr.GetAllRoles();
                    objUser.TenantId  = sessionUser.TenantId;
                    objUser.CreatedBy = sessionUser.UserId;

                    // objUser.DOB = objUser.DOB;
                    objUser.IsActive = true;
                    int rows = 0;
                    if (file != null)
                    {
                        var profileURL         = System.Configuration.ConfigurationManager.AppSettings["ProfileImages"];
                        var profilePhysicalURL = System.Configuration.ConfigurationManager.AppSettings["ProfileImagesPhysicalURL"];

                        if (!System.IO.Directory.Exists(profilePhysicalURL + "\\" + objUser.TenantId))
                        {
                            System.IO.Directory.CreateDirectory(profilePhysicalURL + "\\" + objUser.TenantId);
                        }

                        string filePhysicalPath = System.IO.Path.Combine(profilePhysicalURL + "\\" + objUser.TenantId + "\\" + objUser.UserId + ".jpg");
                        string path             = System.IO.Path.Combine(profileURL + "\\" + objUser.TenantId + "\\" + objUser.UserId + ".jpg");
                        file.SaveAs(filePhysicalPath);
                        objUser.profileImage = path;
                    }
                    if (objUser.UserId == 0)
                    {
                        CommonFunctions common = new CommonFunctions();
                        objUser.Password = common.GetEncodePassword("123456");
                        rows             = ur.AddUser(objUser);
                    }
                    else
                    {
                        rows = ur.EditUser(objUser);
                        if (objUser.IsMyProfile)
                        {
                            if (!string.IsNullOrEmpty(objUser.OldPassword) && !string.IsNullOrEmpty(objUser.Password))
                            {
                                CommonFunctions common = new CommonFunctions();
                                objUser.OldPassword = common.GetEncodePassword(objUser.OldPassword);
                                objUser.Password    = common.GetEncodePassword(objUser.Password);
                                var result = ur.ChangePassword(objUser, objUser.Password);
                            }
                        }
                        if (objUser.IsMyProfile)
                        {
                            var userDetails = ur.GetUserById(objUser.UserId);
                            Session["UserSession"] = userDetails[0];
                            TempData["Message"]    = "User Information Saved Successfully";
                            return(RedirectToAction("MyProfile", "Account"));
                        }
                        //In case of Edit User
                        if (rows == 0)
                        {
                            TempData["IssueMessage"] = "Not Saved Successfully";
                            return(View("AddNewUser", objUser));
                        }
                        else
                        {
                            TempData["UserMessage"] = "Saved Successfully";
                            return(View("AddNewUser", objUser));
                        }
                    }
                    if (objUser.UserId == 0 && rows != 0)
                    {
                        Guid   guid      = Guid.NewGuid();
                        string token     = guid.ToString();
                        var    baseURL   = Request.Url.Host;
                        var    url       = baseURL + @Url.Action("ChangePassword", "Login", new { t = token });
                        var    link      = "<a href='" + url + "'>Click Here</a>";
                        var    emailBody = "Welcome To LMS. </br> Please click below link to Login </br>";
                        emailBody = emailBody + link;
                        var result = ur.AddToken(objUser.EmailId, token);

                        var       emailSubject = System.Configuration.ConfigurationManager.AppSettings["emailSubject"];
                        tblEmails objEmail     = new tblEmails();
                        objEmail.EmailTo      = objUser.EmailId;
                        objEmail.EmailSubject = emailSubject;
                        objEmail.EmailBody    = emailBody;

                        result = ur.InsertEmail(objEmail);



                        TempData["UserMessage"] = "Saved Successfully";
                        if (objUser.IsMyProfile)
                        {
                            return(RedirectToAction("Index", "Home"));
                        }
                        else
                        {
                            //return RedirectToAction("Index");
                            return(View("AddNewUser", objUser));
                        }
                    }
                    else
                    {
                        //TempData["IssueMessage"] = "Not Saved Successfully";
                        return(View("AddNewUser", objUser));
                    }
                }
                return(RedirectToAction("Index"));
            }
            catch (Exception ex)
            {
                newException.AddException(ex);
                if (objUser.IsMyProfile)
                {
                    return(View("Profile", objUser));
                }
                else
                {
                    TempData["IssueMessage"] = "Not Saved Successfully";
                    return(View("AddNewUser", objUser));
                }
            }
        }
Пример #8
0
        public ActionResult SubmitQuiz(TblQuiz objQuiz)
        {
            JavaScriptSerializer json_serializer = new JavaScriptSerializer();

            TblUser sessionUser = (TblUser)Session["UserSession"];

            if (sessionUser == null)
            {
                //newException.AddDummyException("In - 333 ");
                CommonFunctions common   = new CommonFunctions();
                var             password = common.GetEncodePassword("123456");
                sessionUser = ur.IsValidUser("*****@*****.**", password, Request.Url.Host);
            }
            if (sessionUser.RoleId == 2)
            {
                int result = quizRepository.DeleteResponse(objQuiz.QuizId, sessionUser.UserId, 1);
            }
            List <QueOptions> lstQueOptions = new List <QueOptions>();

            object[] objQueResponse = (object[])json_serializer.DeserializeObject(objQuiz.hdnResponseData);
            var      attempt        = quizRepository.GetQuizAttemptByUserID(objQuiz.QuizId, sessionUser.UserId);

            attempt = attempt + 1;

            if (objQuiz.completeTime == "0" || string.IsNullOrEmpty(objQuiz.completeTime))
            {
                var      durationInSeconds = Convert.ToInt32(objQuiz.Duration) * 60;
                TimeSpan t = TimeSpan.FromSeconds(durationInSeconds);
                objQuiz.completeTime = string.Format("{0:D2}:{1:D2}", (int)t.Minutes, t.Seconds);
            }
            else
            {
                var cTime         = objQuiz.completeTime;
                int index1        = cTime.IndexOf(":");
                int index2        = cTime.IndexOf("Minutes");
                int index3        = cTime.IndexOf(",");
                int index4        = cTime.IndexOf("Seconds");
                var cMin          = cTime.Substring(index1 + 1, (index2 - (index1 + 2)));
                var cSec          = cTime.Substring(index3 + 1, (index4 - (index3 + 2)));
                var remainingTime = (Convert.ToInt32(cMin) * 60) + Convert.ToInt32(cSec);
                remainingTime = Convert.ToInt32(objQuiz.Duration * 60) - remainingTime;
                TimeSpan t = TimeSpan.FromSeconds(remainingTime);
                objQuiz.completeTime = string.Format("{0:D2}:{1:D2}", (int)t.Minutes, t.Seconds);
            }


            foreach (var item in objQueResponse)
            {
                QuizResponse quizResponse = new QuizResponse();
                quizResponse.QuizId  = objQuiz.QuizId;
                quizResponse.UserId  = sessionUser.UserId;
                quizResponse.Attempt = attempt;

                foreach (Dictionary <string, object> newItem in (object[])item)
                {
                    var questionId = newItem["questionId"];
                    quizResponse.QuestionId       = Convert.ToInt32(newItem["questionId"]);
                    quizResponse.QuestionFeedback = Convert.ToString(newItem["queFeedback"]);
                    if (string.IsNullOrEmpty(quizResponse.OptionIds))
                    {
                        quizResponse.OptionIds = Convert.ToString(newItem["optionId"]);
                    }
                    else
                    {
                        quizResponse.OptionIds += "," + Convert.ToString(newItem["optionId"]);
                    }
                }
                QueOptions newQueOption = new QueOptions();
                newQueOption.QuestionId = quizResponse.QuestionId;
                newQueOption.OptionsIds = quizResponse.OptionIds;
                lstQueOptions.Add(newQueOption);

                var result = quizRepository.CaptureResponses(quizResponse);
            }

            List <TblQuiz> lstAllQuiz = new List <TblQuiz>();

            lstAllQuiz = quizRepository.GetQuizForLaunch(objQuiz.QuizId, sessionUser.UserId);
            int noOfQues = 0;
            var score    = 0;

            foreach (var question in lstAllQuiz[0].TblQuestions)
            {
                if (question.QuestionTypeId == 1)
                {
                    noOfQues++;
                    foreach (var option in question.TblQuestionOptions)
                    {
                        if (option.CorrectOption == true)
                        {
                            foreach (var que in lstQueOptions)
                            {
                                if (que.QuestionId == question.QuestionId)
                                {
                                    if (option.OptionId == Convert.ToInt32(que.OptionsIds))
                                    {
                                        score++;
                                    }
                                }
                            }
                        }
                    }
                }
                if (question.QuestionTypeId == 2)
                {
                    noOfQues++;
                    int   correctCount = 0;
                    int[] Ids          = new int[question.TblQuestionOptions.Count];
                    foreach (var option in question.TblQuestionOptions)
                    {
                        if (option.CorrectOption == true)
                        {
                            Ids[correctCount] = option.OptionId;
                            correctCount++;
                        }
                    }
                    foreach (var item in lstQueOptions)
                    {
                        if (item.QuestionId == question.QuestionId)
                        {
                            var optionIds = item.OptionsIds.Split(',');
                            if (correctCount == optionIds.Length)
                            {
                                var correct = 0;
                                foreach (var option in optionIds)
                                {
                                    foreach (var id in Ids)
                                    {
                                        if (id == Convert.ToInt32(option))
                                        {
                                            correct++;
                                        }
                                    }
                                }
                                if (correctCount == correct)
                                {
                                    score++;
                                }
                            }
                        }
                    }
                }
            }
            if (noOfQues == 0)
            {
                score = 0;
            }
            var scoreResult = quizRepository.CaptureScore(objQuiz, sessionUser.UserId, score, attempt);
            var emailBody   = "Thank you for taking Quiz.";

            if (noOfQues > 0)
            {
                emailBody = "Thank you for taking Quiz. </br> Your score is " + ((score * 100) / noOfQues) + "% <br />";
            }
            //var emailBody = "Thank you for taking Quiz. </br> Your score is " + ((score * 100) / noOfQues) + "% <br />";
            var       emailSubject = "Quiz Result";
            tblEmails objEmail     = new tblEmails();

            objEmail.EmailTo      = sessionUser.EmailId;
            objEmail.EmailSubject = emailSubject;
            objEmail.EmailBody    = emailBody;
            if (sessionUser.TenantId != 6)
            {
                var emailResult = ur.InsertEmail(objEmail);
            }
            newException.AddDummyException("Responses Saved Successfully");
            TempData["Message"] = "Responses Saved Successfully";
            return(RedirectToAction("ReviewQuiz", new { @QuizId = objQuiz.QuizId }));
        }