コード例 #1
0
        public async Task <WrapperSimpleTypesDTO> EliminarCategoriaGrupo(CategoriasGrupos categoriaGrupoParaBorrar)
        {
            using (SportsGoEntities context = new SportsGoEntities(false))
            {
                CategoriasRepository categoriasRepo = new CategoriasRepository(context);
                int?codigoGrupo = await categoriasRepo.BuscarCodigoCandidatoDeUnaCategoriaGrupo(categoriaGrupoParaBorrar.Consecutivo);

                if (!codigoGrupo.HasValue)
                {
                    throw new InvalidOperationException("No se pudo hallar el codigo del grupo para borrar la categoria y modificar el plan!.");
                }

                categoriasRepo.EliminarCategoriaGrupo(categoriaGrupoParaBorrar);

                PlanesRepository planRepo = new PlanesRepository(context);
                int?codigoPlanExistente   = await planRepo.BuscarCodigoPlanUsuarioPorCodigoGrupo(codigoGrupo.Value);

                if (!codigoPlanExistente.HasValue)
                {
                    throw new InvalidOperationException("No se pudo hallar el plan del grupo para crear la categoria para el!.");
                }

                // Se "BAJA" el contador de categorias 1
                PlanesUsuarios planUsuarioExistente = await planRepo.ModificarNumeroCategoriasUsadas(codigoPlanExistente.Value, -1);

                WrapperSimpleTypesDTO wrapperEliminarCategoriaGrupo = new WrapperSimpleTypesDTO();

                wrapperEliminarCategoriaGrupo.NumeroRegistrosAfectados = await context.SaveChangesAsync();

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

                return(wrapperEliminarCategoriaGrupo);
            }
        }