public IHttpActionResult PostCategoriasNoticias(CategoriasNoticias categoriasNoticias)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.CategoriasNoticias.Add(categoriasNoticias);

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateException)
            {
                if (CategoriasNoticiasExists(categoriasNoticias.CategoriaId))
                {
                    return(Conflict());
                }
                else
                {
                    throw;
                }
            }

            return(CreatedAtRoute("DefaultApi", new { id = categoriasNoticias.CategoriaId }, categoriasNoticias));
        }
        public IHttpActionResult PutCategoriasNoticias(int id, CategoriasNoticias categoriasNoticias)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != categoriasNoticias.CategoriaId)
            {
                return(BadRequest());
            }

            db.Entry(categoriasNoticias).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!CategoriasNoticiasExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
Example #3
0
        public async Task <CategoriasNoticias> ModificarCategoriaNoticia(CategoriasNoticias categoriaNoticiaParaModificar)
        {
            CategoriasNoticias categoriaNoticiaExistente = await _context.CategoriasNoticias.Where(x => x.Consecutivo == categoriaNoticiaParaModificar.Consecutivo).FirstOrDefaultAsync();

            categoriaNoticiaExistente.CodigoCategoria = categoriaNoticiaParaModificar.CodigoCategoria;

            return(categoriaNoticiaExistente);
        }
        public IHttpActionResult GetCategoriasNoticias(int id)
        {
            CategoriasNoticias categoriasNoticias = db.CategoriasNoticias.Find(id);

            if (categoriasNoticias == null)
            {
                return(NotFound());
            }

            return(Ok(categoriasNoticias));
        }
Example #5
0
        public async Task <WrapperSimpleTypesDTO> EliminarNoticia(Noticias noticiaParaEliminar)
        {
            using (SportsGoEntities context = new SportsGoEntities(false))
            {
                NoticiasRepository noticiasRepo = new NoticiasRepository(context);
                NoticiasContenidos noticiaContenidoParaBorrar = new NoticiasContenidos
                {
                    CodigoNoticia = noticiaParaEliminar.Consecutivo
                };
                noticiasRepo.EliminarMultiplesNoticiasContenidos(noticiaContenidoParaBorrar);

                NoticiasPaises noticiaPaisesParaBorrar = new NoticiasPaises
                {
                    CodigoNoticia = noticiaParaEliminar.Consecutivo
                };
                noticiasRepo.EliminarMultiplesNoticiasPaises(noticiaPaisesParaBorrar);

                CategoriasRepository categoriasRepo = new CategoriasRepository(context);
                CategoriasNoticias   categoriasNoticiaParaBorrar = new CategoriasNoticias
                {
                    CodigoNoticia = noticiaParaEliminar.Consecutivo
                };
                categoriasRepo.EliminarMultiplesCategoriasNoticias(categoriasNoticiaParaBorrar);

                int?codigoArchivoDeAnuncio = await noticiasRepo.BuscarArchivoDeUnaNoticia(noticiaParaEliminar);

                noticiasRepo.EliminarNoticia(noticiaParaEliminar);

                WrapperSimpleTypesDTO wrapperEliminarNoticia = new WrapperSimpleTypesDTO();

                wrapperEliminarNoticia.NumeroRegistrosAfectados = await context.SaveChangesAsync();

                if (codigoArchivoDeAnuncio.HasValue)
                {
                    ArchivosRepository archivoRepo         = new ArchivosRepository(context);
                    Archivos           archivoParaEliminar = new Archivos
                    {
                        Consecutivo = codigoArchivoDeAnuncio.Value,
                    };
                    archivoRepo.EliminarArchivo(archivoParaEliminar);
                }

                wrapperEliminarNoticia.NumeroRegistrosAfectados += await context.SaveChangesAsync();

                if (wrapperEliminarNoticia.NumeroRegistrosAfectados > 0)
                {
                    wrapperEliminarNoticia.Exitoso = true;
                }

                return(wrapperEliminarNoticia);
            }
        }
        public IHttpActionResult DeleteCategoriasNoticias(int id)
        {
            CategoriasNoticias categoriasNoticias = db.CategoriasNoticias.Find(id);

            if (categoriasNoticias == null)
            {
                return(NotFound());
            }

            db.CategoriasNoticias.Remove(categoriasNoticias);
            db.SaveChanges();

            return(Ok(categoriasNoticias));
        }
