Beispiel #1
0
        /// <summary>
        ///     Executes the select user command.
        /// </summary>
        /// <returns>The select user command.</returns>
        private void ExecuteSelecUserCommand()
        {
            if (IsBusy)
            {
                return;
            }

            IsBusy = true;
            Page.ShowProgressIndicator();
            SelecUserCommand.ChangeCanExecute();

            try {
                Task.Run(async() => {
                    if (HaccpAppSettings.SharedInstance.IsWindows)
                    {
                        await Task.Delay(500);
                    }

                    var isUserExist = _dataStore.CheckUsersExist();

                    if (isUserExist)
                    {
                        Device.BeginInvokeOnMainThread(async() => {
                            await Page.NavigateTo(PageEnum.SelectUser, true);

                            IsBusy = false;
                            Page.DismissPopup();
                            SelecUserCommand.ChangeCanExecute();
                        });
                    }
                    else
                    {
                        Device.BeginInvokeOnMainThread(() => {
                            Page.DisplayAlertMessage(HACCPUtil.GetResourceString("NoUsersFound"),
                                                     HACCPUtil.GetResourceString("NousersfoundPleasetapUpdateUserListintheWirelessTasksmenu"));
                            IsBusy = false;
                            Page.DismissPopup();
                            SelecUserCommand.ChangeCanExecute();
                        });
                    }
                });
            } catch (Exception ex) {
                Debug.WriteLine("ExecuteSelecUserCommand Error {0}", ex.Message);
            }
        }
Beispiel #2
0
        private async Task <bool> getLocationPermission()
        {
            if (Device.OS != TargetPlatform.Android)
            {
                return(true);
            }
            else
            {
                try
                {
                    PermissionStatus status = await CrossPermissions.Current.CheckPermissionStatusAsync(Plugin.Permissions.Abstractions.Permission.Location);

                    if (status != PermissionStatus.Granted)
                    {
                        if (await CrossPermissions.Current.ShouldShowRequestPermissionRationaleAsync(Plugin.Permissions.Abstractions.Permission.Location))
                        {
                            await Page.ShowAlert(string.Empty, HACCPUtil.GetResourceString("AndroidrequiresLocationpermissionforBluetoothLEscanning"));  //Android requires \"Location\" permission for Bluetooth LE scanning.
                        }

                        var results = await CrossPermissions.Current.RequestPermissionsAsync(new[] { Plugin.Permissions.Abstractions.Permission.Location });

                        status = results[Plugin.Permissions.Abstractions.Permission.Location];
                    }

                    if (status != PermissionStatus.Granted)
                    {
                        await Page.ShowAlert(string.Empty, HACCPUtil.GetResourceString("CannotscanforBlue2withoutLocationpermission")); //Cannot scan for Blue2 without \"Location\" permission.

                        return(false);
                    }
                    else
                    {
                        return(true);
                    }
                }
                catch (Exception ex)
                {
                    await Page.ShowAlert(string.Empty, ex.ToString());

                    return(false);
                }
            }
        }
Beispiel #3
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;
        }
Beispiel #4
0
        /// <summary>
        ///     Executes the blue2 command.
        /// </summary>
        private async void ExecuteBlue2Command()
        {
            if (HaccpAppSettings.SharedInstance.IsWindows)
            {
                WindowsBlue2Command();
                return;
            }

            if (!BLEManager.SharedInstance.Adapter.IsBluetoothEnabled)
            {
                await Page.ShowAlert(string.Empty, HACCPUtil.GetResourceString("TurnONBluetoothonyourdevice"));

                return;
            }

            if (BLEManager.SharedInstance.ReadingBlue2Data)
            {
                return;
            }

            Blue2Command.ChangeCanExecute();

            bool gotPermission = await getLocationPermission();

            if (gotPermission)
            {
                BLEManager.SharedInstance.ResetConnection();

                if (!BLEManager.SharedInstance.ScanTimeOutElapsed)
                {
                    ConnectionStatus =
                        HACCPUtil.TruncateResourceString(HACCPUtil.GetResourceString("ConnectionStatusScanning"), false);
                }
                else if (!BLEManager.SharedInstance.IsConnected)
                {
                    ConnectionStatus =
                        HACCPUtil.TruncateResourceString(HACCPUtil.GetResourceString("ConnectionStatusScanBlue2"), false);
                }
            }

            Blue2Command.ChangeCanExecute();
        }
Beispiel #5
0
        /// <summary>
        ///     Loads the questions.
        /// </summary>
        /// <returns>The questions.</returns>
        public async Task LoadQuestions()
        {
            if (IsBusy)
            {
                return;
            }

            IsBusy = true;
            if (dataStore.CheckQuestionExists(SelectedCategory.CategoryId))
            {
                await Page.NavigateToWithSelectedObject(PageEnum.SelectQuestion, true, SelectedCategory);
            }
            else
            {
                await Page.ShowAlert(string.Empty, HACCPUtil.GetResourceString("Noquestionsfound"));
            }


            IsBusy = false;
        }
Beispiel #6
0
        /// <summary>
        ///     Executes the toggle command.
        /// </summary>
        public void ExecuteToggleCommand()
        {
            if (IsBusy)
            {
                return;
            }


            if (HaccpAppSettings.SharedInstance.DeviceSettings.AllowManualTemp == 1)
            {
                IsManualEntryOn = !IsManualEntryOn;
            }
            else
            {
                Page.ShowAlert(string.Empty,
                               HACCPUtil.GetResourceString(
                                   "YoudonothavepermissiontoenterthetemperaturemanuallyPleasecontacttheApplicationAdministrator"));
            }
            Settings.RecordingMode = IsManualEntryOn ? RecordingMode.Manual : RecordingMode.BlueTooth;
            OnPropertyChanged("IsWakeButtonVisible");
        }
Beispiel #7
0
        /// <summary>
        ///     Searchs the blue2 devices.
        /// </summary>
        public async void LoadBlue2Settings()
        {
            if (BLEManager.SharedInstance.IsConnected)
            {
                ConnectionStatus = HACCPUtil.GetResourceString("ConnectionStatusDisconnect");
                Blue2ButtonStyle = Application.Current.Resources["Blue2ButtonActiveStyle"] as Style;
            }
            else
            {
                PermissionStatus status = await CrossPermissions.Current.CheckPermissionStatusAsync(Plugin.Permissions.Abstractions.Permission.Location);

                if (status == PermissionStatus.Granted)
                {
                    ConnectionStatus = BLEManager.SharedInstance.ScanTimeOutElapsed
                    ? HACCPUtil.TruncateResourceString(HACCPUtil.GetResourceString("ConnectionStatusScanBlue2"), false)
                    : HACCPUtil.TruncateResourceString(HACCPUtil.GetResourceString("ConnectionStatusScanning"), false);
                }
                else
                {
                    ConnectionStatus = HACCPUtil.TruncateResourceString(HACCPUtil.GetResourceString("ConnectionStatusScanBlue2"), false);
                    BLEManager.SharedInstance.Adapter.CancelScanning();
                    BLEManager.SharedInstance.ScanTimeOutElapsed = true;
                }

                Blue2ButtonStyle        = Application.Current.Resources["Blue2ButtonNotActiveStyle"] as Style;
                DisplayBlue2Temperature = HACCPUtil.GetResourceString("ConnectBlue2Label");
                LineBreakMode           = LineBreakMode.TailTruncation;

                if (!BLEManager.SharedInstance.Adapter.IsBluetoothEnabled && !IsManualEntryOn)
                {
                    // bluetooth in phone is disabled
                    await Page.ShowAlert(string.Empty, HACCPUtil.GetResourceString("TurnONBluetoothonyourdevice"));
                }
                else if (BLEManager.SharedInstance.Adapter.IsScanning && !IsManualEntryOn)
                {
                    // connection to the blue2 device is disabled
                    await Page.ShowAlert(string.Empty, HACCPUtil.GetResourceString("Blue2TurnOnMessage"));
                }
            }
        }
Beispiel #8
0
        /// <summary>
        ///     Executes the select user command.
        /// </summary>
        /// <returns>The select user command.</returns>
        private void ExecuteSelectLocationCommand()
        {
            if (IsBusy || !IsLoggedIn)
            {
                return;
            }

            IsBusy = true;
            Page.ShowProgressIndicator();
            SelectLocationCommand.ChangeCanExecute();

            Task.Run(() => {
                if (HaccpAppSettings.SharedInstance.SiteSettings.MenuId > 0 && _dataStore.CheckLocationsExist())
                {
                    Device.BeginInvokeOnMainThread(async() => {
                        await Page.NavigateTo(PageEnum.SelectLocations, true);
                        if (HaccpAppSettings.SharedInstance.IsWindows)
                        {
                            await Task.Delay(500);
                        }

                        IsBusy = false;
                        Page.DismissPopup();
                        SelectLocationCommand.ChangeCanExecute();
                    });
                }
                else
                {
                    Device.BeginInvokeOnMainThread(() => {
                        Page.DisplayAlertMessage(HACCPUtil.GetResourceString("NoLocationsFound"),
                                                 HACCPUtil.GetResourceString(
                                                     "NolocationsfoundPleasetapSelectChangeMenuintheWirelessTasksMenu"));
                        IsBusy = false;
                        Page.DismissPopup();
                        SelectLocationCommand.ChangeCanExecute();
                    });
                }
            });
        }
Beispiel #9
0
        /// <summary>
        ///     Checks the pending records.
        /// </summary>
        /// <returns>The pending records.</returns>
        private async Task CheckPendingRecords(bool showConfirmation)
        {
            try {
                if (HaccpAppSettings.SharedInstance.CheckPendingRecords &&
                    !HaccpAppSettings.SharedInstance.IsUploadingProgress)
                {
                    var checklists   = _dataStore.GetCheckListResponses();
                    var temperatures = _dataStore.GetItemTemperatures();

                    if ((checklists != null && checklists.Count != 0) ||
                        (temperatures != null && temperatures.Count != 0))
                    {
                        Page.DismissPopup();
                        IsBusy = false;

                        if (!_isAlertActive)
                        {
                            _isAlertActive = true;
                            var result =
                                await Page.ShowConfirmAlert(string.Empty,
                                                            HACCPUtil.GetResourceString("PendingCheckmarksMessage"));

                            await Task.Delay(500);

                            _isAlertActive = false;

                            if (result && HaccpAppSettings.SharedInstance.CheckPendingRecords)
                            {
                                await ExecuteUploadRecordCommand(showConfirmation);
                            }
                        }
                    }
                }
                HaccpAppSettings.SharedInstance.CheckPendingRecords = false;
            } catch (Exception ex) {
                Debug.WriteLine("Error on CheckPendingRecords :{0}", ex.Message);
            }
        }
