/// <summary>
 /// Inicia la verificación de nuevos elementos para que sean incluidos en la cola y posteriormente procesados
 /// </summary>
 private void GestionarCola()
 {
     if (!bgWorker.IsBusy && !queue.Any())
     {
         try
         {
             using (repositorio = new PostRepositorio())
             {
                 Post[] posts = repositorio.ObtenerPostEnviar();
                 if (posts.Any())
                 {
                     foreach (var post in posts)
                     {
                         // Cargar elemento a la cola si no existe. Es posible que esté pendiente por procesamiento
                         if (!queue.Where(p => p.Id == p.Id).Any())
                         {
                             queue.Enqueue(post);
                         }
                     }
                 }
             }
         }
         catch
         {
             // Incluir la captura de error:
         }
     }
 }
Exemple #2
0
        public IActionResult Edit(Guid id)
        {
            PostRepositorio postRepositorio = new PostRepositorio(this.configuration.GetConnectionString("default"));
            PostAplicacao   postAplicacao   = new PostAplicacao(postRepositorio);

            var postDto = postAplicacao.Procurar(id);

            var post = PostMapping.toModel(postDto);

            CategoriaRepositorio categoriaRepositorio = new CategoriaRepositorio(this.configuration.GetConnectionString("default"));
            CategoriaAplicacao   categoriaAplicacao   = new CategoriaAplicacao(categoriaRepositorio);

            var categoriaDtos = categoriaAplicacao.Listar();

            List <Categoria> categorias = new List <Categoria>();

            foreach (var categoria in categoriaDtos)
            {
                categorias.Add(CategoriaMapping.toModel(categoria));
            }

            ViewData["title"] = "Edição Post";

            ViewData["post"]       = post;
            ViewData["categorias"] = categorias;

            return(View());
        }
Exemple #3
0
        public IActionResult Delete(String id)
        {
            PostRepositorio postRepositorio = new PostRepositorio(this.configuration.GetConnectionString("default"));
            PostAplicacao   postAplicacao   = new PostAplicacao(postRepositorio);

            postAplicacao.Delete(Guid.Parse(id));

            return(RedirectToAction("Index"));
        }
Exemple #4
0
        public IActionResult Insert(Post post)
        {
            PostRepositorio postRepositorio = new PostRepositorio(this.configuration.GetConnectionString("default"));
            PostAplicacao   postAplicacao   = new PostAplicacao(postRepositorio);

            PostDto postDto = PostMapping.toDto(post);

            postAplicacao.Insert(postDto);

            return(RedirectToAction("Index"));
        }
Exemple #5
0
        public void TesteProcurar()
        {
            Guid id = new Guid("0b427809-e104-4226-913f-2d7acfb33a9a");

            try
            {
                PostRepositorio postRepositorio = new PostRepositorio("Server=" + this.server + ";Database=" + this.database + ";Uid=" + this.uid + ";Pwd=" + this.pwd + ";SslMode=" + this.sslmode + "");
                postRepositorio.Procurar(id);
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                throw;
            }
        }
Exemple #6
0
        public void TesteExcluir()
        {
            Guid id = new Guid("a758d194-7a19-408e-81e8-c146fe19d1d6");

            try
            {
                PostRepositorio postRepositorio = new PostRepositorio("Server=" + this.server + ";Database=" + this.database + ";Uid=" + this.uid + ";Pwd=" + this.pwd + ";SslMode=" + this.sslmode + "");
                postRepositorio.Excluir(id);
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                throw;
            }
        }
Exemple #7
0
        public IActionResult Post(Guid id)
        {
            PostRepositorio postRepositorio = new PostRepositorio(this.configuration.GetConnectionString("default"));
            PostAplicacao   postAplicacao   = new PostAplicacao(postRepositorio);

            var postDto = postAplicacao.Procurar(id);

            var post = PostMapping.toModel(postDto);

            ViewData["title"]   = post.titulo;
            ViewBag.titulo      = post.titulo;
            ViewBag.subtitulo   = post.resumo;
            ViewBag.imagemFundo = "post-bg.jpg";

            ViewData["post"] = post;

            return(View());
        }
 /// <summary>
 /// Permite invocar el procesamiento del post
 /// </summary>
 private Task ProcesarPost(Post post)
 {
     return(Task.Factory.StartNew(() =>
     {
         try
         {
             repositorio = new PostRepositorio();
             if (!Equals(post, null))
             {
                 repositorio.CrearPost(post);
             }
         }
         catch
         {
             repositorio.ActualizarEstadoPost(post.Id, EstadoPost.Creado);
         }
     }));
 }
