public IHttpActionResult PostGembaWalk(GembaWalk GembaWalk) { GembaWalk.Activo = true; GembaWalk.FechaReporte = DateTime.Now; GembaWalk.Fotos = null; if (!ModelState.IsValid) { return(BadRequest(ModelState)); } db.GembaWalk.Add(GembaWalk); db.SaveChanges(); var GembaWalkView = db.GembaWalk .Where(d => d.Id == GembaWalk.Id) .Select(d => new GembaWalkView { Id = d.Id, Origen = new OrigenView { Id = d.Origen.Id, IdModulo = d.Origen.IdModulo, IdWorkCenter = d.Origen.IdWorkCenter, WorkCenter = new WorkCenterView { Id = d.Origen.WorkCenter.Id, Nombre = d.Origen.WorkCenter.Nombre, NombreCorto = d.Origen.WorkCenter.NombreCorto, Activo = d.Origen.WorkCenter.Activo, BussinesUnit = new BussinesUnitView { Id = d.Origen.WorkCenter.BussinesUnit.Id, Area = new AreaView { Id = d.Origen.WorkCenter.BussinesUnit.Area.Id, Nombre = d.Origen.WorkCenter.BussinesUnit.Area.Nombre, } } } } }).FirstOrDefault(); NotificationService notify = new NotificationService(); UsuarioServicio usuarioServicio = new UsuarioServicio(); List <DispositivoView> dispositivos = usuarioServicio.GetDispositivoByJDI(GembaWalk.Id); List <string> llaves = dispositivos.Select(x => x.Llave).ToList(); foreach (string notificacion in llaves) { notify.SendPushNotification(notificacion, "Se le ha asignado el GembaWalk " + GembaWalkView.Descripcion + ".", "Nuevo GembaWalk reportado en " + GembaWalkView.Origen.WorkCenter.BussinesUnit.Area.Nombre + "."); } return(Ok(GembaWalkView)); }