Beispiel #10
0
 private void BindeAllLablelProperties()
 {
     try
     {
         ServerSettingsLabel = HACCPUtil.GetResourceString("ServerSettings");
         DeviceIDLabel       = HACCPUtil.GetResourceString("DeviceID");
         ServerIPAddressorDomainNameLabel =
             HACCPUtil.TruncateResourceString(HACCPUtil.GetResourceString("ServerIPAddressorDomainName"), true);
         EnterPortoptionalLabel                 = HACCPUtil.GetResourceString("EnterPortoptional");
         AddDirectoryPathoptionalLabel          = HACCPUtil.GetResourceString("AddDirectoryPathoptional");
         TestServerConnectionandWebServiceLabel = HACCPUtil.GetResourceString("TestServerConnectionandWebService");
         SaveandContinueLabel   = HACCPUtil.GetResourceString("SaveandContinue");
         SelectLanguageLabel    = HACCPUtil.GetResourceString("SelectLanguage");
         LanguagesLabel         = HACCPUtil.GetResourceString("Languages");
         NotifEYEUrlLabel       = HACCPUtil.GetResourceString("NotifEyeUrl");
         NotifyEYEUsernameLabel = HACCPUtil.GetResourceString("NotifEYEUserName");
         NotifyEYEPasswordLabel = HACCPUtil.GetResourceString("NotifEyeUserPassword");
     }
     catch (Exception)
     {
         // ignored
     }
 }
Beispiel #11
0
        /// <summary>
        ///     Method for loading ble settings for windows
        /// </summary>
        public void LoadWindowsBlue2Settings()
        {
            if (WindowsBLEManager.SharedInstance.HasAnyPairedDevice)
            {
                ConnectionStatus = HACCPUtil.GetResourceString("ConnectionStatusDisconnect");
                Blue2ButtonStyle = Application.Current.Resources["Blue2ButtonActiveStyle"] as Style;
                if (WindowsBLEManager.SharedInstance.Settings != null)
                {
                    Blue2Id = WindowsBLEManager.SharedInstance.Settings.SNo;
                }


                if (WindowsBLEManager.SharedInstance.Settings != null)
                {
                    var temp = WindowsBLEManager.SharedInstance.LastReading;
                    var unit = WindowsBLEManager.SharedInstance.Settings.Scale;
                    if (TemperatureUnit == TemperatureUnit.Celcius && unit != 0)
                    {
                        temp = HACCPUtil.ConvertFahrenheitToCelsius(temp);
                    }
                    else if (TemperatureUnit == TemperatureUnit.Fahrenheit && unit != 1)
                    {
                        temp = HACCPUtil.ConvertCelsiusToFahrenheit(temp);
                    }

                    DisplayTemperatureReading(temp, false);
                }
            }
            else
            {
                ConnectionStatus =
                    HACCPUtil.TruncateResourceString(HACCPUtil.GetResourceString("ConnectionStatusScanBlue2"), false);
                Blue2ButtonStyle        = Application.Current.Resources["Blue2ButtonNotActiveStyle"] as Style;
                DisplayBlue2Temperature = HACCPUtil.GetResourceString("ConnectBlue2Label");
                LineBreakMode           = LineBreakMode.TailTruncation;
            }
        }
Beispiel #12
0
        /// <summary>
        ///     Executes the NA command.
        /// </summary>
        /// <returns>The NA command.</returns>
        protected override async Task ExecuteNACommand()
        {
            if (IsBusy)
            {
                return;
            }

            var result =
                await
                Page.ShowConfirmAlert(string.Empty,
                                      HACCPUtil.GetResourceString("SavedNAasthetemperaturerecordingfortheitem"));

            if (result)
            {
                IsBusy = true;
                NACommand.ChangeCanExecute();

                try
                {
                    var  location = dataStore.GetLocationById(SelectedItem.LocationId);
                    var  date     = DateTime.Now;
                    long ccpid;
                    long.TryParse(SelectedItem.Ccpid, out ccpid);
                    var itemTemperature = new ItemTemperature
                    {
                        IsManualEntry = SelectedItem.IsManualEntry ? (short)1 : (short)0,
                        ItemID        = SelectedItem.ItemId,
                        Temperature   = "0",
                        ItemName      = SelectedItem.Name,
                        Max           = SelectedItem.Max,
                        Min           = SelectedItem.Min,
                        CorrAction    = string.Empty,
                        //SelectedCorrectiveAction != null ? SelectedCorrectiveAction.CorrActionName : "None",
                        LocationID = SelectedItem.LocationId,
                        Ccp        = SelectedItem.Ccp,
                        CCPID      = ccpid,
                        IsNA       = 1,
                        Hour       = date.Hour.ToString(),
                        Day        = date.Day.ToString(),
                        Minute     = date.Minute.ToString(),
                        Month      = date.Month.ToString(),
                        Sec        = date.Second.ToString(),
                        Year       = date.Year.ToString(),
                        SiteID     = HaccpAppSettings.SharedInstance.SiteSettings.SiteId,
                        UserName   = HaccpAppSettings.SharedInstance.UserName,
                        DeviceId   = HaccpAppSettings.SharedInstance.DeviceId,
                        MenuID     = HaccpAppSettings.SharedInstance.SiteSettings.MenuId,
                        TZID       = HaccpAppSettings.SharedInstance.SiteSettings.TimeZoneId,
                        BatchId    = HaccpAppSettings.SharedInstance.SiteSettings.LastBatchNumber,
                        LocName    = location.Name,
                        Blue2ID    = string.Empty
                    };
                    dataStore.AddTemperature(itemTemperature);

                    SelectedItem.RecordStatus = 1;
                    dataStore.RecordLocationItem(SelectedItem);

                    MessagingCenter.Send(SelectedItem, HaccpConstant.RecorditemMessage);

                    dataStore.UpdateLocationItemRecordStatus(SelectedItem.LocationId);

                    MessagingCenter.Send(new MenuLocationId
                    {
                        LocationId = SelectedItem.LocationId
                    }, HaccpConstant.MenulocationMessage);

                    await Page.PopPage();

                    if (HaccpAppSettings.SharedInstance.DeviceSettings.AutoAdvance)
                    {
                        MessagingCenter.Send(new AutoAdvanceLocationMessage
                        {
                            CurrentId = SelectedItem.ItemId
                        }, HaccpConstant.AutoadvancelocationMessage);
                    }
                }
                catch (Exception ex)
                {
                    Debug.WriteLine("Error on N/A Command {0}", ex.Message);
                }
                finally
                {
                    IsBusy = false;
                    NACommand.ChangeCanExecute();
                }
            }
        }