Example #7
0
        public async Task <WrapperSimpleTypesDTO> ModificarNoticia(Noticias noticiaParaModificar)
        {
            using (SportsGoEntities context = new SportsGoEntities(false))
            {
                NoticiasRepository noticiasRepo     = new NoticiasRepository(context);
                Noticias           noticiaExistente = await noticiasRepo.ModificarNoticia(noticiaParaModificar);

                if (noticiaParaModificar.NoticiasContenidos != null && noticiaParaModificar.NoticiasContenidos.Count > 0)
                {
                    foreach (NoticiasContenidos noticiaContenido in noticiaParaModificar.NoticiasContenidos)
                    {
                        NoticiasContenidos noticiaContenidoExistente = await noticiasRepo.ModificarNoticiaContenido(noticiaContenido);
                    }
                }

                if (noticiaParaModificar.NoticiasPaises != null && noticiaParaModificar.NoticiasPaises.Count > 0)
                {
                    NoticiasPaises noticiaPaisParaBorrar = new NoticiasPaises
                    {
                        CodigoNoticia = noticiaParaModificar.Consecutivo
                    };

                    noticiasRepo.EliminarMultiplesNoticiasPaises(noticiaPaisParaBorrar);

                    foreach (var noticiaPais in noticiaParaModificar.NoticiasPaises)
                    {
                        noticiaPais.CodigoNoticia = noticiaParaModificar.Consecutivo;
                    }

                    noticiasRepo.CrearNoticiasPaises(noticiaParaModificar.NoticiasPaises);
                }

                if (noticiaParaModificar.CategoriasNoticias != null && noticiaParaModificar.CategoriasNoticias.Count > 0)
                {
                    CategoriasRepository categoriasRepo             = new CategoriasRepository(context);
                    CategoriasNoticias   categoriaNoticiaParaBorrar = new CategoriasNoticias
                    {
                        CodigoNoticia = noticiaParaModificar.Consecutivo
                    };

                    categoriasRepo.EliminarMultiplesCategoriasNoticias(categoriaNoticiaParaBorrar);

                    foreach (CategoriasNoticias noticiaCategoria in noticiaParaModificar.CategoriasNoticias)
                    {
                        noticiaCategoria.CodigoNoticia = noticiaParaModificar.Consecutivo;
                    }

                    categoriasRepo.CrearListaCategoriaNoticias(noticiaParaModificar.CategoriasNoticias);
                }

                WrapperSimpleTypesDTO wrapperModificarNoticia = new WrapperSimpleTypesDTO();

                wrapperModificarNoticia.NumeroRegistrosAfectados = await context.SaveChangesAsync();

                if (wrapperModificarNoticia.NumeroRegistrosAfectados > 0)
                {
                    wrapperModificarNoticia.Exitoso = true;
                }

                return(wrapperModificarNoticia);
            }
        }
Example #8
0
 public void EliminarMultiplesCategoriasNoticias(CategoriasNoticias categoriaNoticiaParaBorrar)
 {
     _context.CategoriasNoticias.RemoveRange(_context.CategoriasNoticias.Where(x => x.CodigoNoticia == categoriaNoticiaParaBorrar.CodigoNoticia));
 }
Example #9
0
 public void EliminarCategoriaNoticia(CategoriasNoticias categoriaNoticiaParaBorrar)
 {
     _context.CategoriasNoticias.Attach(categoriaNoticiaParaBorrar);
     _context.CategoriasNoticias.Remove(categoriaNoticiaParaBorrar);
 }
