public async Task <IActionResult> RemoveQuestion(int id)
        {
            //Remove constraint from question bank 1st
            List <Questionsbank> lqb      = _context.Questionsbank.ToList();
            Questionsbank        qbRemove = new Questionsbank();

            foreach (Questionsbank qb in lqb)
            {
                if (qb.QuestionId == id)
                {
                    qbRemove = qb;
                }
            }

            if (qbRemove != null)
            {
                _context.Questionsbank.Remove(qbRemove);
                //_context.SaveChanges();
                await _context.SaveChangesAsync();
            }

            //remove question from question table 2nd
            //Questions currentQuestion = _context.Questions.Find(id);
            Questions currentQuestion = await _context.Questions.FindAsync(id);

            if (currentQuestion != null)
            {
                _context.Questions.Remove(currentQuestion);
                //_context.SaveChanges();
                await _context.SaveChangesAsync();
            }

            return(RedirectToAction("AddQuestionToQB"));
        }
        public async Task <GetPlanetModel> Handle(CreatePlanetCommand request, CancellationToken cancellationToken)
        {
            var planet = new Domain.Entities.Planet(request.Id, request.Name, request.Introduction, request.Description, request.Density,
                                                    request.Tilt, request.ImageUrl, request.RotationPeriod, request.Period, request.Radius, request.Moons,
                                                    request.Au, request.Eccentricity, request.Velocity, request.Mass, request.Inclination, request.Type, request.Ordinal);

            SetDomainState(planet);

            await _context.SaveChangesAsync(cancellationToken);

            return(new GetPlanetModel
            {
                Id = planet.Id,
                Name = planet.Name,
                ImageUrl = planet.ImageUrl,
                Introduction = planet.Introduction,
                Description = planet.Description,
                Density = planet.Density,
                Tilt = planet.Tilt,
                RotationPeriod = planet.RotationPeriod,
                Period = planet.Period,
                Radius = planet.Radius,
                Moons = planet.Moons,
                Au = planet.Au,
                Eccentricity = planet.Eccentricity,
                Velocity = planet.Velocity,
                Mass = planet.Mass,
                Inclination = planet.Inclination,
                Type = planet.Type,
                Ordinal = planet.Ordinal
            });
        }
コード例 #3
0
        public async Task <Unit> Handle(DeletePlanetCommand request, CancellationToken cancellationToken)
        {
            var planet = await _context.Planets.FindAsync(request.Id);

            if (planet == null)
            {
                throw new DeleteFailureException(nameof(Planet), request.Id, "Unable to find planet to delete.");
            }

            planet.DeletePlanet();

            SetDomainState(planet);

            await _context.SaveChangesAsync(cancellationToken);

            return(Unit.Value);
        }
コード例 #4
0
        public async Task <GetPlanetModel> Handle(UpdatePlanetCommand request, CancellationToken cancellationToken)
        {
            var planet = await _context.Planets
                         .SingleAsync(c => c.Id == request.Id, cancellationToken);

            if (planet == null)
            {
                throw new NotFoundException(nameof(Planet), request.Id);
            }

            planet.UpdatePlanet(request.Name, request.Introduction, request.Description, request.Density,
                                request.Tilt, request.ImageUrl, request.RotationPeriod, request.Period, request.Radius, request.Moons,
                                request.Au, request.Eccentricity, request.Velocity, request.Mass, request.Inclination, request.Type, request.Ordinal);

            SetDomainState(planet);

            await _context.SaveChangesAsync(cancellationToken);

            return(new GetPlanetModel
            {
                Id = planet.Id,
                Name = planet.Name,
                ImageUrl = planet.ImageUrl,
                Introduction = planet.Introduction,
                Description = planet.Description,
                Density = planet.Density,
                Tilt = planet.Tilt,
                RotationPeriod = planet.RotationPeriod,
                Period = planet.Period,
                Radius = planet.Radius,
                Moons = planet.Moons,
                Au = planet.Au,
                Eccentricity = planet.Eccentricity,
                Velocity = planet.Velocity,
                Mass = planet.Mass,
                Inclination = planet.Inclination,
                Type = planet.Type,
                Ordinal = planet.Ordinal
            });
        }
コード例 #5
0
 internal async Task <int> SaveChangesAsync()
 {
     try
     {
         return(await dataContext.SaveChangesAsync());
     }
     catch (DbUpdateConcurrencyException ex)
     {
         throw;
     }
     catch (DbUpdateException ex)
     {
         throw;
     }
     catch (CommitFailedException ex)
     {
         throw;
     }
     catch (Exception ex)
     {
         throw;
     }
 }