public async Task UpdateInstructorResponse_UpdatesExistingInstructorResponse()
        {
            var instructorResponse = new InstructorResponse
            {
                Body       = "InstructorResponse Body",
                ExerciseId = 1
            };

            using (var context = new ApplicationDbContext(Options))
            {
                context.InstructorResponses.Add(instructorResponse);
                context.SaveChanges();
            }

            instructorResponse.Body = "Updated Body";
            using (var context = new ApplicationDbContext(Options))
            {
                var service = new InstructorResponseService(context);
                InstructorResponse updatedInstructorResponse = await service.UpdateResponse(instructorResponse);

                Assert.AreEqual(instructorResponse.Body, updatedInstructorResponse.Body);
            }

            using (var context = new ApplicationDbContext(Options))
            {
                InstructorResponse retrievedInstructorResponse = context.InstructorResponses.Single();
                Assert.AreEqual(instructorResponse.Id, retrievedInstructorResponse.Id);
                Assert.AreEqual(instructorResponse.Body, retrievedInstructorResponse.Body);
                Assert.AreEqual(instructorResponse.ExerciseId, retrievedInstructorResponse.ExerciseId);
            }
        }
Exemplo n.º 2
0
        public async Task <InstructorResponse> UpdateResponse(InstructorResponse response)
        {
            DbContext.InstructorResponses.Update(response);
            await DbContext.SaveChangesAsync().ConfigureAwait(false);

            return(response);
        }
        public async Task AddInstructorResponse_PersistsInstructorResponse()
        {
            var instructorResponse = new InstructorResponse
            {
                Body       = "InstructorResponse Body",
                ExerciseId = 1
            };

            using (var context = new ApplicationDbContext(Options))
            {
                var service = new InstructorResponseService(context);

                InstructorResponse addedInstructorResponse = await service.AddResponse(instructorResponse);

                Assert.AreEqual(addedInstructorResponse, instructorResponse);
                Assert.AreEqual(addedInstructorResponse.Body, instructorResponse.Body);
                Assert.AreNotEqual(0, addedInstructorResponse.Id);
            }

            using (var context = new ApplicationDbContext(Options))
            {
                InstructorResponse retrievedInstructorResponse = context.InstructorResponses.Single();
                Assert.AreEqual(instructorResponse.Body, retrievedInstructorResponse.Body);
            }
        }
Exemplo n.º 4
0
        public async Task <InstructorResponse> AddInstructorAsync(InstructorRequest request)
        {
            var response = new InstructorResponse {
                IsError = false
            };

            try
            {
                await _context.Instructors.AddAsync(new Instructor
                {
                    FirstName = request.FirstName,
                    LastName  = request.LastName,
                    Image     = request.Image
                });

                await _context.SaveChangesAsync();
            }
            catch (Exception e)
            {
                response.IsError      = true;
                response.ErrorMessage = e.Message;
            }

            return(response);
        }
Exemplo n.º 5
0
        public async Task <ActionResult <InstructorResponseViewModel> > AddInstructorResponse(InstructorResponseInputViewModel viewModel)
        {
            if (viewModel == null)
            {
                return(BadRequest());
            }

            InstructorResponse createdResponse = await ResponseService.AddResponse(Mapper.Map <InstructorResponse>(viewModel)).ConfigureAwait(false);

            return(CreatedAtAction(nameof(AddInstructorResponse), new { id = createdResponse.Id }, Mapper.Map <InstructorResponseViewModel>(createdResponse)));
        }
Exemplo n.º 6
0
        public async Task <ActionResult <InstructorResponseViewModel> > GetInstructorResponseById(int id)
        {
            InstructorResponse fetchedResponse = await ResponseService.GetById(id).ConfigureAwait(false);

            if (fetchedResponse == null)
            {
                return(NotFound());
            }

            return(Ok(Mapper.Map <InstructorResponseViewModel>(fetchedResponse)));
        }
Exemplo n.º 7
0
        public async Task <bool> DeleteResponse(int responseId)
        {
            InstructorResponse fetchedResponse = DbContext.InstructorResponses.Find(responseId);

            if (fetchedResponse != null)
            {
                DbContext.InstructorResponses.Remove(fetchedResponse);
                await DbContext.SaveChangesAsync().ConfigureAwait(false);

                return(true);
            }

            return(false);
        }
Exemplo n.º 8
0
        public async Task <ActionResult <InstructorResponseViewModel> > UpdateInstructorResponse(int id, InstructorResponseInputViewModel viewModel)
        {
            if (viewModel == null)
            {
                return(BadRequest());
            }
            InstructorResponse fetchedResponse = await ResponseService.GetById(id).ConfigureAwait(false);

            if (fetchedResponse == null)
            {
                return(NotFound());
            }

            Mapper.Map(viewModel, fetchedResponse);
            await ResponseService.UpdateResponse(fetchedResponse).ConfigureAwait(false);

            return(NoContent());
        }