/// <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: } } }
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()); }
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")); }
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")); }
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; } }
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; } }
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); } })); }
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()); }
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; } }
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; } }
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); } })); }