Пример #1
0
        /// <summary>
        /// Register defect with exiciting id user and car
        /// </summary>
        /// <param name="registerDefectDto"></param>
        /// <returns>return register defect mapped to DefectDto</returns>
        public async Task <DefectDto> RegisterDefectAsync(RegisterDefectDto registerDefectDto)
        {
            var user = await userRepository.FindByIdDetailsAsync(registerDefectDto.UserId);

            var car = await carRepository.FindByIdAsync(registerDefectDto.CarId);

            if (user == null || car == null)
            {
                return(null);
            }
            Defect defect = new Defect(user.UserId,
                                       car.CarId,
                                       user.FirstName,
                                       user.LastName,
                                       user.MobileNumber,
                                       car.RegistrationNumber,
                                       registerDefectDto.Description,
                                       Status.Reported);

            defectRepository.Create(defect);
            await defectRepository.SaveChangesAsync();

            return(mapper.Map <DefectDto>(defect));
        }