/// <summary> /// Shows view Journal and fill the form depending on whether a saved journal exist. /// </summary> /// <returns>Jornal-view </returns> public ActionResult Journal() { if (getSessionState() != true) { return RedirectToAction("LoggedIn", "Home"); } else { JournalUser user = (JournalUser)Session["SessionUser"]; int userId = user.UserId; JournalVM vm; // retrive the journal with column SavedNotSent == 1 depening on user var listJournals = from u in db.Users join j in db.Journals on u.UserId equals j.UserId where (u.UserId == userId) && (j.SavedNotSent == 1) select j; // retrives the car from db var dbcar = GetCar(); // if their is a saved journal, create vm depending on these values. if (listJournals.Any()) { var journal = listJournals.First(); vm = serviceGet.GetSavedJournal(journal); } else { vm = new JournalVM { OdometerStart = serviceGet.CarOdometer(dbcar.Regno),//hard coded regno Cars = serviceGet.GetCars(), Projects = serviceGet.GetProjects(userId), Debits = serviceGet.GetDebit(), StartDate = DateTime.Now.ToString("yyyy-MM-dd"), EndDate = DateTime.Now.ToString("yyyy-MM-dd") }; } return View(vm); } }
public ActionResult Journal(JournalVM vm, string project, string debit, string car) { JournalUser user = (JournalUser)Session["SessionUser"]; int userId = user.UserId; //if submit button save is pressed, this code execute if (Request.Form["save"] == "save") { //saves the journal to db serviceSave.SaveJournal(vm, project, userId, debit, car); //get the saved drive var listJournals = from u in db.Users join j in db.Journals on u.UserId equals j.UserId where (u.UserId == userId) && (j.SavedNotSent == 1) select j; var journal = listJournals.First(); vm = serviceGet.GetSavedJournal(journal); } else { serviceSave.SendJournal(vm, project, userId, debit, car); ModelState.Clear(); // retrives the car from db var dbcar = GetCar(); vm = new JournalVM { OdometerStart = serviceGet.CarOdometer(dbcar.Regno),//hard coded regno Cars = serviceGet.GetCars(), Projects = serviceGet.GetProjects(userId), Debits = serviceGet.GetDebit(), StartDate = DateTime.Now.ToString("yyyy-MM-dd"), EndDate = DateTime.Now.ToString("yyyy-MM-dd") }; } return View(vm); }
/// <summary> /// assembles a JournalVM /// </summary> /// <param name="journal">Saved journal</param> /// <returns>Journal-viewmodel</returns> public JournalVM GetSavedJournal(Journal journal) { string odometerEnd; if (journal.OdometerEnd == 0) { odometerEnd = ""; } else { odometerEnd = journal.OdometerEnd.ToString(); } JournalVM vm = new JournalVM { Travelers = journal.Travelers, Projects = GetProjects(journal.UserId, journal.ProjectNumber), OdometerStart = journal.OdometerStart, OdometerEnd = odometerEnd, From = journal.FromDestination, To = journal.ToDestination, Purpose = journal.Purpose, Cars = GetCars(journal.Regno), Debits = GetDebit(journal.Debit), JournalId = journal.JournalId, StartDate = journal.StartDate.ToString("yyyy-MM-dd"), EndDate = journal.EndDate.ToString("yyyy-MM-dd") }; return vm; }