示例#1
0
        public IHttpActionResult cambiarEstadoIssue(AreaTecnicoDto dto)
        {
            _context.Configuration.ValidateOnSaveEnabled = false;
            var userId  = User.Identity.GetUserId();
            var user    = _context.Users.Single(m => m.Id == userId);
            var mensaje = new MensajesIssue
            {
                FechaCreado = DateTime.Now,
                IssueId     = dto.IssueId,
                UsuarioId   = userId,
                Mensaje     = "El usuario " + user.Nombre + " ha dado la tarea por finalizada"
            };

            var issue = _context.Issue.SingleOrDefault(m => m.Id == dto.IssueId);
            var falso = _context.EstadoIssue.SingleOrDefault(m => m.Nombre == "Finalizado");

            issue.FechaCerrada   = DateTime.Now;
            issue.EstadoIssueId  = falso.Id;
            issue.CerradaPorId   = userId;
            issue.TiempoDedicado = dto.Tiempo.ToString();

            //resultante
            //TimeSpan result = (DateTime.Now - issue.FechaCreada).GetValueOrDefault();

            _context.MensajesIssue.Add(mensaje);
            _context.SaveChanges();
            return(Ok());
        }
        public IHttpActionResult tomarIssue(int id)
        {
            var userId = User.Identity.GetUserId();
            var user   = _context.Users.Single(m => m.Id == userId);
            //mensaje
            var mensaje = new MensajesIssue
            {
                FechaCreado = DateTime.Now,
                IssueId     = id,
                UsuarioId   = userId,
                Mensaje     = "El usuario " + user.Nombre + " ha tomado la tarea"
            };

            //issue
            _context.Configuration.ValidateOnSaveEnabled = false;



            var issue = _context.Issue.SingleOrDefault(m => m.Id == id);

            if (issue.TecnicoAsignadoId != null)
            {
                return(BadRequest("La tarea ya está tomada!"));
            }
            issue.TecnicoAsignadoId = userId;
            issue.EstadoIssueId     = _context.EstadoIssue.SingleOrDefault(m => m.Nombre == "En proceso").Id;
            _context.MensajesIssue.Add(mensaje);
            _context.SaveChanges();
            return(Ok());
        }
示例#3
0
        public IHttpActionResult guardarMensaje(MensajesDto mensajedto)
        {
            var mensaje = new MensajesIssue
            {
                FechaCreado = DateTime.Now,
                IssueId     = mensajedto.IssueId,
                UsuarioId   = User.Identity.GetUserId(),
                Mensaje     = mensajedto.Mensaje
            };

            //_context.Configuration.ValidateOnSaveEnabled = false;
            _context.MensajesIssue.Add(mensaje);
            _context.SaveChanges();
            return(Ok());
        }
        public IHttpActionResult asignarTecnico(AreaTecnicoDto dto)
        {
            var MailControler = new MailController();
            //currentuser
            var userId = User.Identity.GetUserId();
            var user   = _context.Users.Single(m => m.Id == userId);


            if (dto.Nombre == null)
            {
                var issue = _context.Issue.Single(m => m.Id == dto.Id);
                issue.TecnicoAsignado   = null;
                issue.TecnicoAsignadoId = null;
                var mensaje = new MensajesIssue
                {
                    FechaCreado = DateTime.Now,
                    IssueId     = dto.Id,
                    UsuarioId   = userId,
                    Mensaje     = "El usuario " + dto.Nombre + " ha dejado la tarea libre"
                };
                _context.MensajesIssue.Add(mensaje);
            }
            else
            {
                var userTecnico = _context.Users.Single(m => m.Id == dto.Nombre);
                var issue       = _context.Issue.Single(m => m.Id == dto.Id);
                issue.TecnicoAsignadoId = dto.Nombre;
                var mensaje = new MensajesIssue
                {
                    FechaCreado = DateTime.Now,
                    IssueId     = dto.Id,
                    UsuarioId   = dto.Nombre,
                    Mensaje     = "El usuario " + user.Nombre + " ha asignado la tarea a " + userTecnico.Nombre
                };
                MailControler.enviarEmail(dto);
                _context.MensajesIssue.Add(mensaje);
            }

            _context.Configuration.ValidateOnSaveEnabled = false;
            _context.SaveChanges();
            return(Ok());
        }