Beispiel #13
0
        /// <summary>
        ///     Executes the record command.
        /// </summary>
        private async void ExecuteRecordCommand()
        {
            if (IsBusy)
            {
                return;
            }

            try
            {
                bool connected;
                bool gotTemperartureReading;
                if (HaccpAppSettings.SharedInstance.IsWindows)
                {
                    gotTemperartureReading = WindowsBLEManager.SharedInstance.GotTemperartureReading;
                    connected = WindowsBLEManager.SharedInstance.HasAnyPairedDevice;
                }
                else
                {
                    connected = BLEManager.SharedInstance.IsConnected;
                    gotTemperartureReading = BLEManager.SharedInstance.GotTemperartureReading;
                }

                if (!IsManualEntryOn && !connected)
                {
                    if (HaccpAppSettings.SharedInstance.IsWindows)
                    {
                        return;
                    }
                    if (!BLEManager.SharedInstance.Adapter.IsBluetoothEnabled)
                    {
                        await Page.ShowAlert(string.Empty, HACCPUtil.GetResourceString("TurnONBluetoothonyourdevice"));

                        return;
                    }
                    await Page.ShowAlert(string.Empty, HACCPUtil.GetResourceString("Blue2TurnOnMessage"));

                    return;
                }


                if (!IsManualEntryOn && !gotTemperartureReading)
                {
                    return;
                }

                if (IsManualEntryOn && string.IsNullOrEmpty(ManualTemperature))
                {
                    await Page.ShowAlert(string.Empty, HACCPUtil.GetResourceString("SpecifyTemperature"));

                    return;
                }
                if (IsManualEntryOn)
                {
                    try
                    {
                        double.Parse(ManualTemperature);
                    }
                    catch
                    {
                        Page.ShowAlert(string.Empty, HACCPUtil.GetResourceString("Specifyavalidtemperaturevalue"));
                        return;
                    }
                }
                else if (DisplayBlue2Temperature == HACCPUtil.GetResourceString("ConnectBlue2Label") ||
                         DisplayBlue2Temperature == HACCPUtil.GetResourceString("Blue2SleepString") ||
                         DisplayBlue2Temperature == HACCPUtil.GetResourceString("Blue2LowString") ||
                         DisplayBlue2Temperature == HACCPUtil.GetResourceString("Blue2HighString") &&
                         DisplayBlue2Temperature == HACCPUtil.GetResourceString("Blue2BatteryString"))
                {
                    await Page.ShowAlert(string.Empty, HACCPUtil.GetResourceString("InvalidTemperatureAlert"));

                    return;
                }

                var allowedMax = HaccpAppSettings.SharedInstance.DeviceSettings.TempScale == 0 ? 9999.9 : 5537.7;
                var allowedMin = HaccpAppSettings.SharedInstance.DeviceSettings.TempScale == 0 ? -9999.9 : -5537.7;

                if (IsManualEntryOn)
                {
                    if (ManualEntryTemperature > allowedMax || ManualEntryTemperature < allowedMin)
                    {
                        await Page.ShowAlert(string.Empty, HACCPUtil.GetResourceString("InvalidTemperatureAlert"));

                        return;
                    }
                }
                else
                {
                    var lastReading = HaccpAppSettings.SharedInstance.IsWindows
                        ? WindowsBLEManager.SharedInstance.LastReading
                        : BLEManager.SharedInstance.LastReading;
                    var lastunit = HaccpAppSettings.SharedInstance.IsWindows
                        ? WindowsBLEManager.SharedInstance.LastUnit
                        : BLEManager.SharedInstance.LastUnit;

                    if (TemperatureUnit == TemperatureUnit.Celcius && lastunit != TemperatureUnit.Celcius)
                    {
                        lastReading = HACCPUtil.ConvertFahrenheitToCelsius(lastReading);
                    }
                    else if (TemperatureUnit == TemperatureUnit.Fahrenheit && lastunit != TemperatureUnit.Fahrenheit)
                    {
                        lastReading = HACCPUtil.ConvertCelsiusToFahrenheit(lastReading);
                    }

                    Blue2Temperature = lastReading;
                }

                IsBusy = true;
                RecordCommand.ChangeCanExecute();


                var temp = IsManualEntryOn ? ManualEntryTemperature : Blue2Temperature;

                var minTemp = HACCPUtil.ConvertToDouble(SelectedItem.Min);
                var maxTemp = HACCPUtil.ConvertToDouble(SelectedItem.Max);

                var convertedTemp = temp;
                if (TemperatureUnit == TemperatureUnit.Celcius)
                {
                    minTemp = Math.Round(HACCPUtil.ConvertFahrenheitToCelsius(minTemp));
                    maxTemp = Math.Round(HACCPUtil.ConvertFahrenheitToCelsius(maxTemp));
                    //convertedTemp = HACCPUtil.ConvertFahrenheitToCelsius (temp);
                }


                if (convertedTemp >= minTemp && convertedTemp <= maxTemp &&
                    HaccpAppSettings.SharedInstance.DeviceSettings.SkipRecordPreview)
                {
                    var  date = DateTime.Now;
                    long ccpid;
                    long.TryParse(SelectedItem.Ccpid, out ccpid);
                    var location = dataStore.GetLocationById(SelectedItem.LocationId);

                    if (TemperatureUnit == TemperatureUnit.Celcius)
                    {
                        convertedTemp = HACCPUtil.ConvertCelsiusToFahrenheit(temp);
                    }

                    var itemTemperature = new ItemTemperature
                    {
                        IsManualEntry = IsManualEntryOn ? (short)1 : (short)0,
                        ItemID        = SelectedItem.ItemId,
                        Temperature   = convertedTemp.ToString("0.0"),
                        ItemName      = SelectedItem.Name,
                        Max           = SelectedItem.Max,
                        Min           = SelectedItem.Min,
                        CorrAction    = HACCPUtil.GetResourceString("None"),
                        LocationID    = SelectedItem.LocationId,
                        Ccp           = SelectedItem.Ccp,
                        CCPID         = ccpid,
                        IsNA          = 0,
                        Hour          = date.Hour.ToString(),
                        Day           = date.Day.ToString(),
                        Minute        = date.Minute.ToString(),
                        Month         = date.Month.ToString(),
                        Sec           = date.Second.ToString(),
                        Year          = date.Year.ToString(),
                        SiteID        = HaccpAppSettings.SharedInstance.SiteSettings.SiteId,
                        UserName      = HaccpAppSettings.SharedInstance.UserName,
                        DeviceId      = HaccpAppSettings.SharedInstance.DeviceId,
                        MenuID        = HaccpAppSettings.SharedInstance.SiteSettings.MenuId,
                        TZID          = HaccpAppSettings.SharedInstance.SiteSettings.TimeZoneId,
                        LocName       = location.Name,
                        Note          = NoteText,
                        Blue2ID       = SelectedItem.Blue2Id
                    };
                    dataStore.AddTemperature(itemTemperature);

                    SelectedItem.RecordStatus = 1;
                    dataStore.RecordLocationItem(SelectedItem);
                    if (HaccpAppSettings.SharedInstance.IsWindows)
                    {
                        WindowsBLEManager.SharedInstance.ResetBlue2AutoOff();
                    }
                    else
                    {
                        BLEManager.SharedInstance.ResetBlue2AutoOff();
                    }

                    MessagingCenter.Send(SelectedItem, HaccpConstant.RecorditemMessage);
                    dataStore.UpdateLocationItemRecordStatus(SelectedItem.LocationId);
                    MessagingCenter.Send(new MenuLocationId
                    {
                        LocationId = SelectedItem.LocationId
                    }, HaccpConstant.MenulocationMessage);

                    MessagingCenter.Send(new RecordSaveCompleteToast(), HaccpConstant.ToastMessage);
                }
                else
                {
                    SelectedItem.IsManualEntry       = IsManualEntryOn;
                    SelectedItem.RecordedTemperature = temp.ToString("0.0");
                    SelectedItem.TemperatureUnit     = TemperatureUnit;
                    SelectedItem.Blue2Id             = IsManualEntryOn ? string.Empty : Blue2Id;
                    SelectedItem.Note = NoteText;
                    if (HaccpAppSettings.SharedInstance.IsWindows)
                    {
                        WindowsBLEManager.SharedInstance.ResetBlue2AutoOff();
                    }
                    else
                    {
                        BLEManager.SharedInstance.ResetBlue2AutoOff();
                    }


                    await Page.NavigateToWithSelectedObject(PageEnum.RecordComplete, true, SelectedItem);

                    IsBusy = false;
                    RecordCommand.ChangeCanExecute();
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine("Error on recording {0}", ex.Message);
            }
        }
        /// <summary>
        ///     Initializes a new instance of the <see cref="HACCP.Core.ThermometerModeViewModel" /> class.
        /// </summary>
        /// <param name="page">Page.</param>
        public ThermometerModeViewModel(IPage page)
            : base(page)
        {
            AppVerison = string.Format("{0}: {1}", HACCPUtil.GetResourceString("VersionLabel"),
                                       DependencyService.Get <IInfoService>().GetAppVersion());


            MessagingCenter.Subscribe <WindowsScanningStatusMessage>(this, HaccpConstant.WindowsScanningStatus, sender =>
            {
                if (sender.IsScanning && ConnectionStatus != HACCPUtil.GetResourceString("ConnectionStatusDisconnect"))
                {
                    ConnectionStatus = HACCPUtil.TruncateResourceString(HACCPUtil.GetResourceString("Connecting"), false);
                }
                else
                {
                    ConnectionStatus =
                        HACCPUtil.TruncateResourceString(HACCPUtil.GetResourceString("ConnectionStatusScanBlue2"), false);
                }
            });

            MessagingCenter.Subscribe <WindowsBleConnectionStatusMessage>(this, HaccpConstant.BleconnectionStatus, sender =>
            {
                OnPropertyChanged("IsWakeButtonVisible");

                if (!WindowsBLEManager.SharedInstance.HasAnyPairedDevice)
                {
                    EnableControls   = false;
                    ConnectionStatus =
                        HACCPUtil.TruncateResourceString(HACCPUtil.GetResourceString("ConnectionStatusScanBlue2"),
                                                         false);
                    Blue2ButtonStyle            = Application.Current.Resources["Blue2ButtonNotActiveStyle"] as Style;
                    CurrentTemperatureFormatted = HACCPUtil.GetResourceString("ConnectBlue2Label");
                    TemperatureUnit             = TemperatureUnit.Fahrenheit;
                    Blue2TempFontSize           = 22;
                    LineBreakMode = LineBreakMode.TailTruncation;
                    MessagingCenter.Send(new Blue2PlaceHolderVisibility(true),
                                         HaccpConstant.Blue2PlaceholderVisibility);
                }

                OnPropertyChanged("CustomProbDescription");
            });


            MessagingCenter.Subscribe <BleConnectionStatusMessage>(this, HaccpConstant.BleconnectionStatus,
                                                                   async sender =>
            {
                OnPropertyChanged("IsWakeButtonVisible");
                if (!BLEManager.SharedInstance.Adapter.IsBluetoothEnabled)
                {
                    // bluetooth in phone is disabled
                    ConnectionStatus =
                        HACCPUtil.TruncateResourceString(HACCPUtil.GetResourceString("ConnectionStatusScanBlue2"),
                                                         false);
                    Blue2ButtonStyle            = Application.Current.Resources["Blue2ButtonNotActiveStyle"] as Style;
                    CurrentTemperatureFormatted = HACCPUtil.GetResourceString("ConnectBlue2Label");
                    Blue2TempFontSize           = 22;
                    LineBreakMode  = LineBreakMode.TailTruncation;
                    EnableControls = false;
                    if (!isAlertActive)
                    {
                        isAlertActive = true;
                        await
                        page.ShowAlert(string.Empty, HACCPUtil.GetResourceString("TurnONBluetoothonyourdevice"));
                        isAlertActive = false;
                    }
                }
                else if (!BLEManager.SharedInstance.IsConnected)
                {
                    // connection to the blue2 device is disabled
                    CurrentTemperatureFormatted = HACCPUtil.GetResourceString("ConnectBlue2Label");
                    Blue2TempFontSize           = 22;
                    LineBreakMode    = LineBreakMode.TailTruncation;
                    ConnectionStatus =
                        HACCPUtil.TruncateResourceString(HACCPUtil.GetResourceString("ConnectionStatusScanBlue2"),
                                                         false);
                    Blue2ButtonStyle = Application.Current.Resources["Blue2ButtonNotActiveStyle"] as Style;
                    EnableControls   = false;
                }
                else if (BLEManager.SharedInstance.IsConnected)
                {
                    CurrentTemperatureFormatted = string.Empty;
                    ConnectionStatus            = HACCPUtil.GetResourceString("ConnectionStatusDisconnect");
                    Blue2ButtonStyle            = Application.Current.Resources["Blue2ButtonActiveStyle"] as Style;
                }
                OnPropertyChanged("CustomProbDescription");
            });

            MessagingCenter.Subscribe <BLEBlue2SettingsUpdatedMessage>(this, HaccpConstant.Bleblue2SettingsUpdate,
                                                                       sender =>
            {
                if (HaccpAppSettings.SharedInstance.IsWindows)
                {
                    LoadWindowsBlue2Settings();
                }
                else if (BLEManager.SharedInstance.Settings != null)
                {
                    LoadBlue2Settings(false);
                }
            });

            MessagingCenter.Subscribe <BleConnectionTimeOutMessage>(this, HaccpConstant.BleconnectionTimeout,
                                                                    async sender =>
            {
                await page.ShowAlert(string.Empty, HACCPUtil.GetResourceString("Blue2TurnOnMessage"));
            });


            MessagingCenter.Subscribe <BleScanCompleteMessage>(this, HaccpConstant.Blue2ScanComplete,
                                                               sender =>
            {
                ConnectionStatus =
                    HACCPUtil.TruncateResourceString(HACCPUtil.GetResourceString("ConnectionStatusScanBlue2"), false);
            });
        }
Beispiel #15
0
        /// <summary>
        ///     Initializes a new instance of the <see /> class.
        /// </summary>
        /// <param name="page">Page.</param>
        /// <param name="item"></param>
        public RecordTempViewModel(IPage page, LocationMenuItem item)
            : base(page)
        {
            dataStore    = new SQLiteDataStore();
            SelectedItem = item;

            IsManualEntryOn = Settings.RecordingMode == RecordingMode.Manual;

            TemperatureUnit = HaccpAppSettings.SharedInstance.DeviceSettings.TempScale == 0
                ? TemperatureUnit.Fahrenheit
                : TemperatureUnit.Celcius;

            var min = HACCPUtil.ConvertToDouble(SelectedItem.Min);
            var max = HACCPUtil.ConvertToDouble(SelectedItem.Max);

            MinimumTemperature = TemperatureUnit == TemperatureUnit.Celcius
                ? Math.Round(HACCPUtil.ConvertFahrenheitToCelsius(min)).ToString()
                : SelectedItem.Min;
            MaximumTemperature = TemperatureUnit == TemperatureUnit.Celcius
                ? Math.Round(HACCPUtil.ConvertFahrenheitToCelsius(max)).ToString()
                : SelectedItem.Max;

            MessagingCenter.Subscribe <WindowsScanningStatusMessage>(this, HaccpConstant.WindowsScanningStatus, sender =>
            {
                if (sender.IsScanning && ConnectionStatus != HACCPUtil.GetResourceString("ConnectionStatusDisconnect"))
                {
                    ConnectionStatus = HACCPUtil.TruncateResourceString(HACCPUtil.GetResourceString("Connecting"), false);
                }
                else
                {
                    ConnectionStatus =
                        HACCPUtil.TruncateResourceString(HACCPUtil.GetResourceString("ConnectionStatusScanBlue2"), false);
                }
            });

            MessagingCenter.Subscribe <BleTemperatureReadingMessage>(this, HaccpConstant.BletemperatureReading, sender =>
            {
                bool connected;

                connected = HaccpAppSettings.SharedInstance.IsWindows
                    ? WindowsBLEManager.SharedInstance.HasAnyPairedDevice
                    : BLEManager.SharedInstance.IsConnected;

                if (connected)
                {
                    var msg = sender;
                    if (msg != null)
                    {
                        OnPropertyChanged("IsWakeButtonVisible");
                        if (msg.IsSleeping)
                        {
                            DisplayBlue2Temperature = HACCPUtil.GetResourceString("Blue2SleepString");
                            LineBreakMode           = LineBreakMode.TailTruncation;
                        }
                        else if (msg.IsHigh)
                        {
                            DisplayBlue2Temperature = HACCPUtil.GetResourceString("Blue2HighString");
                            LineBreakMode           = LineBreakMode.TailTruncation;
                        }
                        else if (msg.IsLow)
                        {
                            DisplayBlue2Temperature = HACCPUtil.GetResourceString("Blue2LowString");
                            LineBreakMode           = LineBreakMode.TailTruncation;
                        }
                        else if (msg.IsBatteryLow)
                        {
                            DisplayBlue2Temperature = HACCPUtil.GetResourceString("Blue2BatteryString");
                            LineBreakMode           = LineBreakMode.TailTruncation;
                        }
                        else
                        {
                            var temp = msg.TempValue;
                            var unit = msg.TempUnit;
                            if (TemperatureUnit == TemperatureUnit.Celcius && unit != 0)
                            {
                                temp = HACCPUtil.ConvertFahrenheitToCelsius(temp);
                            }
                            else if (TemperatureUnit == TemperatureUnit.Fahrenheit && unit != 1)
                            {
                                temp = HACCPUtil.ConvertCelsiusToFahrenheit(temp);
                            }

                            DisplayTemperatureReading(temp, msg.ShouldRecord);
                        }
                    }
                }
            });


            MessagingCenter.Subscribe <WindowsBleConnectionStatusMessage>(this, HaccpConstant.BleconnectionStatus,
                                                                          sender =>
            {
                OnPropertyChanged("IsWakeButtonVisible");

                if (!WindowsBLEManager.SharedInstance.HasAnyPairedDevice)
                {
                    ConnectionStatus =
                        HACCPUtil.TruncateResourceString(HACCPUtil.GetResourceString("ConnectionStatusScanBlue2"),
                                                         false);
                    Blue2ButtonStyle        = Application.Current.Resources["Blue2ButtonNotActiveStyle"] as Style;
                    Blue2Id                 = string.Empty;
                    DisplayBlue2Temperature = HACCPUtil.GetResourceString("ConnectBlue2Label");
                    LineBreakMode           = LineBreakMode.TailTruncation;
                }
                //else
                //{
                //    ConnectionStatus = HACCPUtil.GetResourceString("ConnectionStatusDisconnect");
                //    Blue2ButtonStyle = Application.Current.Resources["Blue2ButtonActiveStyle"] as Style;
                //    DisplayBlue2Temperature = string.Empty;
                //    LineBreakMode = LineBreakMode.NoWrap;
                //}
            });


            MessagingCenter.Subscribe <BleConnectionStatusMessage>(this, HaccpConstant.BleconnectionStatus,
                                                                   async sender =>
            {
                OnPropertyChanged("IsWakeButtonVisible");
                if (BLEManager.SharedInstance.IsConnected)
                {
                    ConnectionStatus        = HACCPUtil.GetResourceString("ConnectionStatusDisconnect");
                    Blue2ButtonStyle        = Application.Current.Resources["Blue2ButtonActiveStyle"] as Style;
                    DisplayBlue2Temperature = string.Empty;
                    LineBreakMode           = LineBreakMode.NoWrap;
                }
                else
                {
                    ConnectionStatus =
                        HACCPUtil.TruncateResourceString(HACCPUtil.GetResourceString("ConnectionStatusScanBlue2"),
                                                         false);
                    Blue2ButtonStyle        = Application.Current.Resources["Blue2ButtonNotActiveStyle"] as Style;
                    Blue2Id                 = string.Empty;
                    DisplayBlue2Temperature = HACCPUtil.GetResourceString("ConnectBlue2Label");
                    LineBreakMode           = LineBreakMode.TailTruncation;

                    if (!BLEManager.SharedInstance.Adapter.IsBluetoothEnabled && !IsManualEntryOn)
                    {
                        // bluetooth in phone is disabled
                        if (!isAlertActive)
                        {
                            isAlertActive = true;
                            await
                            page.ShowAlert(string.Empty,
                                           HACCPUtil.GetResourceString("TurnONBluetoothonyourdevice"));
                            isAlertActive = false;
                        }
                    }
                }
            });

            MessagingCenter.Subscribe <BLEBlue2SettingsUpdatedMessage>(this, HaccpConstant.Bleblue2SettingsUpdate,
                                                                       sender =>
            {
                if (HaccpAppSettings.SharedInstance.IsWindows && WindowsBLEManager.SharedInstance.Settings != null)
                {
                    LoadWindowsBlue2Settings();
                }

                else if (BLEManager.SharedInstance.Settings != null)
                {
                    Blue2Id = BLEManager.SharedInstance.Settings.SNo;
                }
            });

            MessagingCenter.Subscribe <BleConnectionTimeOutMessage>(this, HaccpConstant.BleconnectionTimeout,
                                                                    async sender =>
            {
                await page.ShowAlert(string.Empty, HACCPUtil.GetResourceString("Blue2TurnOnMessage"));
            });

            MessagingCenter.Subscribe <BleScanCompleteMessage>(this, HaccpConstant.Blue2ScanComplete,
                                                               sender =>
            {
                ConnectionStatus =
                    HACCPUtil.TruncateResourceString(HACCPUtil.GetResourceString("ConnectionStatusScanBlue2"), false);
            });
        }
Beispiel #16
0
        /// <summary>
        ///     Executes the download users command.
        /// </summary>
        /// <returns>The download users command.</returns>
        private async Task ExecuteDownloadUsersCommand()
        {
            if (IsBusy)
            {
                return;
            }

            IsBusy = true;
            Page.ShowProgressIndicator();
            DownloadUsersCommand.ChangeCanExecute();
            try
            {
                if (haccpService.IsConnected() == false)
                {
                    IsBusy = false;
                    Page.DismissPopup();
                    Page.DisplayAlertMessage(HACCPUtil.GetResourceString("EnableNetworkConnection"),
                                             HACCPUtil.GetResourceString(
                                                 "YourequireanactiveInternetconnectiontoperformsomefunctionsWerecommendthatyouenableWiFiforthispurposeDatachargesmayapplyifWiFiisnotenabled"));
                    return;
                }
                if (HaccpAppSettings.SharedInstance.SiteSettings.SiteId <= 1)
                {
                    IsBusy = false;
                    Page.DismissPopup();
                    await
                    Page.ShowAlert(HACCPUtil.GetResourceString("NoSiteInformationFound"),
                                   HACCPUtil.GetResourceString(
                                       "NositeinformationsfoundPleasetapUpdateSiteandSettingsintheWirelessTasksmenu"));

                    return;
                }
                if (!pendingCheckListToUpload && !pendingTemperatureRecordsToUpload)
                {
                    var res = await haccpService.DownloadUsers();

                    if (res.IsSuccess)
                    {
                        IsBusy = false;
                        Page.DismissPopup();
                        Page.DisplayAlertMessage("", HACCPUtil.GetResourceString("UserListupdatedsuccessfully"));
                    }
                    else
                    {
                        IsBusy = false;
                        Page.DismissPopup();
                        Page.DisplayAlertMessage("", res.Message);
                    }
                }
                else
                {
                    IsBusy = false;
                    Page.DismissPopup();
                    await
                    Page.ShowAlert(string.Empty,
                                   HACCPUtil.GetResourceString("UploadRecordsPendingOnUpdateUsersMessage"));
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine("Ooops! Something went wrong while fetch users from server. Exception: {0}", ex);
            }
            finally
            {
                IsBusy = false;
                Page.DismissPopup();
                DownloadUsersCommand.ChangeCanExecute();
            }
        }
Beispiel #17
0
        /// <summary>
        ///     Loads the blue2 settings.
        /// </summary>
        public async void LoadBlue2Settings()
        {
            if (BLEManager.SharedInstance.IsConnected)
            {
                EnableControls   = true;
                ConnectionStatus = HACCPUtil.GetResourceString("ConnectionStatusDisconnect");
                Blue2ButtonStyle = Application.Current.Resources["Blue2ButtonActiveStyle"] as Style;
                if (BLEManager.SharedInstance.Settings != null)
                {
                    var settings = BLEManager.SharedInstance.Settings;

                    Blue2Id = settings.SNo;
                    if (!string.IsNullOrEmpty(Blue2Id))
                    {
                        Blue2IdVisible = true;
                    }

                    _measurementTiming = settings.MeasurementLevel;
                    Timing             = string.Format("{0} {1}", _measurementTiming, HACCPUtil.GetResourceString("sec"));

                    IsTimingPlusEnabled = IsTimingMinusEnabled = true;
                    if (_measurementTiming == 5)
                    {
                        IsTimingPlusEnabled = false;
                    }
                    else if (_measurementTiming == 1)
                    {
                        IsTimingMinusEnabled = false;
                    }


                    TemperatureUnit = settings.Scale == 0 ? TemperatureUnit.Celcius : TemperatureUnit.Fahrenheit;


                    _autoOffInterval = settings.AutoOff;
                    Interval         = string.Format("{0} {1}", _autoOffInterval, HACCPUtil.GetResourceString("Minute"));

                    IsIntervalPlusEnabled = IsIntervalMinusEnabled = true;
                    if (_autoOffInterval == 30)
                    {
                        IsIntervalPlusEnabled = false;
                    }
                    else if (_autoOffInterval == 1)
                    {
                        IsIntervalMinusEnabled = false;
                    }

                    _sleepTime = settings.Sleep;
                    Sleep      = string.Format("{0} {1}", _sleepTime, HACCPUtil.GetResourceString("Minute"));

                    IsSleepPlusEnabled = IsSleepMinusEnabled = true;
                    if (_sleepTime == 30)
                    {
                        IsSleepPlusEnabled = false;
                    }
                    else if (_sleepTime == 1)
                    {
                        IsSleepMinusEnabled = false;
                    }

                    CustomProbDescription = settings.Prob;
                    MessagingCenter.Send(new Blue2PlaceHolderVisibility(string.IsNullOrEmpty(CustomProbDescription)),
                                         HaccpConstant.Blue2PlaceholderVisibility);
                }
            }
            else
            {
                EnableControls = false;

                PermissionStatus status = await CrossPermissions.Current.CheckPermissionStatusAsync(Plugin.Permissions.Abstractions.Permission.Location);

                if (status == PermissionStatus.Granted)
                {
                    ConnectionStatus = BLEManager.SharedInstance.ScanTimeOutElapsed
                    ? HACCPUtil.TruncateResourceString(HACCPUtil.GetResourceString("ConnectionStatusScanBlue2"), false)
                    : HACCPUtil.TruncateResourceString(HACCPUtil.GetResourceString("ConnectionStatusScanning"), false);
                }
                else
                {
                    ConnectionStatus = HACCPUtil.TruncateResourceString(HACCPUtil.GetResourceString("ConnectionStatusScanBlue2"), false);
                    BLEManager.SharedInstance.Adapter.CancelScanning();
                    BLEManager.SharedInstance.ScanTimeOutElapsed = true;
                }

                Blue2ButtonStyle = Application.Current.Resources["Blue2ButtonNotActiveStyle"] as Style;
                if (!BLEManager.SharedInstance.Adapter.IsBluetoothEnabled)
                {
                    // bluetooth in phone is disabled

                    CustomProbDescription = string.Empty;
                    MessagingCenter.Send(new Blue2PlaceHolderVisibility(true), HaccpConstant.Blue2PlaceholderVisibility);
                    await Page.ShowAlert(string.Empty, HACCPUtil.GetResourceString("TurnONBluetoothonyourdevice"));
                }
                else
                {
                    // connection to the blue2 device is disabled
                    Blue2Id        = string.Empty;
                    Blue2IdVisible = false;

                    CustomProbDescription = string.Empty;
                    MessagingCenter.Send(new Blue2PlaceHolderVisibility(true), HaccpConstant.Blue2PlaceholderVisibility);
                    if (BLEManager.SharedInstance.Adapter.IsScanning)
                    {
                        await Page.ShowAlert(string.Empty, HACCPUtil.GetResourceString("Blue2TurnOnMessage"));
                    }
                }
            }
        }
Beispiel #18
0
        /// <summary>
        /// Blue2Settings ViewModel
        /// </summary>
        /// <param name="page"></param>
        public Blue2SettingsViewModel(IPage page)
            : base(page)
        {
            _probeDescriptionPlaceHolder = HACCPUtil.GetResourceString("EnterCustomProbeDescription");
            TemperatureUnit = TemperatureUnit.Fahrenheit;

            MessagingCenter.Subscribe <WindowsScanningStatusMessage>(this, HaccpConstant.WindowsScanningStatus, sender =>
            {
                if (sender.IsScanning && ConnectionStatus != HACCPUtil.GetResourceString("ConnectionStatusDisconnect"))
                {
                    ConnectionStatus = HACCPUtil.TruncateResourceString(HACCPUtil.GetResourceString("Connecting"), false);
                }
                else
                {
                    ConnectionStatus =
                        HACCPUtil.TruncateResourceString(HACCPUtil.GetResourceString("ConnectionStatusScanBlue2"), false);
                }
            });

            MessagingCenter.Subscribe <WindowsBleConnectionStatusMessage>(this, HaccpConstant.BleconnectionStatus,
                                                                          sender =>
            {
                if (!WindowsBLEManager.SharedInstance.HasAnyPairedDevice)
                {
                    Blue2Id               = string.Empty;
                    Blue2IdVisible        = false;
                    EnableControls        = false;
                    CustomProbDescription = string.Empty;
                    ConnectionStatus      =
                        HACCPUtil.TruncateResourceString(HACCPUtil.GetResourceString("ConnectionStatusScanBlue2"),
                                                         false);
                    Blue2ButtonStyle                   = Application.Current.Resources["Blue2ButtonNotActiveStyle"] as Style;
                    IsTimingPlusEnabled                =
                        IsTimingMinusEnabled           =
                            IsIntervalPlusEnabled      =
                                IsIntervalMinusEnabled = IsSleepPlusEnabled = IsSleepMinusEnabled = false;
                    TemperatureUnit = TemperatureUnit.Fahrenheit;
                    MessagingCenter.Send(new Blue2PlaceHolderVisibility(true),
                                         HaccpConstant.Blue2PlaceholderVisibility);
                }
            });


            MessagingCenter.Subscribe <BleConnectionStatusMessage>(this, HaccpConstant.BleconnectionStatus,
                                                                   async sender =>
            {
                if (!BLEManager.SharedInstance.Adapter.IsBluetoothEnabled)
                {
                    // bluetooth in phone is disabled
                    Blue2IdVisible        = false;
                    Blue2Id               = string.Empty;
                    EnableControls        = false;
                    CustomProbDescription = string.Empty;
                    ConnectionStatus      =
                        HACCPUtil.TruncateResourceString(HACCPUtil.GetResourceString("ConnectionStatusScanBlue2"),
                                                         false);
                    Blue2ButtonStyle                   = Application.Current.Resources["Blue2ButtonNotActiveStyle"] as Style;
                    IsTimingPlusEnabled                =
                        IsTimingMinusEnabled           =
                            IsIntervalPlusEnabled      =
                                IsIntervalMinusEnabled = IsSleepPlusEnabled = IsSleepMinusEnabled = false;
                    TemperatureUnit = TemperatureUnit.Fahrenheit;
                    MessagingCenter.Send(new Blue2PlaceHolderVisibility(true),
                                         HaccpConstant.Blue2PlaceholderVisibility);
                    if (!_isAlertActive)
                    {
                        _isAlertActive = true;
                        await
                        page.ShowAlert(string.Empty, HACCPUtil.GetResourceString("TurnONBluetoothonyourdevice"));
                        _isAlertActive = false;
                    }
                }
                else if (!BLEManager.SharedInstance.IsConnected)
                {
                    // connection to the blue2 device is disabled
                    Blue2Id               = string.Empty;
                    Blue2IdVisible        = false;
                    EnableControls        = false;
                    CustomProbDescription = string.Empty;
                    ConnectionStatus      =
                        HACCPUtil.TruncateResourceString(HACCPUtil.GetResourceString("ConnectionStatusScanBlue2"),
                                                         false);
                    Blue2ButtonStyle                   = Application.Current.Resources["Blue2ButtonNotActiveStyle"] as Style;
                    IsTimingPlusEnabled                =
                        IsTimingMinusEnabled           =
                            IsIntervalPlusEnabled      =
                                IsIntervalMinusEnabled = IsSleepPlusEnabled = IsSleepMinusEnabled = false;
                    TemperatureUnit = TemperatureUnit.Fahrenheit;
                    MessagingCenter.Send(new Blue2PlaceHolderVisibility(true),
                                         HaccpConstant.Blue2PlaceholderVisibility);
                }
                else if (BLEManager.SharedInstance.IsConnected)
                {
                    ConnectionStatus = HACCPUtil.GetResourceString("ConnectionStatusDisconnect");
                    Blue2ButtonStyle = Application.Current.Resources["Blue2ButtonActiveStyle"] as Style;
                }
            });

            MessagingCenter.Subscribe <BLEBlue2SettingsUpdatedMessage>(this, HaccpConstant.Bleblue2SettingsUpdate,
                                                                       sender =>
            {
                if (HaccpAppSettings.SharedInstance.IsWindows)
                {
                    LoadWindowsBlue2Settings();
                }
                else if (BLEManager.SharedInstance.Settings != null)
                {
                    LoadBlue2Settings();
                }
            });

            MessagingCenter.Subscribe <BleConnectionTimeOutMessage>(this, HaccpConstant.BleconnectionTimeout,
                                                                    async sender =>
            {
                await page.ShowAlert(string.Empty, HACCPUtil.GetResourceString("Blue2TurnOnMessage"));
            });

            MessagingCenter.Subscribe <BleScanCompleteMessage>(this, HaccpConstant.Blue2ScanComplete,
                                                               sender =>
            {
                ConnectionStatus =
                    HACCPUtil.TruncateResourceString(HACCPUtil.GetResourceString("ConnectionStatusScanBlue2"), false);
            });
        }
Beispiel #19
0
        /// <summary>
        ///     Executes the upload record command.
        /// </summary>
        private async Task ExecuteUploadRecordCommand(bool showConfirmation)
        {
            if (IsBusy)
            {
                return;
            }

            IsBusy = true;

            try {
                if (_haccpService.IsConnected() == false)
                {
                    Page.DisplayAlertMessage(HACCPUtil.GetResourceString("EnableNetworkConnection"),
                                             HACCPUtil.GetResourceString(
                                                 "YourequireanactiveInternetconnectiontoperformsomefunctionsWerecommendthatyouenableWiFiforthispurposeDatachargesmayapplyifWiFiisnotenabled"));
                    return;
                }

                Page.ShowUploadProgress();
                UploadRecordCommand.ChangeCanExecute();

                if (HaccpAppSettings.SharedInstance.SiteSettings.SiteId > 0)
                {
                    var proceedUpload = false;

                    //Getting check lists and temperatures
                    var checklists   = _dataStore.GetCheckListResponses();
                    var temperatures = _dataStore.GetItemTemperatures();


                    if ((checklists == null || checklists.Count == 0) &&
                        (temperatures == null || temperatures.Count == 0))
                    {
                        IsBusy = false;
                        Page.DismissUploadProgress();
                        await Page.ShowAlert(string.Empty, HACCPUtil.GetResourceString("Norecordsfoundtoupload"));
                    }
                    else if (showConfirmation &&
                             await Page.ShowConfirmAlert(HACCPUtil.GetResourceString("UploadRecords"),
                                                         HACCPUtil.GetResourceString(
                                                             "Alltherecordswillbeuploadedandthecheckmarkswillbecleared")))
                    {
//confirmation alert
                        proceedUpload = true;
                    }
                    else if (!showConfirmation)
                    {
                        proceedUpload = true;
                    }


                    if (proceedUpload)
                    {
                        if (checklists != null && (checklists.Count > 0 || temperatures.Count > 0))
                        {
                            //Calling upload records method
                            var response = await _haccpService.UploadRecords(checklists, temperatures);

                            if (response.IsSuccess)
                            {
                                IsBusy = false;
                                Page.DismissUploadProgress();
                                await Page.ShowAlert(string.Empty,
                                                     HACCPUtil.GetResourceString(
                                                         "UploadedalltherecordstoHACCPEnterpriseapplicationsuccessfully"));

                                MessagingCenter.Send(new UploadRecordRefreshMessage(), HaccpConstant.UploadRecordRefresh);
                            }
                            else if (!string.IsNullOrEmpty(response.Message))
                            {
                                IsBusy = false;
                                Page.DismissUploadProgress();
                                await Page.ShowAlert(string.Empty, response.Message);
                            }
                            else
                            {
                                IsBusy = false;
                                Page.DismissUploadProgress();
                                await Page.ShowAlert(string.Empty,
                                                     HACCPUtil.GetResourceString(
                                                         "AnerroroccurredwhileuploadingtherecordsPleasetryagainlater"));
                            }
                        }
                        else
                        {
                            IsBusy = false;
                            Page.DismissUploadProgress();
                            await Page.ShowAlert(string.Empty, HACCPUtil.GetResourceString("Norecordsfoundtoupload"));
                        }
                    }
                }
                else
                {
                    IsBusy = false;
                    Page.DismissUploadProgress();
                    await Page.ShowAlert(HACCPUtil.GetResourceString("NoSiteInformationFound"),
                                         HACCPUtil.GetResourceString(
                                             "NositeinformationsfoundPleasetapUpdateSiteandSettingsintheWirelessTasksmenu"));
                }
            } catch (Exception ex) {
                Debug.WriteLine("Ooops! Something went wrong while select menu. Exception: {0}", ex);
            } finally {
                IsBusy = false;
                Page.DismissUploadProgress();
                UploadRecordCommand.ChangeCanExecute();
            }
        }
        /// <summary>
        ///     Method for loading ble settings for windows
        /// </summary>
        public void LoadWindowsBlue2Settings()
        {
            if (WindowsBLEManager.SharedInstance.HasAnyPairedDevice)
            {
                EnableControls   = true;
                ConnectionStatus = HACCPUtil.GetResourceString("ConnectionStatusDisconnect");
                Blue2ButtonStyle = Application.Current.Resources["Blue2ButtonActiveStyle"] as Style;

                if (WindowsBLEManager.SharedInstance.Settings != null)
                {
                    var settings = WindowsBLEManager.SharedInstance.Settings;

                    BatteryLevel      = settings.BatteryLevel;
                    ShowBluetoothIcon = true;

                    TemperatureUnit = settings.Scale == 0 ? TemperatureUnit.Celcius : TemperatureUnit.Fahrenheit;

                    if (WindowsBLEManager.SharedInstance.IsSleeping)
                    {
                        CurrentTemperatureFormatted = HACCPUtil.GetResourceString("Blue2SleepString");
                        Blue2TempFontSize           = 22;
                        LineBreakMode = LineBreakMode.TailTruncation;
                    }
                    else if (WindowsBLEManager.SharedInstance.IsHigh)
                    {
                        CurrentTemperatureFormatted = HACCPUtil.GetResourceString("Blue2HighString");
                        Blue2TempFontSize           = 22;
                        LineBreakMode = LineBreakMode.TailTruncation;
                    }
                    else if (WindowsBLEManager.SharedInstance.IsLow)
                    {
                        CurrentTemperatureFormatted = HACCPUtil.GetResourceString("Blue2LowString");
                        Blue2TempFontSize           = 22;
                        LineBreakMode = LineBreakMode.TailTruncation;
                    }
                    else if (WindowsBLEManager.SharedInstance.IsBatteryLow)
                    {
                        CurrentTemperatureFormatted = HACCPUtil.GetResourceString("Blue2BatteryString");
                        Blue2TempFontSize           = 22;
                        LineBreakMode = LineBreakMode.TailTruncation;
                    }
                    else
                    {
                        DisplayTemperatureReading(WindowsBLEManager.SharedInstance.LastReading);
                    }
                }
            }
            else
            {
                EnableControls   = false;
                ConnectionStatus =
                    HACCPUtil.TruncateResourceString(HACCPUtil.GetResourceString("ConnectionStatusScanBlue2"), false);
                Blue2ButtonStyle            = Application.Current.Resources["Blue2ButtonNotActiveStyle"] as Style;
                CurrentTemperatureFormatted = HACCPUtil.GetResourceString("ConnectBlue2Label");
                Blue2TempFontSize           = 22;
                LineBreakMode = LineBreakMode.TailTruncation;
                //if (!BLEManager.SharedInstance.adapter.IsBluetoothEnabled)
                //{              // bluetooth in phone is disabled

                //   CustomProbDescription = string.Empty;
                //    MessagingCenter.Send<Blue2PlaceHolderVisibility>(new Blue2PlaceHolderVisibility(true), HACCPConstant.BLUE2_PLACEHOLDER_VISIBILITY);
                //     await page.ShowAlert(string.Empty, HACCPUtil.GetResourceString("TurnONBluetoothonyourdevice"));
                //  }
                //  else
                //   {                                  // connection to the blue2 device is disabled


                // CustomProbDescription = string.Empty;


                MessagingCenter.Send(new Blue2PlaceHolderVisibility(true), HaccpConstant.Blue2PlaceholderVisibility);
                //if (BLEManager.SharedInstance.adapter.IsScanning)
                //  await page.ShowAlert(string.Empty, HACCPUtil.GetResourceString("Blue2TurnOnMessage"));
                //   }
            }

            OnPropertyChanged("CustomProbDescription");
        }
Beispiel #21
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;
            });
        }
