Esempio n. 1
0
        public async Task <BaseApiResponse> RateInstructorAsync(RateInstructorRequest request)
        {
            var response = new BaseApiResponse {
                IsError = false
            };

            try
            {
                var instructorToRate = await _context.Instructors.SingleOrDefaultAsync(i => i.Id == request.InstructorId);

                instructorToRate.NumberOfRatings++;
                instructorToRate.AggregateRatings += request.Rating;
                instructorToRate.AverageRating     = CalculateInstructorRatingAsync(instructorToRate.AggregateRatings, instructorToRate.NumberOfRatings);

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

            return(response);
        }
        public async Task <IActionResult> RateInstructor([FromBody] RateInstructorRequest request)
        {
            var response = await _instructorsService.RateInstructorAsync(request);

            return(Ok(response));
        }