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); }
/// <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); }