public async Task <IActionResult> DetailResponder(Ticket args, string respuesta) { try { _db.Tickets.Update(args); if (respuesta != null) { _db.TicketRespuesta.Add(new TicketRespuesta() { idTicket = args.idTicket, mensaje = respuesta, idUsuario = Convert.ToInt32(User.FindFirstValue("idUsuario")) }); } var estad = _db.Estados.SingleOrDefault(v => v.idEstado == args.idEstado).nombreEstado; var tra = new TrakingTicket() { idTicket = args.idTicket, cambioRealizado = "(Respondio: " + respuesta + " -Nuevo Estado: " + estad + ")", idUser = Convert.ToInt32(User.FindFirstValue("idUsuario")), fechaTraking = DateTime.Now }; _db.TrakingTicket.Add(tra); await _db.SaveChangesAsync(); TempData["Message"] = "Ticket guardado correctamente!."; return(RedirectToAction("Index")); } catch (Exception e) { ModelState.AddModelError("", (e.InnerException != null ? e.InnerException.Message : e.Message)); CargarEstados(); var servicioString = oServicio.GetServicioByPrimary(args.idServicio); ViewBag.servicioNombre = servicioString.nombreServicio; var usuarioString = _db.Usuarios.SingleOrDefault(x => x.idUsuario == args.idUsuario); var personaString = _db.Persona.SingleOrDefault(x => x.idPersona == usuarioString.idPersona); ViewBag.usuarioNombre = personaString.nombrePersona + " " + personaString.apellidoPersona; return(View(args)); } }
public async Task <IActionResult> DetailResponder(int id = 0) { if (User.FindFirstValue("idRol") == "1") { return(Redirect("../Ver/" + id)); } var model = await oTicket.GetByPrimary(id); if (model == null) { throw new Exception("Error, Registro no encontrado!"); } CargarEstados(); var servicioString = oServicio.GetServicioByPrimary(model.idServicio); ViewBag.servicioNombre = servicioString.nombreServicio; var usuarioString = _db.Usuarios.SingleOrDefault(x => x.idUsuario == model.idUsuario); var personaString = _db.Persona.SingleOrDefault(x => x.idPersona == usuarioString.idPersona); ViewBag.usuarioNombre = personaString.nombrePersona + " " + personaString.apellidoPersona; ViewBag.personaId = personaString.idPersona; var tra = new TrakingTicket() { idTicket = id, cambioRealizado = "Abrio ticket", idUser = Convert.ToInt32(User.FindFirstValue("idUsuario")), fechaTraking = DateTime.Now }; _db.TrakingTicket.Add(tra); await _db.SaveChangesAsync(); return(View(model)); }