Beispiel #22
0
        /// <summary>
        ///     Executes the change menu command.
        /// </summary>
        /// <returns>The change menu command.</returns>
        private async Task ExecuteChangeMenuCommand()
        {
            if (IsBusy)
            {
                return;
            }
            IsBusy = true;
            ChangeMenuCommand.ChangeCanExecute();
            Page.ShowProgressIndicator();

            try
            {
                if (haccpService.IsConnected() == false)
                {
                    IsBusy = false;
                    Page.DismissPopup();

                    Page.DisplayAlertMessage(HACCPUtil.GetResourceString("EnableNetworkConnection"),
                                             HACCPUtil.GetResourceString(
                                                 "YourequireanactiveInternetconnectiontoperformsomefunctionsWerecommendthatyouenableWiFiforthispurposeDatachargesmayapplyifWiFiisnotenabled"));

                    return;
                }

                if (HaccpAppSettings.SharedInstance.SiteSettings.SiteId > 0)
                {
                    var res = await haccpService.DownloadMenus();

                    if (res.IsSuccess)
                    {
                        var menuLists = (IList <Menu>)res.Results;
                        if (menuLists.Count > 0)
                        {
                            if (!pendingTemperatureRecordsToUpload)
                            {
                                object isMenu = true;
                                isBackNavigation = false;
                                await Page.NavigateToWithSelectedObject(PageEnum.MenuChecklist, true, isMenu);
                            }
                            else
                            {
                                IsBusy = false;
                                Page.DismissPopup();
                                await
                                Page.ShowAlert(string.Empty,
                                               HACCPUtil.GetResourceString(
                                                   "CannotchangetheMenuasrecordsarependingtobeuploadedTouploadtherecordsselectUploadRecordsundertheWirelessTasksmenu"));
                            }
                        }
                    }
                    else
                    {
                        IsBusy = false;
                        Page.DismissPopup();
                        await Page.ShowAlert("", res.Message);
                    }
                }
                else
                {
                    IsBusy = false;
                    Page.DismissPopup();
                    await
                    Page.ShowAlert(HACCPUtil.GetResourceString("NoSiteInformationFound"),
                                   HACCPUtil.GetResourceString(
                                       "NositeinformationsfoundPleasetapUpdateSiteandSettingsintheWirelessTasksmenu"));
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine("Ooops! Something went wrong while select menu. Exception: {0}", ex);
            }
            finally
            {
                IsBusy = false;
                Page.DismissPopup();
                ChangeMenuCommand.ChangeCanExecute();
            }
        }
Beispiel #23
0
        /// <summary>
        ///     Executes the test connection command.
        /// </summary>
        /// <returns>The test connection command.</returns>
        private async Task ExecuteTestConnectionCommand()
        {
            if (IsBusy)
            {
                return;
            }

            IsBusy = true;
            Page.ShowProgressIndicator();
            TestConnectionCommand.ChangeCanExecute();
            try
            {
                if (haccpService.IsConnected())
                {
                    bool isConnected;
                    if (HaccpAppSettings.SharedInstance.IsWindows)
                    {
                        isConnected =
                            await
                            haccpService.IsWsdlAccess(HaccpAppSettings.SharedInstance.SiteSettings.ServerAddress,
                                                      HaccpAppSettings.SharedInstance.SiteSettings.ServerPort,
                                                      HaccpAppSettings.SharedInstance.SiteSettings.ServerDirectory);
                    }
                    else
                    {
                        isConnected =
                            await
                            haccpService.IsRemoteReachable(
                                HaccpAppSettings.SharedInstance.SiteSettings.ServerAddress,
                                HaccpAppSettings.SharedInstance.SiteSettings.ServerPort);
                    }

                    if (isConnected == false)
                    {
                        IsBusy = false;
                        Page.DismissPopup();
                        Page.DisplayAlertMessage(HACCPUtil.GetResourceString("ConnectionTimeout"),
                                                 HACCPUtil.GetResourceString(
                                                     "UnabletoconnecttotheserverPleaseverifyconnectionsettingsandtryagain"));
                    }
                    else
                    {
                        isConnected =
                            await
                            haccpService.IsWsdlAccess(HaccpAppSettings.SharedInstance.SiteSettings.ServerAddress,
                                                      HaccpAppSettings.SharedInstance.SiteSettings.ServerPort,
                                                      HaccpAppSettings.SharedInstance.SiteSettings.ServerDirectory);

                        if (isConnected == false)
                        {
                            IsBusy = false;
                            Page.DismissPopup();
                            Page.DisplayAlertMessage(HACCPUtil.GetResourceString("NoWebService"),
                                                     HACCPUtil.GetResourceString(
                                                         "UnabletofindthewebservicePleaseverifyconnectionsettingsandtryagain"));
                        }
                    }
                }
                else
                {
                    IsBusy = false;
                    Page.DismissPopup();
                    Page.DisplayAlertMessage(HACCPUtil.GetResourceString("EnableNetworkConnection"),
                                             HACCPUtil.GetResourceString(
                                                 "YourequireanactiveInternetconnectiontoperformsomefunctionsWerecommendthatyouenableWiFiforthispurposeDatachargesmayapplyifWiFiisnotenabled"));
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine("Ooops! Something went wrong while test connection. Exception: {0}", ex);
            }
            finally
            {
                IsBusy = false;
                Page.DismissPopup();
                TestConnectionCommand.ChangeCanExecute();
            }
        }
Beispiel #24
0
        /// <summary>
        ///     Executes the save command.
        /// </summary>
        /// <returns>The save command.</returns>
        protected override async Task ExecuteSaveCommand()
        {
            try
            {
                IsBusy = true;
                SaveCommand.ChangeCanExecute();

                HACCPUtil.ConvertToDouble(SelectedItem.Min);
                HACCPUtil.ConvertToDouble(SelectedItem.Max);

                var temp = TemperatureValue;
                if (TemperatureUnit == TemperatureUnit.Celcius)
                {
                    temp = HACCPUtil.ConvertCelsiusToFahrenheit(TemperatureValue);
                }


                if (
                    await
                    Page.ShowConfirmAlert(HACCPUtil.GetResourceString("SaveRecord"),
                                          string.Format(
                                              HACCPUtil.GetResourceString("RecordedTemperature0Correctiveactiontaken1User2"),
                                              Temperature + HaccpConstant.NewlineCharacter,
                                              SelectedCorrectiveAction != null
                                    ? SelectedCorrectiveAction.CorrActionName + HaccpConstant.NewlineCharacter
                                    : HACCPUtil.GetResourceString("None") + HaccpConstant.NewlineCharacter,
                                              HaccpAppSettings.SharedInstance.UserName)))
                {
                    //if (itemTemperature == null) {
                    var  date = DateTime.Now;
                    long ccpid;
                    long.TryParse(SelectedItem.Ccpid, out ccpid);
                    var location = dataStore.GetLocationById(SelectedItem.LocationId);

                    itemTemperature = new ItemTemperature
                    {
                        IsManualEntry = SelectedItem.IsManualEntry ? (short)1 : (short)0,
                        ItemID        = SelectedItem.ItemId,
                        Temperature   = temp.ToString("0.0"),
                        ItemName      = SelectedItem.Name,
                        Max           = SelectedItem.Max,
                        Min           = SelectedItem.Min,
                        CorrAction    =
                            SelectedCorrectiveAction != null
                                ? SelectedCorrectiveAction.CorrActionName
                                : HACCPUtil.GetResourceString("None"),
                        LocationID = SelectedItem.LocationId,
                        Ccp        = SelectedItem.Ccp,
                        CCPID      = ccpid,
                        IsNA       = 0,
                        Hour       = date.Hour.ToString(),
                        Day        = date.Day.ToString(),
                        Minute     = date.Minute.ToString(),
                        Month      = date.Month.ToString(),
                        Sec        = date.Second.ToString(),
                        Year       = date.Year.ToString(),
                        SiteID     = HaccpAppSettings.SharedInstance.SiteSettings.SiteId,
                        UserName   = HaccpAppSettings.SharedInstance.UserName,
                        DeviceId   = HaccpAppSettings.SharedInstance.DeviceId,
                        MenuID     = HaccpAppSettings.SharedInstance.SiteSettings.MenuId,
                        TZID       = HaccpAppSettings.SharedInstance.SiteSettings.TimeZoneId,
                        //BatchId = HACCPAppSettings.SharedInstance.SiteSettings.LastBatchNumber,
                        LocName = location.Name,
                        Note    =
                            !string.IsNullOrEmpty(NoteText) && !string.IsNullOrWhiteSpace(NoteText)
                                ? NoteText.Trim()
                                : string.Empty,
                        Blue2ID = SelectedItem.Blue2Id
                    };
                    dataStore.AddTemperature(itemTemperature);

                    SelectedItem.RecordStatus = 1;
                    dataStore.RecordLocationItem(SelectedItem);

                    MessagingCenter.Send(SelectedItem, HaccpConstant.RecorditemMessage);
                    dataStore.UpdateLocationItemRecordStatus(SelectedItem.LocationId);
                    MessagingCenter.Send(new MenuLocationId
                    {
                        LocationId = SelectedItem.LocationId
                    }, HaccpConstant.MenulocationMessage);

                    if (HaccpAppSettings.SharedInstance.IsWindows)
                    {
                        await Page.PopPages(2);
                    }
                    else
                    {
                        Page.RemoveRecordItemPage();
                        await Page.PopPage();
                    }

                    if (HaccpAppSettings.SharedInstance.DeviceSettings.AutoAdvance)
                    {
                        MessagingCenter.Send(new AutoAdvanceLocationMessage
                        {
                            CurrentId = SelectedItem.ItemId
                        }, HaccpConstant.AutoadvancelocationMessage);
                    }
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine("Error occured while saving temperature {0}", ex.Message);
            }
            finally
            {
                IsBusy = false;
                SaveCommand.ChangeCanExecute();
            }
        }
Beispiel #25
0
        /// <summary>
        ///     Selects the language and download strings.
        /// </summary>
        /// <returns>The language and download strings.</returns>
        /// <param name="selectedLanguage">Selected language.</param>
        public async Task SelectLanguageAndDownloadStrings(Language selectedLanguage)
        {
            if (IsBusy)
            {
                return;
            }
            IsBusy = true;


            try
            {
                if (selectedLanguage.LanguageId == HaccpAppSettings.SharedInstance.LanguageId)
                {
                    IsBusy = false;
                    return;
                }

                if (
                    await
                    Page.ShowConfirmAlert(string.Empty,
                                          string.Format(
                                              HACCPUtil.GetResourceString("Areyousureyouwanttoswitchthelanguageofthisappto0"),
                                              selectedLanguage.LanguageName)))
                {
                    IsBusy = true;
                    Page.ShowProgressIndicator();
                    var response = await service.SaveLanguageStrings(selectedLanguage.LanguageId);

                    if (response != null && response.IsSuccess)
                    {
                        foreach (var lng in LanguageList)
                        {
                            lng.IsSelected = lng.LanguageId == selectedLanguage.LanguageId;
                        }

                        HaccpAppSettings.SharedInstance.LanguageId = selectedLanguage.LanguageId;
                        Settings.CurrentLanguageID = selectedLanguage.LanguageId;
                        try
                        {
                            await Task.Delay(5000);

                            //HACCPAppSettings.SharedInstance.ResourceString =  DependencyService.Get<IResourceFileHelper> ().LoadResource ("ResourceFile.xml");


                            if (HaccpAppSettings.SharedInstance.IsWindows)
                            {
                                await Task.Run(
                                    async() =>
                                {
                                    HaccpAppSettings.SharedInstance.ResourceString =
                                        await
                                        DependencyService.Get <IResourceFileHelper>()
                                        .LoadResourceAsync("ResourceFile.xml");
                                });
                            }

                            else
                            {
                                try
                                {
                                    HaccpAppSettings.SharedInstance.ResourceString =
                                        DependencyService.Get <IResourceFileHelper>().LoadResource("ResourceFile.xml");
                                }
                                catch (Exception ex)
                                {
                                    Debug.WriteLine(ex.Message);
                                }
                            }
                        }
                        catch (Exception)
                        {
                            // ignored
                        }
                        IsLanguageListVisible = false;
                        if (!string.IsNullOrEmpty(HaccpAppSettings.SharedInstance.SiteSettings.ServerAddress))
                        {
                            //if (HaccpAppSettings.SharedInstance.IsWindows)
                            //{
                            //    var style = Application.Current.Resources["WindowsListScrollHelpGridStyle"] as Style;
                            //    if (style != null)
                            //    {
                            //        style.Setters.RemoveAt(0);
                            //        style.Setters.Insert(0,
                            //            new Setter {Property = VisualElement.HeightRequestProperty, Value = 90});
                            //    }

                            //    var recordstyle = Application.Current.Resources["WindowsScrollHelpGridStyle"] as Style;
                            //    if (recordstyle != null)
                            //    {
                            //        recordstyle.Setters.RemoveAt(0);
                            //        recordstyle.Setters.Insert(0,
                            //            new Setter {Property = VisualElement.HeightRequestProperty, Value = 85});
                            //    }
                            //    // related to scroll issue fix after changing language
                            //}
                            Page.UnSubscribeMessage();
                            HaccpAppSettings.SharedInstance.IsLanguageChanged = true;
                            Page.LoadHomePage();
                        }
                        else
                        {
                            BindeAllLablelProperties();
                        }

                        IsBusy = false;
                        Page.DismissPopup();
                    }
                }
            }
            catch (Exception ex)
            {
                IsBusy = false;
                Page.DismissPopup();

                Debug.WriteLine("Ooops! Something went wrong ShowSelectMenuChecklistAlert. Exception: {0}", ex);
            }
            finally
            {
                IsBusy = false;
                Page.DismissPopup();
                IsLanguageListVisible = false;
                if (HaccpAppSettings.SharedInstance.IsWindows)
                {
                    BindeAllLablelProperties();
                }
            }
        }
        /// <summary>
        ///     Loads the blue2 settings.
        /// </summary>
        public async void LoadBlue2Settings(bool tempReady)
        {
            if (BLEManager.SharedInstance.IsConnected)
            {
                EnableControls   = true;
                ConnectionStatus = HACCPUtil.GetResourceString("ConnectionStatusDisconnect");
                Blue2ButtonStyle = Application.Current.Resources["Blue2ButtonActiveStyle"] as Style;
                if (BLEManager.SharedInstance.Settings != null)
                {
                    var settings = BLEManager.SharedInstance.Settings;

                    BatteryLevel      = settings.BatteryLevel;
                    ShowBluetoothIcon = true;

                    TemperatureUnit = settings.Scale == 0 ? TemperatureUnit.Celcius : TemperatureUnit.Fahrenheit;

                    if (tempReady)
                    {
                        if (BLEManager.SharedInstance.IsSleeping)
                        {
                            CurrentTemperatureFormatted = HACCPUtil.GetResourceString("Blue2SleepString");
                            Blue2TempFontSize           = 22;
                            LineBreakMode = LineBreakMode.TailTruncation;
                        }
                        else if (BLEManager.SharedInstance.IsHigh)
                        {
                            CurrentTemperatureFormatted = HACCPUtil.GetResourceString("Blue2HighString");
                            Blue2TempFontSize           = 22;
                            LineBreakMode = LineBreakMode.TailTruncation;
                        }
                        else if (BLEManager.SharedInstance.IsLow)
                        {
                            CurrentTemperatureFormatted = HACCPUtil.GetResourceString("Blue2LowString");
                            Blue2TempFontSize           = 22;
                            LineBreakMode = LineBreakMode.TailTruncation;
                        }
                        else if (BLEManager.SharedInstance.IsBatteryLow)
                        {
                            CurrentTemperatureFormatted = HACCPUtil.GetResourceString("Blue2BatteryString");
                            Blue2TempFontSize           = 22;
                            LineBreakMode = LineBreakMode.TailTruncation;
                        }
                        else
                        {
                            DisplayTemperatureReading(BLEManager.SharedInstance.LastReading);
                        }
                    }
                }
            }
            else
            {
                EnableControls = false;

                PermissionStatus status = await CrossPermissions.Current.CheckPermissionStatusAsync(Plugin.Permissions.Abstractions.Permission.Location);

                if (status == PermissionStatus.Granted)
                {
                    ConnectionStatus = BLEManager.SharedInstance.ScanTimeOutElapsed
                    ? HACCPUtil.TruncateResourceString(HACCPUtil.GetResourceString("ConnectionStatusScanBlue2"), false)
                    : HACCPUtil.TruncateResourceString(HACCPUtil.GetResourceString("ConnectionStatusScanning"), false);
                }
                else
                {
                    ConnectionStatus = HACCPUtil.TruncateResourceString(HACCPUtil.GetResourceString("ConnectionStatusScanBlue2"), false);
                    BLEManager.SharedInstance.Adapter.CancelScanning();
                    BLEManager.SharedInstance.ScanTimeOutElapsed = true;
                }

                Blue2ButtonStyle            = Application.Current.Resources["Blue2ButtonNotActiveStyle"] as Style;
                ShowBluetoothIcon           = false;
                CurrentTemperatureFormatted = HACCPUtil.GetResourceString("ConnectBlue2Label");
                Blue2TempFontSize           = 22;
                LineBreakMode = LineBreakMode.TailTruncation;

                if (!BLEManager.SharedInstance.Adapter.IsBluetoothEnabled)
                {
                    // bluetooth in phone is disabled
                    await Page.ShowAlert(string.Empty, HACCPUtil.GetResourceString("TurnONBluetoothonyourdevice"));
                }
                else if (BLEManager.SharedInstance.Adapter.IsScanning)
                {
                    // connection to the blue2 device is disabled
                    await Page.ShowAlert(string.Empty, HACCPUtil.GetResourceString("Blue2TurnOnMessage"));
                }
            }

            OnPropertyChanged("CustomProbDescription");
        }
Beispiel #27
0
        /// <summary>
        ///     Method for loading ble settings for windows
        /// </summary>
        public void LoadWindowsBlue2Settings()
        {
            if (WindowsBLEManager.SharedInstance.HasAnyPairedDevice)
            {
                ConnectionStatus = HACCPUtil.GetResourceString("ConnectionStatusDisconnect");
                Blue2ButtonStyle = Application.Current.Resources["Blue2ButtonActiveStyle"] as Style;

                var settings = WindowsBLEManager.SharedInstance.Settings;

                if (settings != null)
                {
                    EnableControls = true;

                    Blue2Id = settings.SNo;
                    if (!string.IsNullOrEmpty(Blue2Id))
                    {
                        Blue2IdVisible = true;
                    }

                    _measurementTiming = settings.MeasurementLevel;
                    Timing             = string.Format("{0} {1}", _measurementTiming, HACCPUtil.GetResourceString("sec"));

                    IsTimingPlusEnabled = IsTimingMinusEnabled = true;
                    if (_measurementTiming == 5)
                    {
                        IsTimingPlusEnabled = false;
                    }
                    else if (_measurementTiming == 1)
                    {
                        IsTimingMinusEnabled = false;
                    }


                    TemperatureUnit = settings.Scale == 0 ? TemperatureUnit.Celcius : TemperatureUnit.Fahrenheit;

                    _autoOffInterval = settings.AutoOff;
                    Interval         = string.Format("{0} {1}", _autoOffInterval, HACCPUtil.GetResourceString("Minute"));

                    IsIntervalPlusEnabled = IsIntervalMinusEnabled = true;
                    if (_autoOffInterval == 30)
                    {
                        IsIntervalPlusEnabled = false;
                    }
                    else if (_autoOffInterval == 1)
                    {
                        IsIntervalMinusEnabled = false;
                    }

                    _sleepTime = settings.Sleep;
                    Sleep      = string.Format("{0} {1}", _sleepTime, HACCPUtil.GetResourceString("Minute"));

                    IsSleepPlusEnabled = IsSleepMinusEnabled = true;
                    if (_sleepTime == 30)
                    {
                        IsSleepPlusEnabled = false;
                    }
                    else if (_sleepTime == 1)
                    {
                        IsSleepMinusEnabled = false;
                    }

                    CustomProbDescription = settings.Prob;
                    MessagingCenter.Send(new Blue2PlaceHolderVisibility(string.IsNullOrEmpty(CustomProbDescription)),
                                         HaccpConstant.Blue2PlaceholderVisibility);
                }
                else
                {
                    EnableControls = false;
                }
            }
            else
            {
                EnableControls   = false;
                ConnectionStatus =
                    HACCPUtil.TruncateResourceString(HACCPUtil.GetResourceString("ConnectionStatusScanBlue2"), false);
                Blue2ButtonStyle = Application.Current.Resources["Blue2ButtonNotActiveStyle"] as Style;
                //if (!BLEManager.SharedInstance.adapter.IsBluetoothEnabled)
                //{              // bluetooth in phone is disabled

                //   CustomProbDescription = string.Empty;
                //    MessagingCenter.Send<Blue2PlaceHolderVisibility>(new Blue2PlaceHolderVisibility(true), HACCPConstant.BLUE2_PLACEHOLDER_VISIBILITY);
                //     await page.ShowAlert(string.Empty, HACCPUtil.GetResourceString("TurnONBluetoothonyourdevice"));
                //  }
                //  else
                //   {                                  // connection to the blue2 device is disabled
                Blue2Id               = string.Empty;
                Blue2IdVisible        = false;
                CustomProbDescription = string.Empty;
                MessagingCenter.Send(new Blue2PlaceHolderVisibility(true), HaccpConstant.Blue2PlaceholderVisibility);
                //if (BLEManager.SharedInstance.adapter.IsScanning)
                //  await page.ShowAlert(string.Empty, HACCPUtil.GetResourceString("Blue2TurnOnMessage"));
                //   }
            }
        }
        public override void OnViewAppearing()
        {
            base.OnViewAppearing();
            ShowBluetoothIcon = false;

            if (HaccpAppSettings.SharedInstance.IsWindows)
            {
                LoadWindowsBlue2Settings();
            }
            else
            {
                LoadBlue2Settings(true);
            }


            MessagingCenter.Subscribe <BleTemperatureReadingMessage>(this, HaccpConstant.BletemperatureReading, sender =>
            {
                OnPropertyChanged("IsWakeButtonVisible");

                bool connected;

                connected = HaccpAppSettings.SharedInstance.IsWindows ? WindowsBLEManager.SharedInstance.HasAnyPairedDevice : BLEManager.SharedInstance.IsConnected;

                if (connected)
                {
                    var msg = sender;
                    if (msg != null)
                    {
                        bool isbatteryLow;
                        double lastReading;
                        if (HaccpAppSettings.SharedInstance.IsWindows)
                        {
                            isbatteryLow = WindowsBLEManager.SharedInstance.IsBatteryLow;
                            lastReading  = WindowsBLEManager.SharedInstance.LastReading;
                        }
                        else
                        {
                            isbatteryLow = BLEManager.SharedInstance.IsBatteryLow;
                            lastReading  = BLEManager.SharedInstance.LastReading;
                        }

                        if (msg.IsSleeping)
                        {
                            CurrentTemperatureFormatted = HACCPUtil.GetResourceString("Blue2SleepString");
                            Blue2TempFontSize           = 22;
                            LineBreakMode = LineBreakMode.TailTruncation;
                        }
                        else if (msg.IsHigh)
                        {
                            CurrentTemperatureFormatted = HACCPUtil.GetResourceString("Blue2HighString");
                            Blue2TempFontSize           = 22;
                            LineBreakMode = LineBreakMode.TailTruncation;
                        }
                        else if (msg.IsLow)
                        {
                            CurrentTemperatureFormatted = HACCPUtil.GetResourceString("Blue2LowString");
                            Blue2TempFontSize           = 22;
                            LineBreakMode = LineBreakMode.TailTruncation;
                        }
                        else if (isbatteryLow)
                        {
                            CurrentTemperatureFormatted = HACCPUtil.GetResourceString("Blue2BatteryString");
                            Blue2TempFontSize           = 22;
                            LineBreakMode = LineBreakMode.TailTruncation;
                        }
                        else
                        {
                            DisplayTemperatureReading(lastReading);
                        }
                    }
                }
            });
        }
Beispiel #29
0
 /// <summary>
 ///     Shows the not implemented.
 /// </summary>
 protected void ShowNotImplemented()
 {
     Page.DisplayAlertMessage(HACCPUtil.GetResourceString("NotImplemented"), "");
 }
Beispiel #30
0
        /// <summary>
        ///     Executes the update site command.
        /// </summary>
        /// <returns>The update site command.</returns>
        private async Task ExecuteUpdateSiteCommand()
        {
            if (IsBusy)
            {
                return;
            }

            IsBusy = true;

            UpdateSiteCommand.ChangeCanExecute();
            try
            {
                if (haccpService.IsConnected() == false)
                {
                    Page.DismissPopup();
                    IsBusy = false;
                    Page.DisplayAlertMessage(HACCPUtil.GetResourceString("EnableNetworkConnection"),
                                             HACCPUtil.GetResourceString(
                                                 "YourequireanactiveInternetconnectiontoperformsomefunctionsWerecommendthatyouenableWiFiforthispurposeDatachargesmayapplyifWiFiisnotenabled"));
                    return;
                }
                if (!pendingCheckListToUpload && !pendingTemperatureRecordsToUpload)
                {
                    Page.ShowProgressIndicator();
                    var res = await haccpService.DownloadSiteAndSettings(false);

                    if (Device.OS == TargetPlatform.WinPhone || Device.OS == TargetPlatform.WinPhone)
                    {
                        await Task.Delay(500);
                    }
                    if (res.IsSuccess)
                    {
                        Page.DismissPopup();
                        IsBusy = false;
                        Page.DisplayAlertMessage("", HACCPUtil.GetResourceString("SiteandSettingsupdatedsuccessfully"));
                    }
                    else
                    {
                        Page.DismissPopup();
                        IsBusy = false;
                        Page.DisplayAlertMessage("", res.Message);
                    }
                }
                else
                {
                    IsBusy = false;
                    Page.DismissPopup();
                    await
                    Page.ShowAlert(string.Empty,
                                   HACCPUtil.GetResourceString("UploadRecordsPendingOnUpdateSiteSettingsMessage"));
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine("Ooops! Something went wrong while fetch users from server. Exception: {0}", ex);
            }
            finally
            {
                IsBusy = false;
                Page.DismissPopup();
                UpdateSiteCommand.ChangeCanExecute();
            }
        }