Beispiel #1
0
        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));
        }
Beispiel #2
0
        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 }));
        }