Beispiel #1
0
        private void AddCategoryValue(Filter filter)
        {
            if (filter == null)
            {
                return;
            }

            var categoryFilter = filters.Find(f => f.Id == (int)FilterCategory.Category);

            foreach (FilterItem item in filter.Items)
            {
                var id       = int.Parse(item.Id);
                var category = dictionary.CategoryItem(id, StormContext.CultureCode);
                var value    = new FilterValueModel <int>
                {
                    Id          = id,
                    Value       = int.Parse(item.Value),
                    Name        = category.Name,
                    Description = category.Description,
                    ImageUrl    = GetImageUrl(category.ImageKey),
                    Code        = item.Code,
                    Count       = item.Count
                };
                categoryFilter.Values.Add(value);
            }
        }
        void HandleItemSelected(object sender, SelectedItemChangedEventArgs e)
        {
            if (Connectivity.NetworkAccess == NetworkAccess.Internet)
            {
                var listView      = sender as ListView;
                var selectedPhoto = e?.SelectedItem as PhotoModel;

                Device.BeginInvokeOnMainThread(async() =>
                {
                    if (selectedPhoto != null)
                    {
                        var filterValueModel = new FilterValueModel()
                        {
                            PropertyToSort = _propertyToSort,
                            ValueToSortBy  = selectedPhoto.CreatedAtString,
                        };

                        await Navigation.PushAsync(new SelectPhotoListPage(filterValueModel));

                        listView.SelectedItem = null;
                    }
                });
            }
            else
            {
                DisplayAlert("Please connect to the Internet ", string.Empty, "OK");
            }
        }
Beispiel #3
0
        private void AddParametrics(FilterListItem filterItem)
        {
            var id = int.Parse(filterItem.Id);
            var pi = dictionary.ParametricInfo(id, StormContext.CultureCode);

            var type   = MapParametricType(pi);
            var filter = new FilterModel(id, type, pi.ValueType, pi.Name, pi.Description, pi.Uom);

            filters.Add(filter);

            foreach (FilterItem item in filterItem.Items)
            {
                var pid   = int.Parse(item.Id);
                var pv    = dictionary.ParametricValue(pi.Type, pid, StormContext.CultureCode);
                var value = new FilterValueModel <int>
                {
                    Id          = pv.Id,
                    Value       = pv.Id,
                    Name        = pv.Name,
                    Description = pv.Description,
                    Code        = pv.Code,
                    SortOrder   = pv.SortOrder,
                    ImageUrl    = GetImageUrl(pv.ImageKey),
                    Count       = item.Count
                };
                filter.Values.Add(value);
            }
        }
Beispiel #4
0
        private void AddParametrics(FilterBoolItem filterItem)
        {
            var id = int.Parse(filterItem.Id);
            var pi = dictionary.ParametricInfo(id, StormContext.CultureCode);

            var type   = MapParametricType(pi);
            var filter = new FilterModel(id, type, pi.ValueType, pi.Name, pi.Description, pi.Uom);

            filters.Add(filter);

            var value = new FilterValueModel <bool>
            {
                Id    = id,
                Value = true,
                Count = filterItem.Count
            };

            filter.Values.Add(value);
        }
Beispiel #5
0
        private void AddOnHand(Filter filter)
        {
            if (filter == null)
            {
                return;
            }

            var onHandFilter = filters.Find(f => f.Id == (int)FilterCategory.OnHand);
            var item         = filter.Items.FirstOrDefault() as FilterItem;

            if (item == null)
            {
                return;
            }
            var value = new FilterValueModel <bool>
            {
                Id    = (int)FilterCategory.OnHand,
                Value = true,
                Count = item.Count
            };

            onHandFilter.Values.Add(value);
        }
Beispiel #6
0
        private void AddFlagValue(Filter filter)
        {
            if (filter == null)
            {
                return;
            }

            var flagFilter = filters.Find(f => f.Id == (int)FilterCategory.Flag);

            foreach (FilterItem item in filter.Items)
            {
                var id    = int.Parse(item.Id);
                var value = new FilterValueModel <int>
                {
                    Id    = id,
                    Value = int.Parse(item.Value),
                    Name  = item.Name,
                    Code  = item.Code,
                    Count = item.Count
                };
                flagFilter.Values.Add(value);
            }
        }
Beispiel #7
0
        private void AddManufacturerValue(Filter filter)
        {
            if (filter == null)
            {
                return;
            }

            var manufacturerFilter = filters.Find(f => f.Id == (int)FilterCategory.Manufacturer);

            foreach (FilterItem item in filter.Items)
            {
                var id           = int.Parse(item.Id);
                var manufacturer = dictionary.ManufacturerItem(id, StormContext.CultureCode);
                var value        = new FilterValueModel <int>
                {
                    Id    = id,
                    Value = int.Parse(item.Value),
                    Name  = manufacturer.Name,
                    Code  = item.Code,
                    Count = item.Count
                };
                manufacturerFilter.Values.Add(value);
            }
        }
Beispiel #8
0
        public SelectPhotoListPage(FilterValueModel filterValueModel)
        {
            if (Connectivity.NetworkAccess == NetworkAccess.Internet)
            {
                ViewModel.IsInternetConnectionActive = true;
            }
            else
            {
                ViewModel.IsInternetConnectionActive = false;
            }

            FilterValueModel = filterValueModel;

            _geographyListView = new ListView(ListViewCachingStrategy.RecycleElement)
            {
                IsPullToRefreshEnabled = true,
                BackgroundColor        = Color.Transparent,
                AutomationId           = AutomationIdConstants.PhotoListView,
                SeparatorVisibility    = SeparatorVisibility.None
            };
            _geographyListView.ItemSelected += HandleItemSelected;
            _geographyListView.SetBinding(ListView.ItemsSourceProperty, nameof(ViewModel.AllPhotosList));
            _geographyListView.HasUnevenRows = true;

            switch (filterValueModel.PropertyToSort)
            {
            case nameof(PhotoModel.CityState):
                _geographyListView.ItemTemplate = new DataTemplate(typeof(GeoViewCell));

                break;

            case nameof(PhotoModel.BarcodeString):
                _geographyListView.ItemTemplate = new DataTemplate(typeof(BarcodeViewCell));

                break;

            case nameof(PhotoModel.CreatedAtString):
                _geographyListView.ItemTemplate = new DataTemplate(typeof(DateTimeWithTimeViewCell));

                break;

            default:
                _geographyListView.ItemTemplate = new DataTemplate(typeof(PhotoViewCell));


                break;
            }



            Title = PageTitles.PhotoListPage;

            var stackLayout = new StackLayout();

            stackLayout.Children.Add(_geographyListView);


            var relativeLayout = new RelativeLayout();

            //relativeLayout.Children.Add(searchBar, _photosListView,

            relativeLayout.Children.Add(stackLayout,
                                        Constraint.Constant(0),
                                        Constraint.Constant(0),
                                        Constraint.RelativeToParent(parent => parent.Width),
                                        Constraint.RelativeToParent(parent => parent.Height));

            Content = relativeLayout;
        }