Esempio n. 1
0
 /// <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());
     }
 }
Esempio n. 2
0
        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}"));
        }
Esempio n. 3
0
 /// <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());
     }
 }
Esempio n. 4
0
 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"));
     }
 }
Esempio n. 5
0
        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"));
        }