Exemple #1
0
 //upsert a la base de datos
 private void btnOK_Click(object sender, EventArgs e)
 {
     Post post = null;
     switch (this.modo)
     {
         case "POST":
             post = new Post()
             {
                 Titulo = txtTitulo.Text,
                 Contenido = txtContenido.Text,
                 Longitud = txtContenido.Text.Length,
                 //no podemos enviarla nula
                 Comentarios = new List<Comentario> { }
             };
             break;
         case "COMENTARIO":
             var comentario = new Comentario()
             {
                 Contenido = txtContenido.Text,
                 Email = txtEmail.Text,
                 FechaPosteo = DateTime.Now
             };
             post = padre.ObtenerPostActual();
             post.Comentarios.Add(comentario);
             break;
     }
     padre.coleccion.Save(post);
     this.Dispose();
 }
Exemple #2
0
        //poblamos la BD con unos cuantos posts y comentarios
        private static void CrearPosts(IMongoCollection<Post> collection)
        {
            var post = new Post()
            {
                Titulo = "mi primer post",
                Contenido = "hola amigos soy nuevo en esto",
                Longitud = 27,
                Comentarios = new List<Comentario>
                {
                    { new Comentario() { 
                        FechaPosteo = new DateTime(2014,1,1),
                        Email = "*****@*****.**",
                        Contenido = "es un post demasiado corto" } },
                    { new Comentario() {
                        FechaPosteo = new DateTime(2014,1,2),
                        Email = "*****@*****.**",
                        Contenido = "estoy de acuerdo con anónimo" } }
                }
            };

            //guardamos el post. esto realiza un upsert, es decir, si no existe se inserta, caso contrario, se actualiza.
            collection.Save(post);

            //obtenemos el primer post que no corresponda
            post = collection.Linq().First(x => x.Longitud != x.Contenido.Length);

            post.Longitud = post.Contenido.Length;

            //esto resulta en un update ya que ya insertamos el registro
            collection.Save(post);

            post = new Post()
            {
                Titulo = "Mi Segundo Post",
                Contenido = "Este post no es largo",
                Longitud = 34,
                Comentarios = new List<Comentario>
                {
                    { new Comentario() { FechaPosteo = new DateTime(2014,1,1), Email = "*****@*****.**", Contenido = "Parece que no has mejorad." } },
                }
            };

            //guardamos el post. esto realiza un upsert, es decir, si no existe se inserta, caso contrario, se actualiza.
            collection.Save(post);

            post = new Post()
            {
                Titulo = "Mi tercer post",
                Contenido = "Bueno este post si es mucho más grande así que espero que esten contentos",
                Longitud = 69,
                Comentarios = new List<Comentario>
                {
                    { new Comentario() { FechaPosteo = new DateTime(2014,1,1), Email = "*****@*****.**", Contenido = "No calificaría a esto como un post." } },
                }
            };

            //guardamos el post. esto realiza un upsert, es decir, si no existe se inserta, caso contrario, se actualiza.
            collection.Save(post);
        }