/// <summary> /// Elimina una publicacion /// </summary> /// <param name="entidad"></param> /// <returns></returns> public string Eliminar(publicaciones entidad) { try { Model context = new Model(); publicaciones publicacion = context.publicaciones .First(i => i.id_publicacion == entidad.id_publicacion); publicacion.activo = false; ICollection <publicaciones_imagenes> lstimagenes = publicacion.publicaciones_imagenes; foreach (publicaciones_imagenes imagen in lstimagenes) { imagen.activo = false; } ICollection <publicaciones_comentarios> lstcomentarios = publicacion.publicaciones_comentarios; foreach (publicaciones_comentarios comentario in lstcomentarios) { comentario.activo = false; } ICollection <publicaciones_likes> lstlikes = publicacion.publicaciones_likes; foreach (publicaciones_likes like in lstlikes) { like.activo = false; } context.SaveChanges(); return(""); } catch (DbEntityValidationException ex) { var errorMessages = ex.EntityValidationErrors .SelectMany(x => x.ValidationErrors) .Select(x => x.ErrorMessage); var fullErrorMessage = string.Join("; ", errorMessages); return(fullErrorMessage.ToString()); } }
public HttpResponseMessage Put(int id, publicaciones item) { var data = r.GetById(id); if (data == null) { return(Request.CreateErrorResponse(HttpStatusCode.NotFound, $"No existe en la base de datos la publicación a actualizar")); } if (r.Put(id, item)) { return(Request.CreateResponse(HttpStatusCode.OK, $"Datos modificados para la publicación {id}")); } return(Request.CreateErrorResponse(HttpStatusCode.NotAcceptable, $"No fue posible actualizar la publicación, id: {id}")); }
/// <summary> /// Agrega una nueva publicacion /// </summary> /// <param name="entidad"></param> /// <param name="entidad_imagenes"></param> /// <returns></returns> public string Agregar(publicaciones entidad, List <publicaciones_imagenes> entidad_imagenes) { try { string mess = ""; if (Exist(entidad.titulo)) { mess = "Ya existe una publicación con el titulo: " + entidad.titulo; } else { publicaciones publicacion = new publicaciones { titulo = entidad.titulo, descripcion = entidad.descripcion, activo = true, usuario = entidad.usuario.ToUpper(), fecha = DateTime.Now }; Model context = new Model(); context.publicaciones.Add(publicacion); int id_entity = publicacion.id_publicacion; foreach (publicaciones_imagenes publicaciones_imagen in entidad_imagenes) { publicaciones_imagenes imagen = new publicaciones_imagenes { id_publicacion = id_entity, path = publicaciones_imagen.path, extension = publicaciones_imagen.extension, activo = true, usuario = entidad.usuario.ToUpper(), fecha = DateTime.Now }; context.publicaciones_imagenes.Add(imagen); } context.SaveChanges(); } return(mess); } catch (DbEntityValidationException ex) { var errorMessages = ex.EntityValidationErrors .SelectMany(x => x.ValidationErrors) .Select(x => x.ErrorMessage); var fullErrorMessage = string.Join("; ", errorMessages); return(fullErrorMessage.ToString()); } }
public ActionResult Publicaciones(publicaciones Publicaciones) { try { if (Publicaciones != null) { using (var db = new RedSocialDB()) { Publicaciones.Descripcion = HttpUtility.HtmlEncode(Publicaciones.Descripcion); Publicaciones.idUsuario = int.Parse(Session["UsuarioID"].ToString()); db.publicaciones.Add(Publicaciones); db.SaveChanges(); } } ViewBag.guardado = true; return(RedirectToAction("Index", "Publicaciones")); } catch (Exception e) { ViewBag.guardado = false; return(RedirectToAction("Index", "Publicaciones")); } }
public async System.Threading.Tasks.Task <HttpResponseMessage> Post(publicaciones item) { item.isDeleted = false; if (item == null) { return(Request.CreateErrorResponse(HttpStatusCode.NotAcceptable, $"La publicación no puede estar sin datos")); } //Publicacion sin imagen o texto if (item.img == null && string.IsNullOrEmpty(item.descripcion)) { return(Request.CreateErrorResponse(HttpStatusCode.NotAcceptable, $"La publicación no puede estar sin datos")); } //valido si existe el user que publicó if (item.id_user == 0) { return(Request.CreateErrorResponse(HttpStatusCode.NotAcceptable, "No se recibio ID del usuario")); } if (!ValidandoSiExistenDatosRelacionados.ExistsUser(item.id_user)) { return(Request.CreateErrorResponse(HttpStatusCode.NotAcceptable, "No existe el usuario")); } item.fecha_creacion = DateTime.Now; item.fecha_actualizacion = null; item.isDeleted = false; //Intenta el post if (r.Post(item)) { //TODO PUSH for comment using (var db = new DBContextModel()) { var seguidoresUsuario = db.users.SingleOrDefault(u => u.id_user == item.id_user) .seguidores1.ToList(); var receiptInstallID = new Dictionary <string, string>(); foreach (var seguidor in seguidoresUsuario) { try { receiptInstallID.Add(seguidor.users.Phone_OS, seguidor.users.Device_id); } catch (Exception) { /**No todos los usuarios tienen telefono asociado **/ } } AppCenterPush appCenterPush = new AppCenterPush(receiptInstallID); users CommenterPost = db.users.SingleOrDefault(u => u.id_user == item.id_user); await appCenterPush.Notify("publicaciones", $"{seguidoresUsuario[0].users1.puesto_name} hizo una nueva publicación", item.descripcion, new Dictionary <string, string>() { { DLL.PushConstantes.gotoPage, DLL.PushConstantes.goto_post }, { DLL.PushConstantes.id_user, item.id_user.ToString() }, { DLL.PushConstantes.id_post, item.id_post.ToString() } }); } return(Request.CreateResponse(HttpStatusCode.Created, item)); } //Culpa del server xd return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, "No es posible guardar los datos de la publicación")); }