public ActionResult Create(ApplicantInfo info)
        {
            if (ModelState.IsValid)
            {
                var appCon = (int)Session["ContractID"];
                var appQuest = (List<Question>)Session["Questions"];

                info.UserName = User.Identity.GetUserName();
                var application = new Application { ApplicationInformation = info, ContractID = appCon };
                applicationService.CreateApplication(application, appQuest);
                return RedirectToAction("TakePhoneQuestionnaire", "Questionnaire");
            }
            else
            {
                if (info.Avaliable.DaysAvailable.Count < 7)
                {
                    List<TimeAvaliable> daysAvailable = new List<TimeAvaliable>
                    {
                        new TimeAvaliable {Day = "Monday", Start = new DateTime(), End = new DateTime()},
                        new TimeAvaliable {Day = "Tuesday", Start = new DateTime(), End = new DateTime()},
                        new TimeAvaliable {Day = "Wednesday", Start = new DateTime(), End = new DateTime()},
                        new TimeAvaliable {Day = "Thursday", Start = new DateTime(), End = new DateTime()},
                        new TimeAvaliable {Day = "Friday", Start = new DateTime(), End = new DateTime()},
                        new TimeAvaliable {Day = "Saturday", Start = new DateTime(), End = new DateTime()},
                        new TimeAvaliable {Day = "Sunday", Start = new DateTime(), End = new DateTime()}
                    };
                    foreach (TimeAvaliable day in info.Avaliable.DaysAvailable)
                    {
                        TimeAvaliable updateDay = daysAvailable.Find(x => x.Day.Equals(day.Day));
                        if (day.Start != null)
                        {
                            updateDay.Start = day.Start;
                        }
                        if (day.End != null)
                        {
                            updateDay.End = day.End;
                        }
                    }
                    info.Avaliable.DaysAvailable = daysAvailable;
                }
            }
            return View(info);
        }
Beispiel #2
0
 /// <summary>
 /// Creates the application.
 /// </summary>
 /// <param name="application"> The application. </param>
 /// <param name="questions">   The questions. </param>
 public void CreateApplication(Application application, List<Question> questions)
 {
     var appAnsList = new List<ApplicantContractAnswer>();
     foreach (Question q in questions)
     {
         foreach (Answer a in q.Answers.ToList())
         {
             var appAns = new ApplicantContractAnswer
             {
                 ApplicantAnswerText = a.AnswerText,
                 QuestionID = q.QuestionID,
                 ChosenAnswer = a.CorrectAnswer
             };
             appAnsList.Add(appAns);
         }
     }
     application.ApplicantContractAnswers = appAnsList;
     _appRepo.Add(application);
 }
        public ActionResult Create()
        {
            //// See if the current applicant info exists

            if (applicationService.GetApplicantInfo(User.Identity.GetUserName()) != null)
            {
                // if the applicant information exists then should redirect to edit, but we're not
                // supporting that so.. this could work in a later iteration for now should redirect
                // to phone screen page after saving the contract to the database
                var appCon = (int)Session["ContractID"];
                var appQuest = (List<Question>)Session["Questions"];
                ApplicantInfo appinfo = applicationService.GetApplicantInfo(User.Identity.GetUserName());
                var application = new Application { ApplicantInfoID = appinfo.ApplicantInfoID, ContractID = appCon };
                applicationService.CreateApplication(application, appQuest);
                RedirectToAction("TakePhoneQuestionnaire", "Questionnaire");
            }
            var appInfo = new ApplicantInfo();
            appInfo.BuildApplicantInfo();
            return View(appInfo);
        }
        public void TestCreateApplication()
        {
            var newApp = new Application
            {
                ApplicationID = applications.Count() + 1,
            };

            var quest = new List<Question>();

            applicationService.CreateApplication(newApp, quest);
            Application appReturned = applicationService.GetApplication(newApp.ApplicationID);
            Assert.AreEqual(newApp.ApplicationID, appReturned.ApplicationID);
        }