public static Rekommendation ToEntity(this RekommendationForCreationDto source) { return(new Rekommendation() { TechJobOpeningId = source.TechJobOpeningId, FirstName = source.FirstName, LastName = source.LastName, Position = source.Position.ToPosition(), Seniority = source.Seniority.ToSeniority(), Company = source.Company, Email = source.Email, Comment = source.Comment, HasAlreadyWorkedWithRekommender = source.HasAlreadyWorkedWithRekommender }); }
public async Task <ActionResult <RekommendationDto> > CreateRekommendation(RekommendationForCreationDto rekommendationForCreationDto) { AppUser appUser = new AppUser { Id = _userInfoService.UserId, FirstName = _userInfoService.FirstName, LastName = _userInfoService.LastName, Email = _userInfoService.Email, Company = _userInfoService.Company, City = _userInfoService.City, Country = _userInfoService.Country, Seniority = _userInfoService.Seniority, Stack = _userInfoService.Stack, Profile = _userInfoService.Profile }; var techJobOpeningId = rekommendationForCreationDto.TechJobOpeningId; if (await CheckTechJobOpeningIdIsValid(techJobOpeningId)) { var rekommendation = rekommendationForCreationDto.ToEntity(); _repository.AddRekommendation(appUser, rekommendation); await _repository.SaveChangesAsync(); // Refetch the Rekommendation from the data store to include the rekommender await _repository.GetRekommendationAsync(rekommendation.Id); return(CreatedAtRoute("GetRekommendation", new { rekommendationId = rekommendation.Id }, rekommendation)); } else { _logger.LogInformation($"Cannot create Rekommendation as wrong techJobOpeningId [{techJobOpeningId}]"); return(BadRequest()); } }