public async Task <IActionResult> Edit(int id, [Bind("Id,Body,SupportUserId,TicketId,ReplyDate")] TicketReply ticketReply) { if (id != ticketReply.Id) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(ticketReply); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!TicketReplyExists(ticketReply.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["SupportUserId"] = new SelectList(_context.ApplicationUsers, "Id", "Id", ticketReply.SupportUserId); return(View(ticketReply)); }
public async Task <IActionResult> Create(int tid, [Bind("Id,Body,SupportUserId,TicketId,ReplyDate")] TicketReply ticketReply) { if (ModelState.IsValid) { var ticket = await _context.Tickets.Include(a => a.ApplicationUser) .SingleOrDefaultAsync(m => m.Id == ticketReply.TicketId); if (User.IsInRole("Admins")) { ticket.Status = false; ticket.TicketCloseDate = DateTime.Now; var applicationuser = _context.ApplicationUsers.SingleOrDefault(a => a.Id == ticket.ApplicationUserId); _context.Update(ticket); //-----------------------------------email content----------------------------------------- StringBuilder Welcome = new StringBuilder("<h3 align ='right'>عزيزي "); Welcome.AppendFormat(string.Format(applicationuser.ArName)); Welcome.Append("</h3>"); Welcome.Append("</br>"); StringBuilder Footer = new StringBuilder("<h3 align ='right'>أطيب التحيات "); Welcome.Append("</h3>"); Footer.AppendFormat(string.Format("<h3 align ='right'>فريق منصة اريد ")); Welcome.Append("</h3>"); EmailContent usercontent = _context.EmailContents.Where(m => m.UniqueName.ToString() == "8725ae1e-bff6-4a96-8be7-0a020f99b780").SingleOrDefault(); StringBuilder MyStringBuilder = new StringBuilder(""); MyStringBuilder.AppendFormat(string.Format("<h2 align ='center'><a href='https://portal.arid.my/ar-LY/Tickets/Details/{0}' >", ticket.Id)); MyStringBuilder.Append("اضغط هنا للاطلاع على تفاصيل التذكرة"); MyStringBuilder.Append("</a></h2>"); BackgroundJob.Schedule(() => _emailSender.SendEmailAsync(applicationuser.Email, "الرد على استفساركم في منصة اريد - رقم التذكرة " + "#[" + ticket.Id + "]", Welcome.ToString() + usercontent.ArContent + MyStringBuilder.ToString() + Footer.ToString()), TimeSpan.FromSeconds(1)); //-----------------------------------email content----------------------------------------- } else { ticket.Status = true; _context.Update(ticket); } if (ticketReply.Body != null) { ticketReply.Body = (System.Text.RegularExpressions.Regex.Replace(ticketReply.Body, @"(?></?\w+)(?>(?:[^>'""]+|'[^']*'|""[^""]*"")*)>", String.Empty)).Replace("\n", "<br/>"); } ticketReply.ReplyDate = DateTime.Now; ticketReply.SupportUserId = _userManager.GetUserId(User); _context.Add(ticketReply); await _context.SaveChangesAsync(); //return RedirectToAction(nameof(Index)); return(RedirectToAction("Details", "Tickets", new { id = ticketReply.TicketId })); } ViewData["TicketId"] = new SelectList(_context.Set <Ticket>().Where(a => a.Id == tid).OrderByDescending(a => a.Id), "Id", "Subject"); return(View(ticketReply)); }