public CurrentDayTimeTracker(IClientManager clientManager, ITimeEntryManager timeEntryManager)
        {
            ClientManager = clientManager;
            TimeEntryManager = timeEntryManager;

            TimeEntryViewModel = new TimeEntryViewModel(clientManager);
            CurrentDate = DateTime.Now;
        }
 public TimeEntryValidator(ITimeEntryManager manager, ValidationMode mode) :
     base(manager, mode)
 {
     RuleFor(timeEntry => timeEntry.User)
     .MustAsync(async(x, token) => x.Id > 0 && await ExistsAsync(x.Id, ServiceLocator.Current.Get <IUserManager>()))
     .When(x => HasFlag(ValidationMode.Add | ValidationMode.Update))
     .WithMessage("{PropertyName} doesn't exist.");
     RuleFor(timeEntry => timeEntry.Activity)
     .MustAsync(async(x, token) => x.Id > 0 && await ExistsAsync(x.Id, ServiceLocator.Current.Get <IActivityManager>()))
     .When(x => HasFlag(ValidationMode.Add | ValidationMode.Update))
     .WithMessage("{PropertyName} doesn't exist.");
     RuleFor(timeEntry => timeEntry.IsActive)
     .Equal(true)
     .When(x => HasFlag(ValidationMode.Add))
     .WithMessage("{PropertyName} can't be {PropertyValue}.");
 }