private async void proceedButton_Clicked(object sender, EventArgs e) { if (String.IsNullOrEmpty(NameEntry.Text)) { await DisplayAlert(ResxFile.str_error, ResxFile.err_NullPlanName, ResxFile.err_confirm); return; } HabitPlans plan = new HabitPlans(); plan.habitName = NameEntry.Text; if (TypePicker.SelectedItem.ToString().Equals(ResxFile.pker_Normal)) { plan.habitType = "Normal"; } else { plan.habitType = "Challenge"; plan.endDate = EndDatePicker.Date; } plan.startDate = StartDatePicker.Date; await Navigation.PushAsync(new PlanItemList_Create(plan)); }
public PlanItemsPage(HabitPlans plan, String coachID, Models.APIModels.Student selectedStudent) { InitializeComponent(); ToAddItems = new ObservableCollection <PlanItems>(); ToAddPlan = plan; this.coachID = coachID; this.selectedStudent = selectedStudent; }
public PlanItemList_Display(HabitPlans plan) { InitializeComponent(); selectedPlan = plan; if (String.IsNullOrEmpty(plan.habitID_DB)) { this.ToolbarItems.Remove(shareButton); } }
private async void PlanList_ItemSelected(object sender, SelectedItemChangedEventArgs e) { if (PlanList.SelectedItem == null) { return; } HabitPlans planSelected = e.SelectedItem as HabitPlans; await Navigation.PushAsync(new PlanItemList_Display(planSelected)); PlanList.SelectedItem = null; }
private async void cloneButton_Clicked(object sender, EventArgs e) { HabitPlans toAddPlan = new HabitPlans(); toAddPlan.habitName = selectedPlan.HabitName; toAddPlan.habitType = selectedPlan.HabitType; toAddPlan.startDate = DateTime.Now.Date; if (selectedPlan.HabitType.Equals("Challenge")) { DateTime sdt = selectedPlan.StartDate.UtcDateTime; DateTime edt = selectedPlan.EndDate.Value.UtcDateTime; toAddPlan.endDate = toAddPlan.startDate.AddDays((edt - sdt).TotalDays).Date; } int result = await App.Database.InsertRow <HabitPlans>(toAddPlan); if (result != 0) { var currentPlans = await App.Database.GetPlansAsync(); int newID = currentPlans.Count; foreach (PlanItem item in items) { PlanItems toAddItem = new PlanItems(); toAddItem.habitID = newID; toAddItem.itemGoal = item.ItemGoal.Value; toAddItem.itemType = item.ItemType; toAddItem.itemName = item.ItemName; int result2 = await App.Database.InsertRow <PlanItems>(toAddItem); if (result2 == 0) { await DisplayAlert(ResxFile.str_error, ResxFile.str_error, ResxFile.err_confirm); return; } } await DisplayAlert(ResxFile.msg_Success, ResxFile.msg_SuccNewPlan, ResxFile.btn_ok); await Navigation.PopToRootAsync(); } else { await DisplayAlert(ResxFile.str_error, ResxFile.str_error, ResxFile.err_confirm); return; } }
public static async Task <BaseModel> AssignPlan(HabitPlans plan, ObservableCollection <PlanItems> items, String coachID, String studentID) { String queryPart = PrepareQuery_assignPlan(plan, items, coachID, studentID); client = new HttpClient(); String query = String.Format("{{\"query\":\"mutation{{ {0} {{ message }} }}\"}}", queryPart); StringContent stringContent = new StringContent(query, Encoding.UTF8, "application/json"); var httpResponse = await client.PostAsync(GraphQLURL, stringContent); var json = await httpResponse.Content.ReadAsStringAsync(); var result = JsonConvert.DeserializeObject <BaseModel>(json); return(result); }
public static String PrepareQuery_assignPlan(HabitPlans plan, ObservableCollection <PlanItems> items, String coachID, String studentID) { String returnQuery = "assignPlan(coachId: \\\"" + coachID + "\\\", studentId: \\\"" + studentID + "\\\", newPlan: {"; returnQuery += "habitName: \\\"" + plan.habitName + "\\\", "; returnQuery += "habitType: \\\"" + plan.habitType + "\\\", "; DateTime startTime = plan.startDate; startTime = DateTime.SpecifyKind(startTime, DateTimeKind.Utc); DateTimeOffset startTime2 = startTime; returnQuery += "startDate: \\\"" + startTime2.ToString() + "\\\","; if (plan.habitType.Equals("Challenge")) { DateTime endTime = plan.endDate; startTime = DateTime.SpecifyKind(startTime, DateTimeKind.Utc); DateTimeOffset endTime2 = endTime; returnQuery += "endDate: \\\"" + endTime2.ToString() + "\\\","; } returnQuery += "Items: ["; Boolean isFirst = true; foreach (PlanItems item in items) { if (!isFirst) { returnQuery += ", "; } returnQuery += "{itemName: \\\"" + item.itemName + "\\\", "; returnQuery += "itemType: \\\"" + item.itemType + "\\\", "; returnQuery += "itemGoal: " + item.itemGoal + "}"; isFirst = false; } returnQuery += "]})"; return(returnQuery); }
public void AddRecordsToAppointment() { foreach (PlanRecords record in records) { var appointment = new CalendarInlineEvent(); PlanItems item = items.Where(x => x.itemID == record.itemID).FirstOrDefault(); HabitPlans plan = plans.Where(x => x.habitID == item.habitID).FirstOrDefault(); if (Appointments.Where(x => x.Subject.Equals(plan.habitName) && x.StartTime.Equals(record.recordDate)).Count() == 0) { appointment.Subject = plan.habitName; if (record.isDone) { appointment.Color = limeColor; } else { appointment.Color = redColor; } appointment.StartTime = record.recordDate; appointment.EndTime = appointment.StartTime.AddHours(2); appointment.IsAllDay = true; this.appointments.Add(appointment); } else { int targetIndex = Appointments.IndexOf(Appointments.Where(x => x.Subject.Equals(plan.habitName) && x.StartTime.Equals(record.recordDate)).FirstOrDefault()); if (record.isDone) { Appointments[targetIndex].Color = limeColor; } else { Appointments[targetIndex].Color = limeColor; } } } this.OnPropertyChanged("Appointments"); }
private async void ProceedButton_Clicked(object sender, EventArgs e) { var check = await DisplayAlert(ResxFile.err_confirm, ResxFile.msg_confirmCoachPlan, ResxFile.btn_accept, ResxFile.btn_decline); if (check) { HabitPlans newPlan = new HabitPlans(); newPlan.habitName = ToAddPlan.HabitName; newPlan.habitType = ToAddPlan.HabitType; newPlan.startDate = ToAddPlan.StartDate.UtcDateTime.Date; if (ToAddPlan.HabitType.Equals("Challenge")) { newPlan.endDate = ToAddPlan.EndDate.Value.UtcDateTime.Date; } int result = await App.Database.InsertRow <HabitPlans>(newPlan); if (result == 0) { await DisplayAlert(ResxFile.str_error, ResxFile.str_error, ResxFile.err_confirm); return; } var temp = await App.Database.GetPlansAsync(); int newID = temp.Count; foreach (CoachItem item in ToAddItems) { PlanItems newItem = new PlanItems(); newItem.habitID = newID; newItem.itemGoal = item.ItemGoal.Value; newItem.itemName = item.ItemName; newItem.itemType = item.ItemType; int result2 = await App.Database.InsertRow <PlanItems>(newItem); if (result2 == 0) { await DisplayAlert(ResxFile.str_error, ResxFile.str_error, ResxFile.err_confirm); return; } } var replyPlan = await APIConnection.replyCoachPlan(ToAddPlan.Id, "Accepted"); if (replyPlan.Errors != null) { await DisplayAlert(ResxFile.str_error, replyPlan.Errors[0].Message, ResxFile.err_confirm); } else { await DisplayAlert(ResxFile.msg_Success, ResxFile.msg_SuccNewPlan, ResxFile.btn_ok); } await Navigation.PopToRootAsync(); } else { var replyPlan = await APIConnection.replyCoachPlan(ToAddPlan.Id, "Declined"); if (replyPlan.Errors != null) { await DisplayAlert(ResxFile.str_error, replyPlan.Errors[0].Message, ResxFile.err_confirm); } else { await DisplayAlert(ResxFile.msg_Success, ResxFile.msg_DeclinePlanSucc, ResxFile.btn_ok); } } }
private async void btn_pullPlans_Clicked(object sender, EventArgs e) { var result1 = await DisplayAlert(ResxFile.msg_rusure, ResxFile.msg_coachResponsibility, ResxFile.btn_yes, ResxFile.btn_cancel); if (result1) { String userID = await Constants.GetUserId(); var pullPlan = await APIConnection.pullPlans(userID); if (pullPlan.Errors != null) { await DisplayAlert(ResxFile.str_error, pullPlan.Errors[0].Message, ResxFile.err_confirm); return; } else { ObservableCollection <HabitPlan> plans = new ObservableCollection <HabitPlan>(pullPlan.Data.PullPlans); if (plans.Count == 0) { await DisplayAlert(ResxFile.str_error, ResxFile.err_noPlanPull, ResxFile.err_confirm); return; } foreach (HabitPlan plan in plans) { String query1 = "SELECT * FROM [HabitPlans] WHERE habitID_DB='" + plan.Id + "'"; ObservableCollection <HabitPlans> checkPlan = new ObservableCollection <HabitPlans>(await App.Database.QueryHabitPlans(query1)); if (checkPlan.Count == 0) { HabitPlans newPlan = new HabitPlans(); newPlan.habitID_DB = plan.Id; newPlan.habitName = plan.HabitName; newPlan.habitType = plan.HabitType; newPlan.startDate = DateTime.Now.Date; if (newPlan.habitType.Equals("Challenge")) { DateTime sdt = plan.StartDate.UtcDateTime.Date; DateTime edt = plan.EndDate.Value.UtcDateTime.Date; newPlan.startDate = sdt; newPlan.endDate = edt; } var result2 = await App.Database.InsertRow <HabitPlans>(newPlan); if (result2 != 0) { checkPlan = new ObservableCollection <HabitPlans>(await App.Database.QueryHabitPlans(query1)); var localID = checkPlan[0].habitID; foreach (PlanItem item in plan.CreatedItems) { PlanItems newItem = new PlanItems(); newItem.habitID = localID; newItem.itemGoal = item.ItemGoal.Value; newItem.itemName = item.ItemName; newItem.itemType = item.ItemType; var result3 = await App.Database.InsertRow <PlanItems>(newItem); if (result3 == 0) { await DisplayAlert(ResxFile.str_error, "result3", ResxFile.err_confirm); return; } } } } } await DisplayAlert(ResxFile.msg_Success, ResxFile.msg_pullPlanSucc, ResxFile.btn_ok); } } }
public PlanItemList_Create(HabitPlans plan) { InitializeComponent(); ToAddItems = new ObservableCollection<PlanItems>(); ToAddPlan = plan; }