Ejemplo n.º 1
0
        public ActionResult Create(NewTestView view)
        {
            if (ModelState.IsValid)
            {
                var response = MovementsHelper.NewTest(view, User.Identity.Name);
                if (response.Succeeded)
                {
                    return(RedirectToAction("Index"));
                }
                ModelState.AddModelError(string.Empty, response.Message);
            }

            var user = db.Users.Where(u => u.UserName == User.Identity.Name).FirstOrDefault();

            ViewBag.UserID       = new SelectList(db.Users, "UserID", "UserName", view.UserID);
            view.SummaryDetails  = db.TestSummaryDetailTmps.Where(tdt => tdt.UserName == User.Identity.Name).ToList();
            view.QuestionDetails = db.TestQuestionDetailTmps.Where(tdt => tdt.UserName == User.Identity.Name).ToList();
            return(View(view));
        }
Ejemplo n.º 2
0
        // GET: TestHeaders/Create
        public ActionResult Create()
        {
            ViewBag.Msg = TempData["msg"];

            //para buscar el usuario logeado
            var user = db.Users.Where(u => u.UserName == User.Identity.Name).FirstOrDefault();

            if (user == null)
            {
                return(RedirectToAction("Index", "Home"));
            }
            var view = new NewTestView
            {
                Date            = DateTime.Now,
                SummaryDetails  = db.TestSummaryDetailTmps.Where(tdt => tdt.UserName == User.Identity.Name).ToList(),
                QuestionDetails = db.TestQuestionDetailTmps.Where(tqdt => tqdt.UserName == User.Identity.Name).ToList(),
            };

            return(View(view));
        }
Ejemplo n.º 3
0
        public static Response NewTest(NewTestView view, string userName)
        {
            using (var transaction = db.Database.BeginTransaction())
            {
                try
                {
                    var user       = db.Users.Where(u => u.UserName == userName).FirstOrDefault();
                    var testHeader = new TestHeader
                    {
                        UserID  = user.UserID,
                        Date    = view.Date,
                        StateID = DBHelper.GetState("created", db),
                    };

                    db.TestHeaders.Add(testHeader);
                    db.SaveChanges();

                    var details         = db.TestSummaryDetailTmps.Where(tsdt => tsdt.UserName == userName).ToList();
                    var questionDetails = db.TestQuestionDetailTmps.Where(tqdt => tqdt.UserName == userName).ToList();
                    foreach (var detail in details)
                    {
                        var testDetail = new TestDetail
                        {
                            TestHeaderID = testHeader.TestHeaderID,
                            //SubCategoryID = detail.SubCategoryID,
                            SubCategoryName = detail.SubCategoryName,
                            Value           = int.Parse(detail.TestAnswer.Value),
                            UserID          = user.UserID,
                        };

                        db.TestDetails.Add(testDetail);
                        db.TestSummaryDetailTmps.Remove(detail);
                    }

                    foreach (var detail2 in questionDetails)
                    {
                        var testDetailQuestion = new TestDetailQuestion
                        {
                            TestHeaderID = testHeader.TestHeaderID,
                            //SubCategoryID = detail2.SubCategoryID,
                            QuestionName = detail2.QuestionName,
                            Value        = int.Parse(detail2.TestAnswer.Value),
                            UserID       = user.UserID,
                        };

                        db.TestDetailQuestions.Add(testDetailQuestion);
                        db.TestQuestionDetailTmps.Remove(detail2);
                    }

                    db.SaveChanges();
                    transaction.Commit();
                    return(new Response {
                        Succeeded = true,
                    });
                }
                catch (Exception ex)
                {
                    transaction.Rollback();
                    return(new Response
                    {
                        Message = ex.Message,
                        Succeeded = false,
                    });
                }
            }
        }