Example #10
0
        public async Task <List <CategoriasNoticiasDTO> > ListarCategoriasDeUnaNoticiaPorIdioma(CategoriasNoticias categoriaNoticiaParaListar)
        {
            IQueryable <CategoriasNoticias> queryNoticias = _context.CategoriasNoticias.Where(x => x.CodigoNoticia == categoriaNoticiaParaListar.CodigoNoticia).AsQueryable();

            List <CategoriasNoticiasDTO> listaCategoriasRepresentantes = await queryNoticias
                                                                         .Select(x => new CategoriasNoticiasDTO
            {
                Consecutivo     = x.Consecutivo,
                CodigoCategoria = x.CodigoCategoria,
                CodigoNoticia   = x.CodigoNoticia,
                Categorias      = new CategoriasDTO
                {
                    Consecutivo              = x.Categorias.Consecutivo,
                    CodigoArchivo            = x.Categorias.CodigoArchivo,
                    DescripcionIdiomaBuscado = x.Categorias.CategoriasContenidos.Where(y => y.CodigoIdioma == categoriaNoticiaParaListar.CodigoIdiomaUsuarioBase).Select(y => y.Descripcion).FirstOrDefault(),
                    CategoriasContenidos     = x.Categorias.CategoriasContenidos.Where(y => y.CodigoIdioma == categoriaNoticiaParaListar.CodigoIdiomaUsuarioBase)
                                               .Select(z => new CategoriasContenidosDTO
                    {
                        Consecutivo  = z.Consecutivo,
                        Descripcion  = z.Descripcion,
                        CodigoIdioma = z.CodigoIdioma
                    }).ToList()
                }
            })
                                                                         .AsNoTracking()
                                                                         .ToListAsync();

            return(listaCategoriasRepresentantes);
        }
Example #11
0
        public async Task <CategoriasNoticiasDTO> BuscarCategoriasNoticiasPorConsecutivoAndIdioma(CategoriasNoticias categoriaNoticiasParaBuscar)
        {
            IQueryable <CategoriasNoticias> queryRepresentante = _context.CategoriasNoticias.Where(x => x.Consecutivo == categoriaNoticiasParaBuscar.Consecutivo).AsQueryable();

            CategoriasNoticiasDTO categoriaRepresentanteBuscada = await queryRepresentante
                                                                  .Select(x => new CategoriasNoticiasDTO
            {
                Consecutivo     = x.Consecutivo,
                CodigoCategoria = x.CodigoCategoria,
                CodigoNoticia   = x.CodigoNoticia,
                Categorias      = new CategoriasDTO
                {
                    Consecutivo              = x.Categorias.Consecutivo,
                    CodigoArchivo            = x.Categorias.CodigoArchivo,
                    DescripcionIdiomaBuscado = x.Categorias.CategoriasContenidos.Where(y => y.CodigoIdioma == categoriaNoticiasParaBuscar.CodigoIdiomaUsuarioBase).Select(y => y.Descripcion).FirstOrDefault(),
                    CategoriasContenidos     = x.Categorias.CategoriasContenidos.Where(y => y.CodigoIdioma == categoriaNoticiasParaBuscar.CodigoIdiomaUsuarioBase)
                                               .Select(z => new CategoriasContenidosDTO
                    {
                        Consecutivo  = z.Consecutivo,
                        Descripcion  = z.Descripcion,
                        CodigoIdioma = z.CodigoIdioma
                    }).ToList()
                }
            })
                                                                  .AsNoTracking()
                                                                  .FirstOrDefaultAsync();

            return(categoriaRepresentanteBuscada);
        }
Example #12
0
 public void CrearCategoriaNoticias(CategoriasNoticias categoriaNoticiasParaCrear)
 {
     _context.CategoriasNoticias.Add(categoriaNoticiasParaCrear);
 }