/// <summary> /// Guarda un post /// </summary> /// <param name="blogDto"></param> /// <param name="formFile"></param> /// <returns></returns> public ApiCallResult GuardarPost(BlogDetalleDto blogDto) { try { Blogs slug = this.blogRepository.ObtenerSlug(blogDto.Slug); if (slug != null) { throw new NegocioExecption($"Ya existe ha sido creado previamente un post con este SLUG {blogDto.Slug}", 202); } BusquedaDto titulo = this.BuscarPost(blogDto.Titulo).FirstOrDefault(); if (!string.IsNullOrEmpty(titulo.Slug)) { throw new NegocioExecption($"Ya existe ha sido creado previamente un post con este Titulo {blogDto.Titulo}", 202); } UsuarioDto usuario = this.usuarioService.VerificarUsuario(blogDto.Creador); if (usuario is null) { throw new NegocioExecption($"Error de logeo con {blogDto.Creador}", 401); } using (TransactionScope scope = new TransactionScope()) { #region Guardar imagenes this.GuardarImagenPost(blogDto.ImagenPost); #endregion #region Guardar post blogDto.Idcreador = usuario.Idusuario; blogDto.Idimagen = this.BuscarImagenPorRuta(blogDto.ImagenPost); blogDto.FechaCreacion = DateTime.Now; blogDto.Tipo = "PO"; blogDto.Estado = true; Blogs blog = mapper.Map <Blogs>(blogDto); this.blogRepository.GuardarPost(blog); #endregion #region Guardar keywords Blogs blogCreado = this.blogRepository.ObtenerSlug(blogDto.Slug); this.GuardarKeyWords(blogDto.KeyWords, blogCreado.Idblog); #endregion scope.Complete(); } return(new ApiCallResult { Estado = true, Mensaje = "Post guardado" }); } catch (NegocioExecption) { throw; } catch (Exception) { throw; } }
/// <summary> /// Guarda las entradas con videos de youtube /// </summary> /// <param name="youtubeDto"></param> /// <returns></returns> public ApiCallResult GuardarEntradaYoutube(EntradaYoutubeDto youtubeDto) { try { #region Validaciones Blogs slug = this.repository.ObtenerSlug(youtubeDto.Slug); if (slug != null) { throw new NegocioExecption($"Ya existe ha sido creado previamente un post con este SLUG {youtubeDto.Slug}", 202); } BusquedaDto titulo = this.blogService.BuscarPost(youtubeDto.Titulo).FirstOrDefault(); if (!string.IsNullOrEmpty(titulo.Slug)) { throw new NegocioExecption($"Ya existe ha sido creado previamente un post con este Titulo {youtubeDto.Titulo}", 202); } UsuarioDto usuario = this.usuarioService.VerificarUsuario(youtubeDto.Creador); if (usuario is null) { throw new NegocioExecption($"Error de logeo con {youtubeDto.Creador}", 401); } #endregion using (TransactionScope scope = new TransactionScope()) { #region Guardar Entrada youtubeDto.IdVideo = this.GuardarRutaYoutube(youtubeDto.Rutavideo); youtubeDto.Tipo = "YO"; youtubeDto.Estado = true; youtubeDto.Fechacreacion = DateTime.Now; youtubeDto.Idcreador = usuario.Idusuario; Blogs blog = mapper.Map <Blogs>(youtubeDto); this.repository.GuardarPost(blog); #endregion #region Guardar Keywords Blogs blogCreado = this.repository.ObtenerSlug(youtubeDto.Slug); this.blogService.GuardarKeyWords(youtubeDto.KeyWords, blogCreado.Idblog); #endregion scope.Complete(); } return(new ApiCallResult { Estado = true, Mensaje = "Video guardado correctamente" }); } catch (NegocioExecption) { throw; } catch (Exception) { throw; } }