Пример #1
0
        public async Task <PartialViewResult> Send(VMQuestion model)
        {
            if (ModelState.IsValid)
            {
                var redactModel = Mapper.Map <VMQuestion, Question>(model);
                var addedModel  = await Task.Run(() => _repo.Create(redactModel));

                if (addedModel == null)
                {
                    ViewBag.Message = "Что-то пошло не так. Попробуйте позднее";
                    return(PartialView("_Add", model));
                }

                var send = await SendMail(model);

                if (!send)
                {
                    ViewBag.Message = "Не удалось отправить сообщение";
                    return(PartialView("_Add", model));
                }

                ViewBag.Message = "Ваше обращение успешно добавлено";
                return(PartialView("_Add", new VMQuestion()));
            }

            ViewBag.Message = "Что-то пошло не так. Обновите страницу и попробуйте еще раз";
            return(PartialView("_Add", model));
        }
        public async Task <ActionResult> Index(VMQuestion filterModel, SxOrderItem order, int page = 1)
        {
            var filter = new SxFilter(page, _pageSize)
            {
                Order = order != null && order.Direction != SortDirection.Unknown ? order : null, WhereExpressionObject = filterModel
            };

            var viewModel = await _repo.ReadAsync(filter);

            if (page > 1 && !viewModel.Any())
            {
                return(new HttpNotFoundResult());
            }

            ViewBag.Filter = filter;

            return(PartialView("_GridView", viewModel));
        }
Пример #3
0
        private static async Task <bool> SendMail(VMQuestion model)
        {
            var smtpUserName = ConfigurationManager.AppSettings["NoReplyMail"];
            var mm           = new SxAppMailManager(smtpUserName, ConfigurationManager.AppSettings["NoReplyMailPassword"], "mail.valliulina.ru");

            var sb = new StringBuilder();

            sb.AppendLine(model.Name);
            sb.AppendLine(model.Text);
            sb.AppendLine(model.Email);
            sb.AppendLine(model.Phone);

            var email = "*****@*****.**";

#if DEBUG
            email = "*****@*****.**";
#endif

            return(await mm.SendMail(sb.ToString(), new string[] { email }, "Обращение с формы обратной связи"));
        }
        public ActionResult Edit(VMQuestion model)
        {
            var isNew = model.Id == 0;

            if (ModelState.IsValid)
            {
                var redactModel = Mapper.Map <VMQuestion, Question>(model);
                if (isNew)
                {
                    _repo.Create(redactModel);
                }
                else
                {
                    _repo.Update(redactModel);
                }

                return(RedirectToAction("Index"));
            }

            else
            {
                return(View(model));
            }
        }
Пример #5
0
        public VMTestPage GetQuizData(string language = "en", string attemptId = "")
        {
            bool isHindi = false;

            if ("hi".Equals(language, StringComparison.OrdinalIgnoreCase))
            {
                isHindi = true;
            }

            var testData = _db.GetAllQuestions(_questionDbFileName);

            VMTestPage data = new VMTestPage();

            data.AttemptId = attemptId;
            data.QuizId    = quiz.ID;
            data.Sections  = new List <VMSection>();

            var sections = testData.Select(P => { P.SECTION_NAME = P.SECTION_NAME.ToUpper(); return(P); }).GroupBy(P => P.SECTION_NAME).Select(P => P).ToList();

            int sectionSeq = 0;

            foreach (var item in sections)
            {
                VMSection section = new VMSection();
                section.Id            = Guid.NewGuid().ToString();
                section.Name          = item.Key;
                section.SeqNo         = sectionSeq;
                section.QuestionCount = item.Count();
                section.Questions     = new List <VMQuestion>();

                int questionSeq = 0;

                foreach (var item1 in item.Cast <McqQuestion>().ToList())
                {
                    VMQuestion question = new VMQuestion();
                    question.HasMultipleCorrectAnswer = false;
                    question.HasParagraph             = false;
                    question.Id          = item1.QUESTION_ID;
                    question.Paragraph   = null;
                    question.ParagraphId = Guid.Empty.ToString();
                    question.SeqNo       = questionSeq;

                    if (isHindi)
                    {
                        question.Text    = item1.QUESTION_TEXT_HI;
                        question.Options = new List <VMOption>();
                        question.Options.Add(new VMOption()
                        {
                            Id = item1.OPTION_A_ID, IsCorrect = false, SeqNo = 0, Text = item1.OPTION_A_HI
                        });
                        question.Options.Add(new VMOption()
                        {
                            Id = item1.OPTION_B_ID, IsCorrect = false, SeqNo = 1, Text = item1.OPTION_B_HI
                        });
                        question.Options.Add(new VMOption()
                        {
                            Id = item1.OPTION_C_ID, IsCorrect = false, SeqNo = 2, Text = item1.OPTION_C_HI
                        });
                        question.Options.Add(new VMOption()
                        {
                            Id = item1.OPTION_D_ID, IsCorrect = false, SeqNo = 3, Text = item1.OPTION_D_HI
                        });
                        question.Options.Add(new VMOption()
                        {
                            Id = item1.OPTION_E_ID, IsCorrect = false, SeqNo = 4, Text = item1.OPTION_E_HI
                        });
                    }
                    else
                    {
                        question.Text    = item1.QUESTION_TEXT_EN;
                        question.Options = new List <VMOption>();
                        question.Options.Add(new VMOption()
                        {
                            Id = item1.OPTION_A_ID, IsCorrect = false, SeqNo = 0, Text = item1.OPTION_A_EN
                        });
                        question.Options.Add(new VMOption()
                        {
                            Id = item1.OPTION_B_ID, IsCorrect = false, SeqNo = 1, Text = item1.OPTION_B_EN
                        });
                        question.Options.Add(new VMOption()
                        {
                            Id = item1.OPTION_C_ID, IsCorrect = false, SeqNo = 2, Text = item1.OPTION_C_EN
                        });
                        question.Options.Add(new VMOption()
                        {
                            Id = item1.OPTION_D_ID, IsCorrect = false, SeqNo = 3, Text = item1.OPTION_D_EN
                        });
                        question.Options.Add(new VMOption()
                        {
                            Id = item1.OPTION_E_ID, IsCorrect = false, SeqNo = 4, Text = item1.OPTION_E_EN
                        });
                    }

                    if (quiz.ShuffleOptions)
                    {
                        question.Options = question.Options.OrderBy(P => Guid.NewGuid()).ToList();
                    }

                    section.Questions.Add(question);
                    questionSeq++;
                }
                if (quiz.ShuffleQuestions)
                {
                    section.Questions = section.Questions.OrderBy(P => Guid.NewGuid()).ToList();
                }
                data.Sections.Add(section);
                sectionSeq++;
            }

            return(data);
        }