// GET: Default/Edit/5 public ActionResult Edit(int? id) { if (id == null) { var newTimeEntry = new TimeEntryViewModel(new TimeEntry()); newTimeEntry.AllProjects = db.Projects.ToList().Select(o => new SelectListItem { Text = o.Name, Value = o.Id.ToString() }); return View(newTimeEntry); } var savedTimeEntry = db.TimeEntries.Include(x => x.Project).FirstOrDefault(x => x.Id == id); if (savedTimeEntry == null) { return HttpNotFound(); } var timeEntry = new TimeEntryViewModel(savedTimeEntry); timeEntry.AllProjects = db.Projects.ToList().Select(o => new SelectListItem { Text = o.Name, Value = o.Id.ToString() }); TempData["CurrentProject"] = timeEntry.Project; return View(timeEntry); }
public ActionResult Edit(TimeEntryViewModel timeEntryViewModel) { if (timeEntryViewModel.Id > 0) { try { //var timeEntyviewModel = new TimeEntryViewModel(); var timeEntryToUpdate = db.TimeEntries.First(i => i.Id == timeEntryViewModel.Id); timeEntryToUpdate.Hours = timeEntryViewModel.Hours; timeEntryToUpdate.Description = timeEntryViewModel.Description; timeEntryToUpdate.Date = timeEntryViewModel.Date; timeEntryToUpdate.Project = timeEntryViewModel.Project; db.Entry(timeEntryToUpdate.Project).State = EntityState.Unchanged; db.Entry(timeEntryToUpdate).State = EntityState.Modified; db.SaveChanges(); return RedirectToAction("Index"); } catch { return View(); } } try { var timeEntryToSave = new TimeEntry(); timeEntryToSave.Hours = timeEntryViewModel.Hours; timeEntryToSave.Description = timeEntryViewModel.Description; timeEntryToSave.Date = timeEntryViewModel.Date; timeEntryToSave.Project = timeEntryViewModel.Project; db.TimeEntries.Add(timeEntryToSave); db.Entry(timeEntryToSave.Project).State = EntityState.Unchanged; db.SaveChanges(); return RedirectToAction("Index"); } catch { return View(); } }