예제 #1
0
        public async Task <WrapperSimpleTypesDTO> EliminarGrupoEvento(GruposEventos grupoEventoParaEliminar)
        {
            using (SportsGoEntities context = new SportsGoEntities(false))
            {
                CategoriasRepository categoriaRepo            = new CategoriasRepository(context);
                CategoriasEventos    categoriaGrupoParaBorrar = new CategoriasEventos
                {
                    CodigoEvento = grupoEventoParaEliminar.Consecutivo
                };
                categoriaRepo.EliminarMultiplesCategoriasEventos(categoriaGrupoParaBorrar);

                GruposRepository        grupoRepository            = new GruposRepository(context);
                GruposEventosAsistentes gruposAsistentesParaBorrar = new GruposEventosAsistentes
                {
                    CodigoEvento = grupoEventoParaEliminar.Consecutivo
                };
                grupoRepository.EliminarMultiplesGrupoEventoAsistente(gruposAsistentesParaBorrar);

                NoticiasRepository noticiasRepo       = new NoticiasRepository(context);
                Notificaciones     notificacionEvento = new Notificaciones
                {
                    CodigoEvento = grupoEventoParaEliminar.Consecutivo
                };
                noticiasRepo.EliminarNotificacionesDeUnEvento(notificacionEvento);

                int?archivoGrupoEvento = await grupoRepository.BuscarArchivoGrupoEvento(grupoEventoParaEliminar);

                grupoRepository.EliminarGrupoEvento(grupoEventoParaEliminar);

                WrapperSimpleTypesDTO wrapperEliminarGrupoEvento = new WrapperSimpleTypesDTO();

                wrapperEliminarGrupoEvento.NumeroRegistrosAfectados = await context.SaveChangesAsync();

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

                    archivoRepo.EliminarArchivo(archivoParaEliminar);
                }

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

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

                return(wrapperEliminarGrupoEvento);
            }
        }