/// <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)); }