public AttendanceLogPageViewModel(IPageNavigator pageNavigator,
                                          ILogger logger,
                                          IUserDialogs userDialogs,
                                          IRequestExceptionHandler requestExceptionHandler,
                                          IEventAggregator eventAggregator,
                                          IAttendanceLogManager attendanceLogManager) : base(pageNavigator, logger, userDialogs, requestExceptionHandler, eventAggregator)
        {
            _attendanceLogManager = attendanceLogManager;
            Title = AppResources.TitleAttendanceLogs;

            TappedMenuCommand = new DelegateCommand(() => EventAggregator.GetEvent <HamburgerTappedEvent>().Publish());
            Logs = new ObservableCollection <AttendanceLogEntity>();
        }
        public ClockPageViewModel(IPageNavigator pageNavigator,
                                  ILogger logger,
                                  IUserDialogs userDialogs,
                                  IRequestExceptionHandler requestExceptionHandler,
                                  IEventAggregator eventAggregator,
                                  ILocationManager locationManager,
                                  IGeolocation geolocation,
                                  IAppUserManager appUserManager,
                                  IEmployeeManager employeeManager,
                                  IAttendanceLogManager attendanceLogManager) : base(pageNavigator, logger, userDialogs, requestExceptionHandler, eventAggregator)
        {
            _locationManager      = locationManager;
            _geolocation          = geolocation;
            _appUserManager       = appUserManager;
            _employeeManager      = employeeManager;
            _attendanceLogManager = attendanceLogManager;

            BackCommand   = new DelegateCommand(async() => await PageNavigator.GoBackAsync());
            SubmitCommand = new DelegateCommand(async() => await OnSubmit(), () => OnSubmitCanExecute()).ObservesProperty(() => CurrentPostion).ObservesProperty(() => CurrentLocationName);

            _mapDragPinNewLocationEventToken = EventAggregator.GetEvent <MapDragPinNewLocationEvent>().Subscribe(async(pos) => await SetPoint(pos.Latitude, pos.Longitude));

            Geofences = new ObservableCollection <Circle>();
        }