Пример #1
0
        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"));
            }
        }
Пример #2
0
        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,
            });
        }
Пример #3
0
        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));
        }
Пример #4
0
        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();
        }