private void Init() { Filter = new ReturnOrderQueryContext(); //Filter.AccountNumber = SettingsService.Instance.AxCustomerId; StatusList = new ObservableCollection <KeyValuePair <ReturnOrderQueryContextStatus, string> > { new KeyValuePair <ReturnOrderQueryContextStatus, string>(ReturnOrderQueryContextStatus.BackOrder, nameof(AppResources.OpenOrder).Translate()), new KeyValuePair <ReturnOrderQueryContextStatus, string>(ReturnOrderQueryContextStatus.Invoiced, nameof(AppResources.Invoiced).Translate()), new KeyValuePair <ReturnOrderQueryContextStatus, string>(ReturnOrderQueryContextStatus.Delivered, nameof(AppResources.Delivered).Translate()), }; Filter.Status = _statusList.First().Key; SortColumns = new ObservableCollection <SortColumnItem> { new SortColumnItem(ReturnedOrdersSortColumns.SalesOrder, nameof(AppResources.SalesOrder).Translate()), new SortColumnItem(ReturnedOrdersSortColumns.Invoice, nameof(AppResources.Invoice).Translate()), new SortColumnItem(ReturnedOrdersSortColumns.Amount, nameof(AppResources.Amount).Translate()), new SortColumnItem(ReturnedOrdersSortColumns.OrderNumber, nameof(AppResources.OrderNumber).Translate()), new SortColumnItem(ReturnedOrdersSortColumns.Status, nameof(AppResources.Status).Translate()), new SortColumnItem(ReturnedOrdersSortColumns.ReturnDate, nameof(AppResources.ReturnDate).Translate()), new SortColumnItem(ReturnedOrdersSortColumns.Lines, nameof(AppResources.LinesCamelCase).Translate()), new SortColumnItem(ReturnedOrdersSortColumns.Id, "Id"), }; Children[0].BindingContext = this; SelectedSortColumn = _sortColumns[4]; Ascending = true; }
private bool IsFilterDifferentFromLast(ReturnOrderQueryContext currentFilter) { if (_previousFilter == null) { return(true); } if (_previousFilter.EndDate != currentFilter.EndDate) { return(true); } if (_previousFilter.StartDate != currentFilter.StartDate) { return(true); } return(false); }
public async Task Load(ReturnOrderQueryContext filter = null, SortColumnItem sortColumnItem = null) { try { IsBusy = true; if (filter == null) { filter = new ReturnOrderQueryContext { CustomerInfo = Api.GetCustomerContext(), }; } if ((filter.EndDate.GetValueOrDefault() - filter.StartDate.GetValueOrDefault()).TotalDays > 90) { await Alert.ShowMessage(nameof(AppResources.DiffLessThan90DaysMessage).Translate()); return; } if (sortColumnItem != null) { _sortColumnItem = sortColumnItem; } else if (_sortColumnItem == null) { _sortColumnItem = new SortColumnItem(OrdersSortableColumns.OrderNumber, null) { Ascending = true }; } if (IsFilterDifferentFromLast(filter)) { var lines = await Api.GetReturnOrders(filter); if (!lines.Successful.GetValueOrDefault()) { await Alert.ShowMessage(lines.ExceptionMessage); return; } _previousFilter = filter; _rawList = lines.Data.ToList(); } TotalAmount = (decimal)_rawList.Sum(p => p.Amount.GetValueOrDefault()); RowCount = _rawList.Count; var sortedLines = SortList(_sortColumnItem, _rawList) .ToList(); ReturnedOrderList = new ObservableCollection <ReturnOrder>(sortedLines); NoResults = !sortedLines.Any(); } catch (Exception e) { await Alert.DisplayError(e); } finally { IsBusy = false; } }
private async Task OnSearch(ReturnOrderQueryContext arg) { ShowFilter = false; await Load(arg); }
public Task <ApiResponseOfListOfReturnOrder> GetReturnOrders(ReturnOrderQueryContext context) { return(AXClient.Instance.GetReturnOrdersAsync(context)); }