Example #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);
            }
        }