private void ApplyUpdateToEntity(TechJobOpening techJobOpeningFromRepo, TechJobOpeningForUpdateDto techJobOpeningUpdate)
 {
     techJobOpeningFromRepo.StartingDate       = techJobOpeningUpdate.StartingDate;
     techJobOpeningFromRepo.Title              = techJobOpeningUpdate.Title;
     techJobOpeningFromRepo.JobTechLanguage    = techJobOpeningUpdate.JobTechLanguage.ToJobTechLanguage();
     techJobOpeningFromRepo.JobPosition        = techJobOpeningUpdate.JobPosition.ToPosition();
     techJobOpeningFromRepo.Seniority          = techJobOpeningUpdate.Seniority.ToSeniority();
     techJobOpeningFromRepo.ContractType       = techJobOpeningUpdate.ContractType.ToContractType();
     techJobOpeningFromRepo.RemoteWorkAccepted = techJobOpeningUpdate.RemoteWorkAccepted;
     techJobOpeningFromRepo.MissionDescription = techJobOpeningUpdate.MissionDescription;
     techJobOpeningFromRepo.City            = techJobOpeningUpdate.City;
     techJobOpeningFromRepo.PostCode        = techJobOpeningUpdate.PostCode;
     techJobOpeningFromRepo.Country         = techJobOpeningUpdate.Country.ToCountry();
     techJobOpeningFromRepo.MinimumSalary   = techJobOpeningUpdate.MinimumSalary;
     techJobOpeningFromRepo.MaximumSalary   = techJobOpeningUpdate.MaximumSalary;
     techJobOpeningFromRepo.Reward          = techJobOpeningUpdate.Reward;
     techJobOpeningFromRepo.BonusReward     = techJobOpeningUpdate.BonusReward;
     techJobOpeningFromRepo.PictureFileName = techJobOpeningUpdate.PictureFileName;
     techJobOpeningFromRepo.RseDescription  = techJobOpeningUpdate.RseDescription;
 }
 public static TechJobOpening ToEntity(this TechJobOpeningForUpdateDto source)
 {
     return(new TechJobOpening()
     {
         StartingDate = source.StartingDate,
         Title = source.Title,
         JobTechLanguage = source.JobTechLanguage.ToJobTechLanguage(),
         JobPosition = source.JobPosition.ToPosition(),
         Seniority = source.Seniority.ToSeniority(),
         ContractType = source.ContractType.ToContractType(),
         RemoteWorkAccepted = source.RemoteWorkAccepted,
         MissionDescription = source.MissionDescription,
         City = source.City,
         PostCode = source.PostCode,
         Country = source.Country.ToCountry(),
         MinimumSalary = source.MinimumSalary,
         MaximumSalary = source.MaximumSalary,
         Reward = source.Reward,
         BonusReward = source.BonusReward,
         PictureFileName = source.PictureFileName,
         RseDescription = source.RseDescription
     });
 }
        public async Task <IActionResult> UpdateTechJobOpening(Guid techJobOpeningId, TechJobOpeningForUpdateDto techJobOpeningUpdate)
        {
            var techJobOpeningFromRepo = await _repository.GetTechJobOpeningAsync(techJobOpeningId);

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

            // Need to keep repoInstance for Entity Framework
            ApplyUpdateToEntity(techJobOpeningFromRepo, techJobOpeningUpdate);

            // Action without any effect
            _repository.UpdateTechJobOpening(techJobOpeningFromRepo);

            await _repository.SaveChangesAsync();

            return(NoContent());
        }