Exemplo n.º 1
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);
            }
        }
Exemplo n.º 2
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);
            }
        }