public IHttpActionResult PutStatusVentana(int id, StatusVentana statusVentana) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != statusVentana.Id) { return(BadRequest()); } db.Entry(statusVentana).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!StatusVentanaExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
public ActionResult Create(StatusVentana statusVentana) { if (ModelState.IsValid) { PersonaServicio personaServicio = new PersonaServicio(); IRespuestaServicio <Persona> persona = personaServicio.GetPersona(User.Identity.GetUserId()); if (persona.EjecucionCorrecta) { statusVentana.IdResponsable = persona.Respuesta.Id; } var IdSubCategoria = db.Ventana.Where(x => x.Id == statusVentana.IdVentana).Select(x => x.IdSubCategoria).FirstOrDefault(); WorkFlowServicio workflowServicio = new WorkFlowServicio(); IRespuestaServicio <WorkFlowView> workFlow = workflowServicio.nextEstatus(IdSubCategoria, statusVentana.IdStatus, false); statusVentana.IdStatus = workFlow.Respuesta.EstatusSiguiente.Id; statusVentana.Fecha = DateTime.Now; if (statusVentana.Comentarios == null) { statusVentana.Comentarios = " "; } db.StatusVentana.Add(statusVentana); db.SaveChanges(); var ventana = db.Ventana .Include(v => v.StatusVentana) .Include(v => v.StatusVentana.Select(s => s.Status)) .Include(v => v.BitacoraVentana) .Include(v => v.BitacoraVentana.Select(b => b.Estatus)) .Include(v => v.BitacoraVentana.Select(b => b.Rechazo)) .Include(v => v.Evento) .Include(v => v.Proveedor) .Where(x => x.Id == statusVentana.IdVentana) .FirstOrDefault(); try { UsuarioServicio usuarioServicio = new UsuarioServicio(); NotificationService notify = new NotificationService(); string senders = usuarioServicio.GetEmailByStatus(ventana); if (senders != "") { EmailService emailService = new EmailService(); emailService.SendMail(senders, ventana); } } catch (Exception e) { Console.WriteLine(e.Message); } return(RedirectToAction("Index", "Evento", new { Area = "Operaciones" })); } return(View(statusVentana)); }
public ActionResult DeleteConfirmed(int id) { StatusVentana statusVentana = db.StatusVentana.Find(id); db.StatusVentana.Remove(statusVentana); db.SaveChanges(); return(RedirectToAction("Index")); }
public IHttpActionResult GetStatusVentana(int id) { StatusVentana statusVentana = db.StatusVentana.Find(id); if (statusVentana == null) { return(NotFound()); } return(Ok(statusVentana)); }
public ActionResult Edit(StatusVentana statusVentana) { if (ModelState.IsValid) { db.Entry(statusVentana).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.IdStatus = new SelectList(db.Estatus.Select(x => new { Id = x.Id, Nombre = x.Nombre }).OrderBy(x => x.Nombre), "Id", "Nombre", statusVentana.IdStatus); ViewBag.IdVentana = new SelectList(db.Ventana.Select(x => new { Id = x.Id, PO = x.PO }).OrderBy(x => x.PO), "Id", "PO", statusVentana.IdVentana); ViewBag.IdResponsable = new SelectList(db.Personas.Select(x => new { Id = x.Id, Nombre = x.Nombre + " " + x.Apellido1 + " " + x.Apellido1 }).OrderBy(x => x.Nombre), "Id", "Nombre", statusVentana.IdResponsable); return(View(statusVentana)); }
public Boolean changeEstatus(Ventana ventana) { if (ModelState.IsValid) { var estatus = new Estatus(); estatus = db.StatusVentana .Where(s => (s.IdVentana == ventana.Id)) .OrderByDescending(s => s.Fecha) .Select(s => s.Status) .FirstOrDefault(); if (estatus == null) { estatus = db.Estatus .Where(e => e.IdCategoria == (db.SubCategoria.Where(s => s.Id == ventana.IdSubCategoria).Select(s => s.IdCategoria).FirstOrDefault())) .FirstOrDefault(); } WorkFlowServicio workflowServicio = new WorkFlowServicio(); IRespuestaServicio <WorkFlowView> workFlow = workflowServicio.nextEstatus(ventana.IdSubCategoria, estatus.Id, false); if (workFlow.EjecucionCorrecta) { PersonaServicio personaServicio = new PersonaServicio(); IRespuestaServicio <Persona> persona = personaServicio.GetPersona(User.Identity.GetUserId()); StatusVentana statusVentana = new StatusVentana(); statusVentana.IdVentana = ventana.Id; statusVentana.IdResponsable = persona.Respuesta.Id; if (estatus.Id == 0) { statusVentana.IdStatus = workFlow.Respuesta.EstatusInicial.Id; } else { statusVentana.IdStatus = workFlow.Respuesta.EstatusSiguiente.Id; } statusVentana.Fecha = DateTime.Now; statusVentana.Comentarios = " "; db.StatusVentana.Add(statusVentana); db.SaveChanges(); } return(true); } return(false); }
public IHttpActionResult DeleteStatusVentana(int id) { StatusVentana statusVentana = db.StatusVentana.Find(id); if (statusVentana == null) { return(NotFound()); } db.StatusVentana.Remove(statusVentana); db.SaveChanges(); return(Ok(statusVentana)); }
public bool changeStatus(Evento evento) { Ventana ventana = db.Ventana .Include(v => v.StatusVentana) .Include(v => v.StatusVentana.Select(s => s.Status)) .Include(v => v.BitacoraVentana) .Include(v => v.BitacoraVentana.Select(b => b.Estatus)) .Include(v => v.BitacoraVentana.Select(b => b.Rechazo)) .Include(v => v.Evento) .Include(v => v.Proveedor) .SingleOrDefault(x => x.IdEvento == evento.Id); if (ventana != null) { try { WorkFlowServicio workflowServicio = new WorkFlowServicio(); IRespuestaServicio <WorkFlowView> workFlow = workflowServicio.nextEstatus(ventana.IdSubCategoria, ventana.StatusVentana.OrderByDescending(x => x.Fecha).Select(x => x.IdStatus).FirstOrDefault(), false); StatusVentana statusVentana = new StatusVentana(); statusVentana.IdResponsable = evento.IdAsignador; statusVentana.IdStatus = workFlow.Respuesta.EstatusSiguiente.Id; statusVentana.IdVentana = ventana.Id; statusVentana.Fecha = DateTime.Now; statusVentana.Comentarios = "Se reagenda ventana"; db.StatusVentana.Add(statusVentana); db.SaveChanges(); UsuarioServicio usuarioServicio = new UsuarioServicio(); NotificationService notify = new NotificationService(); string senders = usuarioServicio.GetEmailByStatus(ventana); EmailService emailService = new EmailService(); emailService.SendMail(senders, ventana); return(true); } catch (Exception e) { Console.WriteLine(e); } } return(false); }
// GET: Operaciones/StatusVentana/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } StatusVentana statusVentana = db.StatusVentana.Find(id); if (statusVentana == null) { return(HttpNotFound()); } ViewBag.IdStatus = new SelectList(db.Estatus.Select(x => new { Id = x.Id, Nombre = x.Nombre }).OrderBy(x => x.Nombre), "Id", "Nombre"); ViewBag.IdVentana = new SelectList(db.Ventana.Select(x => new { Id = x.Id, PO = x.PO }).OrderBy(x => x.PO), "Id", "PO"); ViewBag.IdResponsable = new SelectList(db.Personas.Select(x => new { Id = x.Id, Nombre = x.Nombre + " " + x.Apellido1 + " " + x.Apellido1 }).OrderBy(x => x.Nombre), "Id", "Nombre"); return(View(statusVentana)); }
public bool saveStatusVentana(BitacoraVentana bitacoraVentana) { StatusVentana statusVentana = new StatusVentana(); statusVentana.IdResponsable = bitacoraVentana.IdResponsable; statusVentana.IdStatus = bitacoraVentana.IdStatus; statusVentana.IdVentana = bitacoraVentana.IdVentana; statusVentana.Fecha = bitacoraVentana.Fecha; statusVentana.Comentarios = bitacoraVentana.Comentarios; db.StatusVentana.Add(statusVentana); db.SaveChanges(); Ventana ventana = db.Ventana .Include(v => v.StatusVentana) .Include(v => v.StatusVentana.Select(s => s.Status)) .Include(v => v.BitacoraVentana) .Include(v => v.BitacoraVentana.Select(b => b.Estatus)) .Include(v => v.BitacoraVentana.Select(b => b.Rechazo)) .Include(v => v.Evento) .Include(v => v.Proveedor) .SingleOrDefault(x => x.Id == statusVentana.IdVentana); try { UsuarioServicio usuarioServicio = new UsuarioServicio(); NotificationService notify = new NotificationService(); string senders = usuarioServicio.GetEmailByStatus(ventana); EmailService emailService = new EmailService(); emailService.SendMail(senders, ventana); } catch (Exception e) { Console.WriteLine(e); } return(true); }
public IHttpActionResult PostStatusVentana(StatusVentana statusVentana) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } try { var IdSubCategoria = db.Ventana.Where(x => x.Id == statusVentana.IdVentana).Select(x => x.IdSubCategoria).FirstOrDefault(); var IdActualStatus = db.StatusVentana.OrderByDescending(x => x.Fecha).Where(x => x.IdVentana == statusVentana.IdVentana).Select(x => x.IdStatus).FirstOrDefault(); WorkFlowServicio workflowServicio = new WorkFlowServicio(); IRespuestaServicio <WorkFlowView> workFlow = workflowServicio.nextEstatus(IdSubCategoria, IdActualStatus, false); statusVentana.IdStatus = workFlow.Respuesta.EstatusSiguiente.Id; statusVentana.Fecha = DateTime.Now; db.StatusVentana.Add(statusVentana); db.SaveChanges(); var ventana = db.Ventana .Include(v => v.StatusVentana) .Include(v => v.StatusVentana.Select(s => s.Status)) .Include(v => v.BitacoraVentana) .Include(v => v.BitacoraVentana.Select(b => b.Estatus)) .Include(v => v.BitacoraVentana.Select(b => b.Rechazo)) .Include(v => v.Evento) .Where(x => x.Id == statusVentana.IdVentana) .FirstOrDefault(); UsuarioServicio usuarioServicio = new UsuarioServicio(); NotificationService notify = new NotificationService(); string senders = usuarioServicio.GetEmailByStatus(ventana); if (senders != "") { EmailService emailService = new EmailService(); emailService.SendMail(senders, ventana); } List <DispositivoView> dispositivos = usuarioServicio.GetDispositivoByEvento(statusVentana.Ventana.IdEvento); List <string> llaves = dispositivos.Select(x => x.Llave).ToList(); var estatus = ventana.StatusVentana.OrderByDescending(s => s.Fecha).Select(s => s.Status).FirstOrDefault(); if (llaves.Count > 0) { foreach (string notificacion in llaves) { notify.SendPushNotification(notificacion, " Cambio de estatus Ventana: " + ventana.Evento.Descripcion + ". ", " Cambio de estatus a " + estatus.Nombre); } } } catch (Exception e) { Console.WriteLine(e.Message); } StatusVentana statusVentanaAdded = db.StatusVentana.Find(statusVentana.Id); return(Ok(statusVentanaAdded)); }