public ActionResult Edit(TicketEditFormViewModel viewModel) { var role = userHelper.GetUserRole(User.Identity.GetUserId()); ticketHelper.SubmitterUpdateTicket(viewModel); if (role == "Admin" || role == "ProjectManager") { return(RedirectToAction("ListForAdminOrProjectManager")); } else { return(RedirectToAction("ListForSubmitterOrDeveloper")); } }
public void AddTicketHistory(string editedProperty, Ticket ticket, TicketEditFormViewModel viewModel, string userId) { var x = viewModel.GetType().GetProperty(editedProperty).GetValue(viewModel).ToString(); ticket.TicketHistories.Add(new TicketHistories() { Changed = ticket.Updated.Value, TicketId = ticket.Id, OldValue = ticket.GetType().GetProperty(editedProperty).GetValue(ticket).ToString(), NewValue = viewModel.GetType().GetProperty(editedProperty).GetValue(viewModel).ToString(), Property = editedProperty, UserId = userId, }); }
public ActionResult Edit(int id) { ViewBag.Action = "Edit"; var user = userHelper.GetUserFromId(User.Identity.GetUserId()); Ticket ticket = ticketHelper.GetTicketFromId(id); TicketEditFormViewModel viewModel = new TicketEditFormViewModel() { Title = ticket.Title, Description = ticket.Description, Projects = new SelectList(user.Projects.ToList(), "Id", "Name"), ProjectId = ticket.ProjectId, TicketTypes = new SelectList(db.TicketTypes.ToList(), "Id", "Name"), TicketTypeId = ticket.TicketTypeId, TicketPriorities = new SelectList(db.TicketPriorities.ToList(), "Id", "Name", ticket.TicketPrioritiesId.ToString()), TicketPrioritiesId = ticket.TicketPrioritiesId, }; return(View(viewModel)); }
public void SubmitterUpdateTicket(TicketEditFormViewModel viewModel) { DateTime updateTime = DateTime.Now; Ticket ticketInDb = GetTicketFromId(viewModel.Id); ticketInDb.Updated = updateTime; if (ticketInDb.Title != viewModel.Title) { AddTicketHistory("Title", ticketInDb, viewModel, ticketInDb.OwnerUserId); ticketInDb.Title = viewModel.Title; } if (ticketInDb.Description != viewModel.Description) { AddTicketHistory("Description", ticketInDb, viewModel, ticketInDb.OwnerUserId); ticketInDb.Description = viewModel.Description; } if (ticketInDb.TicketPrioritiesId != viewModel.TicketPrioritiesId) { AddTicketHistory("TicketPrioritiesId", ticketInDb, viewModel, ticketInDb.OwnerUserId); ticketInDb.TicketPrioritiesId = viewModel.TicketPrioritiesId; } if (ticketInDb.ProjectId != viewModel.ProjectId) { AddTicketHistory("ProjectId", ticketInDb, viewModel, ticketInDb.OwnerUserId); ticketInDb.ProjectId = viewModel.ProjectId; } if (ticketInDb.ProjectId != viewModel.ProjectId) { AddTicketHistory("TicketTypeId", ticketInDb, viewModel, ticketInDb.OwnerUserId); ticketInDb.TicketTypeId = viewModel.TicketTypeId; } db.SaveChanges(); }