public async Task <ActionResult> Create(Ticket ticket) { ViewBag.Departments = new SelectList(await this.departmentsRepository.GetAll(), "DepartmentId", "DepartmentName"); if (ModelState.IsValid) { ticket.TicketHash = Guid.NewGuid().ToString().Replace("-", string.Empty).Substring(0, 6); var ticketStatus = await ticketsStatusRepository.GetById(1); ticket.TicketStatusId = ticketStatus.TicketStatusId; await ticketsRepository.Create(ticket); ticketsMailer.Send(Constants_files.Constants.MAIL_HEADER, string.Format("{0} Ticket id: {1}. Ticket url: {2}", Constants_files.Constants.MAIL_SUBJECT, ticket.TicketHash, Url.Action("GetTicket", "Tickets", new { id = ticket.TicketId }, Request.Url.Scheme)), ticket.CustomerEmail); return(Redirect("/")); } return(View(ticket)); }
public async Task <ActionResult> CreateMessage(Message message) { if (ModelState.IsValid) { var ticket = await ticketsRepository.Get(message.TicketId); string userId = User.Identity.GetUserId(); var user = await staffManager.FindByIdAsync(userId); message.CreationDate = DateTime.Now; message.Ticket = ticket; message.StaffMember = user; await messageRepository.Create(message); ticketsMailer.Send(Constants_files.Constants.MAIL_HEADER, string.Format("{0} Link: {1}", Constants_files.Constants.SUPPORT_RESPONSE_ON_TICKET, Url.Action("GetTicket", "Tickets", new { id = ticket.TicketId }, Request.Url.Scheme)), ticket.CustomerEmail); } return(RedirectToRoute("tickets/get/id", new { id = message.TicketId })); }