Пример #1
0
        public async Task UpdateLastHistoryItem(int id, bool response)
        {
            Debug.WriteLine("Trying to update the last history item");
            HistoryItem item = await App.Database.GetFirstHistoryItemAsync();

            if (item == null)
            {
                Debug.WriteLine("Did not find any history items");
                return;
            }

            if (item.ID != id)
            {
                Debug.WriteLine($"The last history item's id of {item.ID} did not match {id}.");
                return;
            }

            string notifTitle = $"Responded to {item.Action} {item.TrackedType}: {item.Name}";
            string notifText;

            if (response)
            {
                item.Responce = 1;
                notifText     = $"Did {item.Reminder}";
            }
            else
            {
                item.Responce = 2;
                notifText     = $"Didn't {item.Reminder}";
            }

            await App.Database.SaveHistoryAsync(item);

            Debug.WriteLine($"{notifTitle} with {notifText}");

            locationDependencyService.UpdateNotification(notifTitle, notifText, 0);
        }
Пример #2
0
        public async Task EditHistoryItem(HistoryItem item)
        {
            string action = await DisplayActionSheet($"Editing: Did you {item.Reminder}?", "Cancel", "Delete", "Yes", "No", "Clear");

            if (action == null || action.Equals("Cancel"))
            {
                return;
            }

            if (action.Equals("Delete"))
            {
                bool answer = await DisplayAlert($"Deleting \"{item.Action} {item.Name}\"", "Are you sure that you want to permanently delete this activity?", "Yes", "Cancel");

                if (answer)
                {
                    await App.Database.DeleteHistoryAsync(item);
                }
                return;
            }
            else if (action.Equals("Clear"))
            {
                await UpdateItem(item, 0);
            }
            else if (action.Equals("Yes"))
            {
                await UpdateItem(item, 1);
            }
            else if (action.Equals("No"))
            {
                await UpdateItem(item, 2);
            }
            else
            {
                throw new System.ArgumentException("Parameter not found", "action");
            }
        }
Пример #3
0
        private async Task UpdateLastestHistory()
        {
            latestHistoryItem = await App.Database.GetFirstHistoryItemAsync();

            if (latestHistoryItem == null)
            {
                latestHistoryNone.IsVisible    = true;
                latestHistoryPresent.IsVisible = false;
            }
            else
            {
                latestHistoryNone.IsVisible    = false;
                latestHistoryPresent.IsVisible = true;

                latestHistoryBox.BackgroundColor = latestHistoryItem.BoxColor;

                if (latestHistoryItem.Action.Equals(Constants.actionEnter))
                {
                    latestHistoryActionArrowImage.RotationY = 0;
                    latestHistoryActionImage.RotationY      = 0;
                }
                else
                {
                    latestHistoryActionArrowImage.RotationY = 180;
                    latestHistoryActionImage.RotationY      = 180;
                }

                if (latestHistoryItem.TrackedType.Equals(Constants.placeTypeName))
                {
                    latestHistoryName.Text = latestHistoryItem.TrackedType + ": " + latestHistoryItem.Name;
                }
                else
                {
                    latestHistoryName.Text = latestHistoryItem.Name;
                }

                if (latestHistoryItem.Reminder.Equals(Constants.washHands))
                {
                    latestHistoryReminderHandsImage.IsVisible = true;
                    latestHistoryReminderMaskImage.IsVisible  = false;
                }
                else if (latestHistoryItem.Reminder.Equals(Constants.wearMask))
                {
                    latestHistoryReminderHandsImage.IsVisible = false;
                    latestHistoryReminderMaskImage.IsVisible  = true;
                }
                else
                {
                    latestHistoryReminderHandsImage.IsVisible = true;
                    latestHistoryReminderMaskImage.IsVisible  = true;
                }

                //latestHistoryResponceReadable.Text = latestHistoryItem.ResponceReadable;
                latestHistoryTimeReadable.Text = latestHistoryItem.TimeReadable;
                //latestHistoryTimeDetails.Text = latestHistoryItem.TimeDetails;

                //  if has washed hands, enable edit button and disable the yes/no buttons. else vice versa
                if (latestHistoryItem.Responce != 0)
                {
                    latestHistoryYesButton.IsVisible  = false;
                    latestHistoryNoButton.IsVisible   = false;
                    latestHistoryEditButton.IsVisible = true;
                }
                else
                {
                    latestHistoryYesButton.IsVisible  = true;
                    latestHistoryNoButton.IsVisible   = true;
                    latestHistoryEditButton.IsVisible = false;
                }
            }
        }
Пример #4
0
        private async Task UpdateLastNoResponse()
        {
            latestNoResponseItem = await App.Database.GetFirstNoResponseHistoryItemAsync();

            if (latestNoResponseItem == null)
            {
                latestNoRes.IsVisible = false;
            }
            else if (latestHistoryItem != null && latestNoResponseItem.ID == latestHistoryItem.ID)
            {
                latestNoRes.IsVisible = false;
            }
            else
            {
                latestNoRes.IsVisible = true;

                int noResponceCount = await App.Database.GetNoResponceCountHistoryItemAsync();

                if (noResponceCount == 0)
                {
                    throw new System.ArgumentException("Parameter found to be zero even though an item was found.", "noResponceCount");
                }
                else if (noResponceCount == 1)
                {
                    latestNoResLable.Text = noResponceCount.ToString() + " Activity Needs Responding";
                }
                else
                {
                    latestNoResLable.Text = noResponceCount.ToString() + " Activities Need Responding";
                }

                latestNoResBox.BackgroundColor = latestNoResponseItem.BoxColor;
                if (latestNoResponseItem.Action.Equals(Constants.actionEnter))
                {
                    latestNoResActionArrowImage.RotationY = 0;
                    latestNoResActionImage.RotationY      = 0;
                }
                else
                {
                    latestNoResActionArrowImage.RotationY = 180;
                    latestNoResActionImage.RotationY      = 180;
                }

                if (latestNoResponseItem.TrackedType.Equals(Constants.placeTypeName))
                {
                    latestNoResName.Text = latestNoResponseItem.TrackedType + ": " + latestNoResponseItem.Name;
                }
                else
                {
                    latestNoResName.Text = latestNoResponseItem.Name;
                }

                if (latestNoResponseItem.Reminder.Equals(Constants.washHands))
                {
                    latestNoResReminderHandsImage.IsVisible = true;
                    latestNoResReminderMaskImage.IsVisible  = false;
                }
                else if (latestNoResponseItem.Reminder.Equals(Constants.wearMask))
                {
                    latestNoResReminderHandsImage.IsVisible = false;
                    latestNoResReminderMaskImage.IsVisible  = true;
                }
                else
                {
                    latestNoResReminderHandsImage.IsVisible = true;
                    latestNoResReminderMaskImage.IsVisible  = true;
                }

                //latestNoResResponceReadable.Text = latestNoResponseItem.ResponceReadable;
                latestNoResTimeReadable.Text = latestNoResponseItem.TimeReadable;
                //latestNoResTimeDetails.Text = latestNoResponseItem.TimeDetails;

                // the edit button is disabled
            }
        }
Пример #5
0
 public Task <int> DeleteHistoryAsync(HistoryItem history)
 {
     return(_database.DeleteAsync(history));
 }