//Update ticket public IActionResult OnPostUpdate(int id) { Ticket = m_ticketService.UpdateTicket(id, Input.TicketPriority, Input.TicketStatus); m_ticketService.AddCategoryToTicket(Ticket.TicketId, Input.Category); SendMailTicketUpdate(id); return(RedirectToPage()); }
//interface actie - resultaat onPost (submit roept die aan) public IActionResult OnPost() { var ticket = new Models.Ticket() { TicketSubject = Input.TicketSubject, TicketDetails = Input.TicketDetails, TicketRequestor = User.Identity.Name, TicketDate = DateTime.Now, PriorityType = Input.TicketPriority, StatusType = Models.Status.Open, ProductType = Input.TicketProduct, }; m_ticketService.AddTicket(ticket); m_ticketService.AddCategoryToTicket(ticket.TicketId, Input.Category); var user = new ApplicationUser { UserName = Input.TicketRequestor, Email = Input.TicketRequestor }; var result = m_userManager.CreateAsync(user).Result; if (result.Succeeded) { //add user to role var test2 = m_userManager.AddToRoleAsync(user, "Customer").Result; //add notifcation settings var userNotifications = m_userManager.Users.Include(x => x.Notifications).FirstOrDefault(x => x.UserName == user.UserName); userNotifications.Notifications.Add(new Models.Notifications() { TicketCreated = true, TicketUpdate = true, NewArticle = true, NewDocument = true }); m_context.SaveChanges(); //new account has been created //stuur een Email confirmatie mail .... var code = m_userManager.GenerateEmailConfirmationTokenAsync(user).Result; var callbackUrl = Url.EmailConfirmationNewTicketLink(user.Id, code, Request.Scheme); m_mailmanager.SendEmailConfirmationAsync(Input.TicketRequestor, callbackUrl, Input.TicketRequestor); // zorg ervoor dat de gebruiker hier ook zijn passwoord kan setten } else { //account already in DB //stuur mail dat er een ticket is aangemaakt SendMailTicketCreate(ticket.TicketId); } //na post van ticket, redirect naar my ticket lijst return(RedirectToPage("../Tickets/MyTickets")); }