/// <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; }
/// <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; }); }
/// <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; }); }