public OperationStatus GetTimeEntryList(object token, TimeEntryFilter filter) { try { var validation = filter.Validate(); if (!(bool)validation) { return(validation); } using (IDatabase db = this.CurrentDatabase) { var existingUser = db.SingleOrDefault <User>("where accesstoken=@0", token); if (existingUser == null) { return(OperationStatus.Failed("Token is invalid")); } //TODO var entries = filter.HasFilter ? db.Fetch <TimeEntry>("where userId=@0 and entryDate>=@1 and entryDate<=@2", existingUser.Id, DateTimeSQLite(filter.StartDate.Value), DateTimeSQLite(filter.EndDate.Value)) : db.Fetch <TimeEntry>("where userId=@0", existingUser.Id); return(OperationStatus.Passed("Time entries fetched", entries)); } } catch (Exception exc) { Logger.LogException(exc); return(OperationStatus.Failed("Error fetching time entries")); } }
public async void Execute(object parameter) { TimeEntryFilter filter = parameter as TimeEntryFilter; if (filter != null) { OperationStatus validationStatus = filter.Validate(); if (!(bool)validationStatus) { MessageBox.Show(validationStatus.StatusDescription); } else { basePage.IsBusy = true; var operationStatus = await App.TimeService.GetTimeEntryList(filter); if ((bool)operationStatus) { List <TimeEntry> list = (List <TimeEntry>)operationStatus.Data; basePage.uxTimeEntries.ItemsSource = list; } else { MessageBox.Show(operationStatus.StatusDescription); } basePage.IsBusy = false; } } }
public Task <OperationStatus> GetTimeEntryList(TimeEntryFilter filter) { var tcs = new TaskCompletionSource <OperationStatus>(); var client = new RestClient(BaseUrl); var request = new RestRequest("api/time/list", Method.POST); request.RequestFormat = DataFormat.Json; request.AddHeader("auth-token", AppConfiguration.Token); request.AddBody(filter); client.ExecuteAsync(request, response => { if (response.StatusCode == System.Net.HttpStatusCode.OK) { var data = JsonConvert.DeserializeObject <OperationStatus>(response.Content); if (data != null && (bool)data) { var list = JsonConvert.DeserializeObject <List <TimeEntry> >(data.Data.ToString()); data.Data = list; } tcs.SetResult(data); } else { tcs.SetResult(OperationStatus.Failed("Error getting list")); } }); return(tcs.Task); }
public MainPage() { Filter = new TimeEntryFilter(); SearchCommand = new SearchCommand(this); this.InitializeComponent(); this.DataContext = this; }
public void SetAllChildrenVisibleByFilters(TimeEntryFilter timeEntryFilter, TreeItemSelectionFilter selectionFilter) { VisibleChildren = new ObservableCollection <ListItemModelBase>(Children.Where(x => x.CanPass(timeEntryFilter, selectionFilter))); foreach (var child in VisibleChildren) { child.SetAllChildrenVisibleByFilters(timeEntryFilter, selectionFilter); } Reload(); }
public OperationStatus PostGetTimeEntries(TimeEntryFilter filter) { string token = ServerHelpers.GetAccessTokenFromRequest(this.Request); if ((bool)_usersService.Authorize(token)) { return(_timeService.GetTimeEntryList(token, filter)); } else { return(OperationStatus.Failed("Token is invalid")); } }
private void ResetFilter(object obj) { _timeEntryFilter = new TimeEntryFilter(); BillableOnly = false; Invoiced = true; NotInvoiced = true; HideEmptyProjects = false; HideEmptyTasks = false; SelectedUsers.Clear(); OnPropertyChanged("SelectedUsers"); OnPropertyChanged("HasConsultants"); InternalCommands.UserFilterChanged.Execute(null); }
public FilterViewModel(IDataService dataService) { _dataService = dataService; Users = new List <User>(); SelectedUsers = new ObservableCollection <UserFilterViewModel>(); ApplyFilterCommand = new DelegateCommand <object>(ApplyFilter); ResetFilterCommand = new DelegateCommand <object>(ResetFilter); _timeEntryFilter = new TimeEntryFilter(); LoadUsers(); InitUserFilter(); Invoiced = true; NotInvoiced = true; InternalCommands.UserSelected.RegisterCommand(new DelegateCommand <object>(UserSelected)); InternalCommands.UserDeselected.RegisterCommand(new DelegateCommand <User>(RemoveUser)); }
public void UserFilterChanged(TimeEntryFilter timeEntryFilter) { _timeEntryFilter = timeEntryFilter; ReloadView(); }
public override bool CanPass(TimeEntryFilter filter, TreeItemSelectionFilter selectionFilter) { return(selectionFilter.HasTask(Task) && !(filter != null && filter.HideEmptyTasks && !Task.TimeEntries.Any(filter.CanPassFilter))); }
public override bool CanPass(TimeEntryFilter filter, TreeItemSelectionFilter selectionFilter) { return(filter == null || filter.CanPassFilter(TimeEntry)); }
public virtual bool CanPass(TimeEntryFilter filter, TreeItemSelectionFilter selectionFilter) { return(true); }
public void Setup() { sut = new TimeEntryFilter(); date = new DateTime(2014, 10, 10, 10, 10, 10); }