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 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()); }
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()); }