public TaskPage(int routineNum, bool isRoutine, GRItemModel _GRItemModel) { InitializeComponent(); GRItemModel = _GRItemModel; taskGridViewModel = new TaskGridViewModel(this, routineNum, isRoutine, GRItemModel); BindingContext = taskGridViewModel; }
public TaskCompletePage(int a, int b, bool isRoutine, TaskItemModel _TaskItemModel, GRItemModel _GRItemModel) { InitializeComponent(); firebaseFunctionsService = new FirebaseFunctionsService(); GRItemModel = _GRItemModel; TaskItemModel = _TaskItemModel; this.a = a; this.b = b; this.isRoutine = isRoutine; pageModel = new TaskCompletePageViewModel(this, a, b, isRoutine); BindingContext = pageModel; itemcount = pageModel.count; }
public StepsPage(int a, int b, bool isRoutine, TaskItemModel _taskItemModel, GRItemModel _GRItemModel) { InitializeComponent(); this.a = a; this.b = b; taskItemModel = _taskItemModel; GRItemModel = _GRItemModel; this.isRoutine = isRoutine; pageModel = new StepsPageViewModel(this, a, b, isRoutine); BindingContext = pageModel; itemcount = pageModel.count; StepListView.HeightRequest = GetListViewHeight(); }
public TaskGridViewModel(TaskPage mainPage, int a, bool isRoutine, GRItemModel _GRItemModel) { this.mainPage = mainPage; Items = new ObservableCollection <TaskItemModel>(); GRItemModel = _GRItemModel; if (isRoutine) { TopImage = App.User.routines[a].photo; TopLabel = App.User.routines[a].title; BackgroundColor = Color.WhiteSmoke; TitleTextColor = Color.FromHex("#272E32"); BackImage = "arrowicon.png"; //if(App.user.routines[a].audio != "") SoundButton = "waveicon.png"; int taskIdx = 0; foreach (task task in App.User.routines[a].tasks) { Items.Add(new TaskItemModel( App.User.routines[a].tasks[taskIdx].photo, App.User.routines[a].tasks[taskIdx].title, Color.FromHex("#272E32"), App.User.routines[a].tasks[taskIdx].isComplete, App.User.routines[a].tasks[taskIdx].isInProgress, new Command <int>( async(int _taskIdx) => { string routineId = App.User.routines[a].id; string taskId = App.User.routines[a].tasks[_taskIdx].id; int taskDbIdx = App.User.routines[a].tasks[_taskIdx].dbIdx; bool isTaskInProgress = App.User.routines[a].tasks[_taskIdx].isInProgress; bool isTaskComplete = App.User.routines[a].tasks[_taskIdx].isComplete; if (App.User.routines[a].tasks[_taskIdx].isSublistAvailable) { if (!isTaskComplete) { App.User.routines[a].tasks[_taskIdx].isInProgress = true; Items[_taskIdx].IsInProgress = true; firebaseFunctionsService.StartAT(routineId, taskId, taskDbIdx.ToString()); } await mainPage.Navigation.PushAsync(new StepsPage(a, _taskIdx, isRoutine, Items[_taskIdx], GRItemModel)); } else { if (!isTaskComplete) { if (isTaskInProgress) { App.User.routines[a].tasks[_taskIdx].isInProgress = false; App.User.routines[a].tasks[_taskIdx].isComplete = true; Items[_taskIdx].IsInProgress = false; Items[_taskIdx].IsComplete = true; firebaseFunctionsService.UpdateTask(routineId, taskId, taskDbIdx.ToString()); } else { App.User.routines[a].tasks[_taskIdx].isInProgress = true; Items[_taskIdx].IsInProgress = true; firebaseFunctionsService.StartAT(routineId, taskId, taskDbIdx.ToString()); } } } }), taskIdx )); taskIdx++; } } else { TopImage = App.User.goals[a].photo; TopLabel = App.User.goals[a].title; BackgroundColor = Color.FromHex("#272E32"); TitleTextColor = Color.WhiteSmoke; BackImage = "arrowiconwhite.png"; int actionIdx = 0; foreach (action action in App.User.goals[a].actions) { Items.Add(new TaskItemModel( App.User.goals[a].actions[actionIdx].photo, App.User.goals[a].actions[actionIdx].title, Color.WhiteSmoke, App.User.goals[a].actions[actionIdx].isComplete, App.User.goals[a].actions[actionIdx].isInProgress, new Command <int>( async(int _actionIdx) => { string goalId = App.User.goals[a].id; string actionId = App.User.goals[a].actions[_actionIdx].id; int actionDbIdx = App.User.goals[a].actions[_actionIdx].dbIdx; bool isActionInProgress = App.User.goals[a].actions[_actionIdx].isInProgress; bool isActionComplete = App.User.goals[a].actions[_actionIdx].isComplete; if (App.User.goals[a].actions[_actionIdx].isSublistAvailable) { if (!isActionComplete) { App.User.goals[a].actions[_actionIdx].isInProgress = true; Items[_actionIdx].IsInProgress = true; firebaseFunctionsService.StartAT(goalId, actionId, actionDbIdx.ToString()); } await mainPage.Navigation.PushAsync(new TaskCompletePage(a, _actionIdx, isRoutine, Items[_actionIdx], GRItemModel)); } else { if (!isActionComplete) { if (isActionInProgress) { App.User.goals[a].actions[_actionIdx].isInProgress = false; App.User.goals[a].actions[_actionIdx].isComplete = true; Items[_actionIdx].IsInProgress = false; Items[_actionIdx].IsComplete = true; firebaseFunctionsService.UpdateTask(goalId, actionId, actionDbIdx.ToString()); } else { App.User.goals[a].actions[_actionIdx].isInProgress = true; Items[_actionIdx].IsInProgress = true; firebaseFunctionsService.StartAT(goalId, actionId, actionDbIdx.ToString()); } } } }), actionIdx )); actionIdx++; } } }