// GET: Page1 public ActionResult Page1(string GUID) { ViewModels.vmPage1 vmPage1 = new ViewModels.vmPage1(); if (!String.IsNullOrWhiteSpace(GUID)) { vmPage1 = db.Applications .Where(e => e.GUID == GUID) .Select(e => new ViewModels.vmPage1() { EventDetails = e.EventDetails, StallDetails = e.StallDetails, ApplicantDetails = e.ApplicantDetails, }) .FirstOrDefault(); // vmPage1.EventDetails.EventStartDateString = vmPage1.EventDetails.EventStartDate.ToShortDateString(); } return(View(vmPage1)); }
public ActionResult Page1(ViewModels.vmPage1 vmPage1, string GUID) { //TODO - Put GUID in controller route value. string buttonValue = Request.Form["submit"]; Models.Application application; if (ModelState.IsValid) { if (String.IsNullOrEmpty(GUID)) { application = new Models.Application() { GUID = Guid.NewGuid().ToString(), EventDetails = vmPage1.EventDetails, StallDetails = vmPage1.StallDetails, ApplicantDetails = vmPage1.ApplicantDetails }; //DateTime eventStartDate = new DateTime(); //if (DateTime.TryParse(application.EventDetails.EventStartDateString, // out eventStartDate)) //{ // application.EventDetails.EventStartDate = eventStartDate; //} //else //{ // throw new Exception(String.Format("Could not convert {0} to date format", application.EventDetails.EventStartDateString)); //} db.Applications.Add(application); try { db.SaveChanges(); } catch (DbEntityValidationException ex) { return(View("_DbEntityValidationException", ex)); } catch { //Do nothing } } else { //Existing application application = db.Applications .Where(e => e.GUID == GUID) .FirstOrDefault(); //Set the relevant properties application.EventDetails = vmPage1.EventDetails; application.StallDetails = vmPage1.StallDetails; application.ApplicantDetails = vmPage1.ApplicantDetails; db.Entry(application).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbEntityValidationException ex) { return(View("_DbEntityValidationException", ex)); } catch { //Do nothing } } return(RedirectToAction("Page2", "Register", new { GUID = application.GUID })); } //ModelState.IsValid //else //{ // foreach (var x in ModelState.Values.Where(e => e.Errors != null)) // { // foreach (var y in x.Errors) // { // var z = y.ErrorMessage; // } // } //} return(View(vmPage1)); }