Exemple #1
0
        /// <summary>
        ///     Loads the menu item.
        /// </summary>
        /// <returns>The menu item.</returns>
        /// <param name="location">Location.</param>
        public async Task LoadMenuItem(MenuLocation location)
        {
            if (IsBusy)
            {
                return;
            }

            IsBusy = true;
            if (_dataStore.CheckItemExists(location.LocationId))
            {
                await Page.NavigateToWithSelectedObject(PageEnum.SelectLocationItem, true, location);
            }
            else
            {
                await Page.ShowAlert(string.Empty, HACCPUtil.GetResourceString("Noitemsfound"));
            }

            IsBusy = false;
        }
Exemple #2
0
        /// <summary>
        ///     Initializes a new instance of the <see cref="HACCP.Core.TemperatureReviewViewModel" /> class.
        /// </summary>
        public TemperatureReviewViewModel(IPage page, MenuLocation menuLocation) : base(page)
        {
            dataStore = new SQLiteDataStore();
            location  = menuLocation;
            var items = dataStore.GetTemperatureRecordCollectionById(location.LocationId);

            HasItems            = items != null && items.Any();
            Records             = new ObservableCollection <ItemTemperature>(items);
            IsReviewItemVisible = false;
            LocationName        = menuLocation.Name;


            MessagingCenter.Subscribe <UploadRecordRefreshMessage>(this, HaccpConstant.UploadRecordRefresh, sender =>
            {
                var list            = dataStore.GetTemperatureRecordCollectionById(location.LocationId);
                HasItems            = list != null && list.Any();
                Records             = new ObservableCollection <ItemTemperature>(list);
                IsReviewItemVisible = false;
            });
        }
Exemple #3
0
        /// <summary>
        ///     Initializes a new instance of the <see cref="HACCP.Core.LocationItemVIewModel" /> class.
        /// </summary>
        /// <param name="page">Page.</param>
        /// <param name="menuLocation"></param>
        public LocationItemVIewModel(IPage page, MenuLocation menuLocation)
            : base(page)
        {
            ListCompletedItems = false; // Set default value to ListCompletedItems
            Title = HACCPUtil.GetResourceString("SelectItem");

            NoItemFoundText = HACCPUtil.GetResourceString("Noitemsfound");
            _dataStore      = new SQLiteDataStore();
            AutoBack        = false;
            _location       = menuLocation;
            LocationName    = menuLocation.Name;
            LocationId      = menuLocation.LocationId;

            var items = _dataStore.GetItems(LocationId, ListCompletedItems);

            HasItems      = items.Any();
            locationitems = Items = new ObservableCollection <LocationMenuItem>(items);

            MessagingCenter.Subscribe <CleanUpMessage>(this, HaccpConstant.CleanupMessage, sender =>
            {
                MessagingCenter.Unsubscribe <LocationMenuItem>(this, HaccpConstant.RecorditemMessage);
                MessagingCenter.Unsubscribe <AutoAdvanceLocationMessage>(this, HaccpConstant.AutoadvancelocationMessage);
                MessagingCenter.Unsubscribe <CleanUpMessage>(this, HaccpConstant.CleanupMessage);
            });

            //MessagingCenter.Unsubscribe<LocationMenuItem> (this, "sample");

            MessagingCenter.Subscribe <LocationMenuItem>(this, HaccpConstant.RecorditemMessage, sender =>
            {
                var selectedItem = sender;
                if (selectedItem == null)
                {
                    return;
                }
                var first = Items.FirstOrDefault(x => x.ItemId == selectedItem.ItemId);
                if (first != null)
                {
                    first.RecordStatus = 1;
                }
            });

            MessagingCenter.Subscribe <AutoAdvanceLocationMessage>(this, HaccpConstant.AutoadvancelocationMessage,
                                                                   sender =>
            {
                var message = sender;
                if (message != null)
                {
                    var currentItem = Items.FirstOrDefault(x => x.ItemId == message.CurrentId);
                    if (currentItem != null)
                    {
                        var index = Items.IndexOf(currentItem);
                        if (Items.Count - 1 > index)
                        {
                            // AutoBack = index + 2 == Items.Count;
                            IsBackNavigation = false;
                            page.NavigateToWithSelectedObject(PageEnum.RecordItem, true, Items[index + 1]);
                        }
                        else
                        {
                            AutoBack = true;
                            if (!HaccpAppSettings.SharedInstance.IsWindows)
                            {
                                page.PopPage();     // it won't work in windows..
                            }
                        }
                    }
                }
            });


            MessagingCenter.Subscribe <UploadRecordRefreshMessage>(this, HaccpConstant.UploadRecordRefresh, sender =>
            {
                var list            = _dataStore.GetItems(LocationId, ListCompletedItems);
                HasItems            = list.Any();
                Items               = new ObservableCollection <LocationMenuItem>(list);
                IsReviewItemVisible = false;
            });
        }