/// <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);
        }
예제 #3
0
        /// <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;
        }