Exemple #1
0
        public void Update(UpdateReservationContract contract)
        {
            var reservationWithoutChanges = _ReservationRepository.Query().Where(r => r.Id == contract.Id).FirstOrDefault();

            if (reservationWithoutChanges.SinceReservation != contract.SinceReservation)
            {
                contract.SinceReservation = contract.SinceReservation.ToLocalTime();
            }
            if (reservationWithoutChanges.UntilReservation != contract.UntilReservation)
            {
                contract.UntilReservation = contract.UntilReservation.ToLocalTime();
            }

            _log.LogInformation($"Validating contract {contract.Description}");
            ValidateContract(contract);


            _log.LogInformation($"Mapping contract {contract.Description}");
            var Reservation = _mapper.Map <Reservation>(contract);

            ValidateSchedule(Reservation);
            CheckOverlap(Reservation);
            Reservation.Recruiter = _ConsultantRepository.Query().Where(x => x.Id == contract.Recruiter).FirstOrDefault();


            _ReservationRepository.Update(Reservation);
            _log.LogInformation($"Complete for {contract.Description}");
            _unitOfWork.Complete();
        }
Exemple #2
0
 private void ValidateContract(UpdateReservationContract contract)
 {
     try
     {
         _updateReservationContractValidator.ValidateAndThrow(contract,
                                                              $"{ValidatorConstants.RULESET_DEFAULT}");
     }
     catch (ValidationException ex)
     {
         throw new CreateContractInvalidException(ex.ToListOfMessages());
     }
 }