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