public ActionResult Edit(Ticket ticket, FormCollection formCollection) { if (!string.IsNullOrEmpty(formCollection["Comment"])) { ticket.Comments.Add(new TicketComment { Description = formCollection["Comment"], CreatedById = OperatingUser.Id, CreatedDateUtc = DateTime.UtcNow, ModifiedById = OperatingUser.Id, ModifiedDateUtc = DateTime.UtcNow, CompanyId = OperatingUser.CompanyId, TicketId = ticket.Id }); } var changes = new List <ChangeLog>(); _ticketService.Update(ticket, ref changes); ticket = _ticketService.Details(ticket.Id); var userIds = ticket.NotifyTo?.Split(',').ToList() ?? new List <string>(); userIds.Add(ticket.RequestorId); userIds.Add(ticket.AssignedToId); userIds.Add(ticket.CreatedById); List <string> contributors = _userService.GetEmailsById(userIds.ToArray()); ticket.LinkToTicketDetails = $"{Request.Url.Scheme}://{Request.Url.Host}:{Request.Url.Port}{Url.Action("Edit", "Ticket", new { id = ticket.Id })}"; string emailMessage = _ticketService.ComposeTicketEditEmail(ticket, changes); _emailService.SendEmail(emailMessage, $"Ticket Updated: {ticket.Title}", contributors.Distinct().ToArray()); return(View(ticket)); }