public BirthDate(DateTime birthDate, ICurrentDateProvider dateProvider)
        {
            if (dateProvider is null)
            {
                throw new NPDDomainException(nameof(dateProvider));
            }

            var calculatedDate = dateProvider.GetCurrentDate().AddYears(-18);

            Value = birthDate < calculatedDate ? birthDate : throw new NPDDomainException(nameof(birthDate));

            //var minDate = DateTime.MinValue;
            //Value = ((minDate + dateProvider.GetCurrentDate().Subtract(birthDate)).Year - 1) > 18 ? birthDate : throw new NPDDomainException(nameof(birthDate));
        }
        /// <summary>
        /// Initializes a new instance of the SendRoutesTask class.
        /// </summary>
        /// <param name="workflowManagementStateTracker">Reference to the
        /// workflow management connection state tracking service.</param>
        /// <param name="solverStateTracker">Reference to the VRP solver state
        /// tracking service.</param>
        /// <param name="optimizeAndEditPage">Reference to the "Optimize And Edit"
        /// page object.</param>
        /// <param name="dateTimeProvider">The reference to the date time provider
        /// object.</param>
        /// <param name="routesSender">The reference to the routes sender object.</param>
        public SendRoutesTask(
            IStateTrackingService workflowManagementStateTracker,
            IStateTrackingService solverStateTracker,
            IOptimizeAndEditPage optimizeAndEditPage,
            ICurrentDateProvider dateTimeProvider,
            IRoutesSender routesSender)
            : base(workflowManagementStateTracker, solverStateTracker, optimizeAndEditPage)
        {
            Debug.Assert(dateTimeProvider != null);
            Debug.Assert(routesSender != null);

            _dateTimeProvider = dateTimeProvider;
            _routesSender     = routesSender;
        }
        /// <summary>
        /// Initializes a new instance of the SolveStateTrackingService.
        /// </summary>
        /// <param name="solver">VRP solver to track solves for.</param>
        /// <param name="currentDateProvider">Date/time provider object.</param>
        public SolveStateTrackingService(
            IVrpSolver solver,
            ICurrentDateProvider currentDateProvider)
        {
            Debug.Assert(solver != null);

            _solver = solver;
            _solver.AsyncSolveStarted   += (s, e) => _UpdateState();
            _solver.AsyncSolveCompleted += (s, e) => _UpdateState(e.OperationId);

            _currentDateProvider = currentDateProvider;
            _currentDateProvider.CurrentDateChanged += (s, e) => _UpdateState();

            _UpdateState();
        }
        /// <summary>
        /// Initializes a new instance of the SolveStateTrackingService.
        /// </summary>
        /// <param name="solver">VRP solver to track solves for.</param>
        /// <param name="currentDateProvider">Date/time provider object.</param>
        public SolveStateTrackingService(
            IVrpSolver solver,
            ICurrentDateProvider currentDateProvider)
        {
            Debug.Assert(solver != null);

            _solver = solver;
            _solver.AsyncSolveStarted += (s, e) => _UpdateState();
            _solver.AsyncSolveCompleted += (s, e) => _UpdateState(e.OperationId);

            _currentDateProvider = currentDateProvider;
            _currentDateProvider.CurrentDateChanged += (s, e) => _UpdateState();

            _UpdateState();
        }
Example #5
0
 public UpdatePersonCommandHandler(IPersonRepository personRepository, ICurrentDateProvider currentDateProvider)
 {
     _personRepository    = personRepository;
     _currentDateProvider = currentDateProvider;
 }
 public CreatePersonCommandHandler(IMediator mediator, IPersonRepository personRepository, ICurrentDateProvider dateProvider)
 {
     _mediator         = mediator;
     _personRepository = personRepository;
     _dateProvider     = dateProvider;
 }
Example #7
0
 public NoteGenerator(ICurrentDateProvider )currentDateProvider
 {
     this.currentDateProvider = currentDateProvider;
 }