public async Task <WrapperSimpleTypesDTO> ModificarNoticia(NoticiasDTO noticiaParaModificar)
        {
            if (noticiaParaModificar == null)
            {
                throw new ArgumentNullException("No puedes modificar una noticia si noticiaParaModificar es nulo!.");
            }
            if (noticiaParaModificar.Consecutivo <= 0)
            {
                throw new ArgumentException("noticiaParaModificar vacio y/o invalido!.");
            }

            IHttpClient client = ConfigurarHttpClient();

            WrapperSimpleTypesDTO wrapperModificarNoticia = await client.PostAsync <NoticiasDTO, WrapperSimpleTypesDTO>("Noticias/ModificarNoticia", noticiaParaModificar);

            return(wrapperModificarNoticia);
        }
        public async Task <WrapperSimpleTypesDTO> EliminarArchivoNoticia(NoticiasDTO noticiaArchivoParaEliminar)
        {
            if (noticiaArchivoParaEliminar == null)
            {
                throw new ArgumentNullException("No puedes eliminar un archivoNoticia si noticiaArchivoParaEliminar es nulo!.");
            }
            if (noticiaArchivoParaEliminar.Consecutivo <= 0 || noticiaArchivoParaEliminar.CodigoArchivo <= 0)
            {
                throw new ArgumentException("noticiaArchivoParaEliminar vacio y/o invalido!.");
            }

            IHttpClient client = ConfigurarHttpClient();

            WrapperSimpleTypesDTO wrapperEliminarArchivoNoticia = await client.PostAsync <NoticiasDTO, WrapperSimpleTypesDTO>("Noticias/EliminarArchivoNoticia", noticiaArchivoParaEliminar);

            return(wrapperEliminarArchivoNoticia);
        }
        public async Task <NoticiasDTO> BuscarNoticia(NoticiasDTO noticiaParaBuscar)
        {
            if (noticiaParaBuscar == null)
            {
                throw new ArgumentNullException("No puedes buscar una noticia si noticiaParaBuscar es nulo!.");
            }
            if (noticiaParaBuscar.Consecutivo <= 0)
            {
                throw new ArgumentException("noticiaParaBuscar vacio y/o invalido!.");
            }

            IHttpClient client = ConfigurarHttpClient();

            NoticiasDTO noticiaBuscada = await client.PostAsync("Noticias/BuscarNoticia", noticiaParaBuscar);

            return(noticiaBuscada);
        }
        public async Task <WrapperSimpleTypesDTO> CrearNoticia(NoticiasDTO noticiaParaCrear)
        {
            if (noticiaParaCrear == null)
            {
                throw new ArgumentNullException("noticiaParaCrear vacio y/o invalido!.");
            }
            if (noticiaParaCrear.CodigoTipoNoticia <= 0)
            {
                throw new ArgumentException("noticiaParaCrear vacio y/o invalido!.");
            }
            else if (noticiaParaCrear.NoticiasContenidos == null || noticiaParaCrear.NoticiasContenidos.Count <= 0 ||
                     !noticiaParaCrear.NoticiasContenidos.All(x => x.CodigoIdioma > 0 && !string.IsNullOrWhiteSpace(x.Titulo)))
            {
                throw new ArgumentException("NoticiasContenidos del noticiaParaCrear vacio y/o invalido!.");
            }
            else if (noticiaParaCrear.NoticiasPaises == null || noticiaParaCrear.NoticiasPaises.Count <= 0 ||
                     !noticiaParaCrear.NoticiasPaises.All(x => x.CodigoPais > 0))
            {
                throw new ArgumentException("NoticiasPaises del noticiaParaCrear vacio y/o invalido!.");
            }
            else if (noticiaParaCrear.CategoriasNoticias == null || noticiaParaCrear.CategoriasNoticias.Count <= 0 ||
                     !noticiaParaCrear.CategoriasNoticias.All(x => x.CodigoCategoria > 0))
            {
                throw new ArgumentException("CategoriasNoticias del noticiaParaCrear vacio y/o invalido!.");
            }
            else if (noticiaParaCrear.Archivos != null)
            {
                throw new ArgumentException("Usa CrearArchivoStream en ArchivosService para crear el archivo o mataras la memoria del servidor!.");
            }

            IHttpClient client = ConfigurarHttpClient();

            WrapperSimpleTypesDTO wrapperCrearNoticia = await client.PostAsync <NoticiasDTO, WrapperSimpleTypesDTO>("Noticias/CrearNoticia", noticiaParaCrear);

            return(wrapperCrearNoticia);
        }