Exemple #9
0
        public IActionResult Index()
        {
            PostRepositorio postRepositorio = new PostRepositorio(this.configuration.GetConnectionString("default"));
            PostAplicacao   postAplicacao   = new PostAplicacao(postRepositorio);

            var postDtos = postAplicacao.Listar();

            List <Post> posts = new List <Post>();

            foreach (var post in postDtos)
            {
                posts.Add(PostMapping.toModel(post));
            }

            ViewData["title"] = "Posts";

            ViewData["posts"] = posts;

            return(View());
        }
Exemple #10
0
        public void TesteAlterar()
        {
            Post post = new Post();

            post.id           = new Guid("a758d194-7a19-408e-81e8-c146fe19d1d6");
            post.categoria_id = new Guid("ccdb5c4b-4a00-47d6-8921-000243470fb5");
            post.titulo       = "titulo do post 1";
            post.conteudo     = "conteudo do post 1";
            post.resumo       = "resumo do post 1";
            post.tag          = "tag do post 1";

            try
            {
                PostRepositorio postRepositorio = new PostRepositorio("Server=" + this.server + ";Database=" + this.database + ";Uid=" + this.uid + ";Pwd=" + this.pwd + ";SslMode=" + this.sslmode + "");
                postRepositorio.Alterar(post);
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                throw;
            }
        }
Exemple #11
0
        public void TesteGravar()
        {
            Post post = new Post()
            {
                id           = Guid.NewGuid(),
                categoria_id = new Guid("13fe73b5-08bf-484f-9cbf-738f78426adf"),
                titulo       = "titulo do post",
                conteudo     = "conteudo do post",
                resumo       = "resumo do post",
                tag          = "tag do post"
            };

            try
            {
                PostRepositorio postRepositorio = new PostRepositorio("Server=" + this.server + ";Database=" + this.database + ";Uid=" + this.uid + ";Pwd=" + this.pwd + ";SslMode=" + this.sslmode + "");
                postRepositorio.Inserir(post);
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                throw;
            }
        }
Exemple #12
0
        public IActionResult Index()
        {
            ViewData["title"]   = "Home";
            ViewBag.titulo      = "Blog .NET Core";
            ViewBag.subtitulo   = "Home";
            ViewBag.imagemFundo = "home-bg.jpg";

            PostRepositorio postRepositorio = new PostRepositorio(this.configuration.GetConnectionString("default"));
            PostAplicacao   postAplicacao   = new PostAplicacao(postRepositorio);

            var postDtos = postAplicacao.Listar();

            List <Post> posts = new List <Post>();

            foreach (var post in postDtos)
            {
                posts.Add(PostMapping.toModel(post));
            }

            ViewData["posts"] = posts;

            return(View());
        }
 /// <summary>
 /// Permite invocar el procesamiento del post
 /// </summary>
 private Task ProcesarPost(Post post)
 {
     return(Task.Factory.StartNew(() =>
     {
         try
         {
             repositorio = new PostRepositorio();
             if (!Equals(post, null))
             {
                 // Actualizar el elemento para evitar reproceso fuera de la cola:
                 repositorio.ActualizarEstadoPost(post.Id, EstadoPost.Enviando);
                 // Elemento de envío:
                 EstadoPost respuesta = PostInvoke.EnviarPost(post);
                 // Procesado con éxito:
                 repositorio.ActualizarEstadoPost(post.Id, respuesta == EstadoPost.Creado? EstadoPost.Enviado : EstadoPost.Error);
             }
         }
         catch
         {
             repositorio.ActualizarEstadoPost(post.Id, EstadoPost.Creado);
         }
     }));
 }