Beispiel #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());
        }
Beispiel #2
0
        public IHttpActionResult crearIssue(Dtos.nuevaIssueDto issuedto)
        {
            var dto           = new AreaTecnicoDto();
            var MailControler = new MailController();
            int?ultimonumero  = _context.Issue.ToList().Last().NumeroIssue.Value;

            ultimonumero++;

            var issue = new Issue();

            if (issuedto.NombreArea == 0)
            {
                issuedto.NombreArea = 5;
            }
            _context.Configuration.ValidateOnSaveEnabled = false;
            if (issuedto.Criticidad == 0)
            {
                issuedto.Criticidad = 1;
            }
            if (issuedto.TecnicoAsignadoId != null)
            {
                dto.Nombre = issuedto.TecnicoAsignadoId;
                issue.TecnicoAsignadoId = _context.Users.Single(m => m.Id == issuedto.TecnicoAsignadoId).Id;
                dto.Numero = ultimonumero;
            }

            string currentUserId = User.Identity.GetUserId();
            var    user          = _context.Users.Single(m => m.Id == currentUserId).CantTareasTotal++;

            issue.CreadaPorId       = currentUserId;
            issue.VecesReclamado    = 1;
            issue.FechaCreada       = DateTime.Now;
            issue.FechaCreadaString = DateTime.Now.ToString();
            issue.EstadoIssueId     = _context.EstadoIssue.Single(m => m.Nombre == "Abierto").Id;
            issue.TiempoDedicado    = issuedto.Minutos.ToString();
            issue.NumeroIssue       = ultimonumero;

            issue.ClientesId        = _context.Clientes.Single(m => m.Nombre == issuedto.NombreCliente).Id;
            issue.AreaTecnicosId    = _context.AreaTecnicos.Single(m => m.Id == issuedto.NombreArea).Id;
            issue.Titulo            = issuedto.Titulo;
            issue.Descripcion       = issuedto.Resumen;
            issue.CriticidadIssueId = issuedto.Criticidad;
            _context.Issue.Add(issue);

            _context.SaveChanges();
            if (issuedto.TecnicoAsignadoId != null)
            {
                MailControler.enviarEmailByNumber(dto);
            }

            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());
        }
Beispiel #4
0
        public IHttpActionResult enviarAporte(AreaTecnicoDto dto)
        {
            var pendienteobjeto = _context.PendientesMesa.Single(m => m.Id == dto.IssueId);

            //validaciones
            if (dto.Nombre == null)
            {
                dto.Nombre = "";
            }
            if (dto.stringGenerico == null)
            {
                dto.stringGenerico = "1";
            }
            // fin validaciones
            _context.Configuration.ValidateOnSaveEnabled = false;
            var userId = User.Identity.GetUserId();
            var user   = _context.Users.Single(m => m.Id == userId);

            var aporte = new AporteComunitaria
            {
                Descripcion      = dto.stringGenerico,
                TiempoDedicado   = dto.Nombre,
                FechaAporte      = DateTime.Now,
                AportanteId      = userId,
                PendientesMesaId = dto.IssueId,
            };
            var mensaje = new MensajesPendientes
            {
                FechaCreado      = DateTime.Now,
                PendientesMesaId = dto.IssueId,
                UsuarioId        = userId,
                Mensaje          = "El usuario " + user.Nombre + " ha aportado " + dto.Nombre + " minutos en: " + dto.stringGenerico
            };

            //creacion issue
            int?ultimonumero = _context.Issue.ToList().Last().NumeroIssue.Value;

            ultimonumero++;
            var cliente = _context.Clientes.SingleOrDefault(m => m.Id == pendienteobjeto.ClientesId);

            var issue = new Issue
            {
                CreadaPorId       = userId,
                CerradaPorId      = userId,
                VecesReclamado    = 1,
                FechaCreada       = DateTime.Now,
                FechaCreadaString = DateTime.Now.ToString(),
                EstadoIssueId     = _context.EstadoIssue.SingleOrDefault(m => m.Nombre == "Finalizado").Id,
                TiempoDedicado    = dto.Nombre.ToString(),
                NumeroIssue       = ultimonumero,
                ClientesId        = cliente.Id,
                AreaTecnicosId    = _context.AreaTecnicos.SingleOrDefault(m => m.Nombre == "Sin especificar").Id,
                Titulo            = "Aporté a la tarea programada número " + dto.IssueId + " :" + pendienteobjeto.Titulo,
                CriticidadIssueId = _context.CriticidadIssue.SingleOrDefault(m => m.Nombre == "Bajo").Id
            };


            _context.Issue.Add(issue);
            _context.MensajesPendientes.Add(mensaje);
            _context.AporteComunitaria.Add(aporte);
            _context.SaveChanges();
            return(Ok());
        }