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