/// <summary> /// Sets the grade to the lower option, using Math.Floor. /// </summary> /// <param name="grade"></param> /// <param name="percentNeeded"></param> private static void setBaseGrade(BaseViewItemHomeworkExamGrade grade, double percentNeeded) { //set grade to the lower option grade.GradeReceived = Math.Floor(percentNeeded * grade.GradeTotal); grade.WasChanged = true; grade.WeightCategory.NeedsRecalc = true; }
private View CreateCircle(ViewGroup root, BaseViewItemHomeworkExamGrade item) { View view = new View(root.Context) { Background = ContextCompat.GetDrawable(root.Context, Resource.Drawable.circle), LayoutParameters = new LinearLayout.LayoutParams( ThemeHelper.AsPx(Context, 5), ThemeHelper.AsPx(Context, 5)) { RightMargin = ThemeHelper.AsPx(Context, 3) } }; if (item is BaseViewItemHomeworkExam) { ViewCompat.SetBackgroundTintList(view, new ColorStateList(new int[][] { new int[] { } }, new int[] { ColorTools.GetColor((item as BaseViewItemHomeworkExam).GetClassOrNull().Color).ToArgb() })); } return(view); }
public void EditGrade(BaseViewItemHomeworkExamGrade grade, bool whatIf = false) { ShowPopup(AddGradeViewModel.CreateForEdit(this, new AddGradeViewModel.EditParameter() { Item = grade, IsInWhatIfMode = whatIf })); }
public static ViewGradeViewModel Create(BaseViewModel parent, BaseViewItemHomeworkExamGrade item, bool isInWhatIfMode = false) { return(new ViewGradeViewModel(parent) { Grade = item, IsInWhatIfMode = isInWhatIfMode }); }
public void Remove(BaseViewItemHomeworkExamGrade viewItemGrade) { if (Grades != null) { Grades.Remove(viewItemGrade); } NeedsRecalc = true; }
/// <summary> /// Gets the brush for the homework item, based on its class color /// </summary> /// <param name="item"></param> /// <returns></returns> private SolidColorBrush getBrush(BaseViewItemHomeworkExamGrade item) { if (item is ViewItemHomework) { return(new SolidColorBrush(ColorTools.GetColor((item as ViewItemHomework).Class.Color))); } else if (item is ViewItemExam) { return(new SolidColorBrush(ColorTools.GetColor((item as ViewItemExam).Class.Color))); } return(Brushes.Black); }
/// <summary> /// Increments the grade received by 1 (calculates class grade too) /// </summary> /// <param name="grade"></param> /// <returns>Returns true if the class grade is now greater than or equal to the desired grade, else false.</returns> private bool incrementGrade(BaseViewItemHomeworkExamGrade grade, double desiredGrade) { grade.GradeReceived++; grade.WasChanged = true; grade.WeightCategory.NeedsRecalc = true; CalculateEverything(); if (CalculatedGrade >= desiredGrade) { return(true); } return(false); }
private static bool ShouldIncludeItem(BaseViewItemHomeworkExamGrade item) { // If homework and complete, don't include if (item is BaseViewItemHomework && (item as BaseViewItemHomework).IsComplete) { return(false); } // If exam and complete (in the past), don't include if (item is ViewItemExam && (item as ViewItemExam).IsComplete) { return(false); } return(true); }
/// <summary> /// Will increase grade received by 1 if it doesn't make the class' grade higher than the desired grade (also calculates grade) /// </summary> /// <param name="grade"></param> private void tryIncrementGrade(BaseViewItemHomeworkExamGrade grade, double desiredGrade) { grade.GradeReceived++; grade.WeightCategory.NeedsRecalc = true; CalculateEverything(); if (CalculatedGrade > desiredGrade) //too high { grade.GradeReceived--; grade.WeightCategory.NeedsRecalc = true; CalculateEverything(); } else { grade.WasChanged = true; } }
private View CreateCircle(ViewGroup root, BaseViewItemHomeworkExamGrade item) { View view = new View(root.Context) { Background = ContextCompat.GetDrawable(root.Context, Resource.Drawable.circle), LayoutParameters = new LinearLayout.LayoutParams( ThemeHelper.AsPx(Context, 9), ThemeHelper.AsPx(Context, 9)) { BottomMargin = ThemeHelper.AsPx(Context, 2) } }; if (item is BaseViewItemHomeworkExam) { ViewCompat.SetBackgroundTintList(view, MyFullEventItem.GetBackgroundColorStateList(item as BaseViewItemHomeworkExam)); } return(view); }
public void Add(BaseViewItemHomeworkExamGrade grade) { grade.WeightCategory = this; if (grade is ViewItemHomework) { (grade as ViewItemHomework).Class = this.Class; } else if (grade is ViewItemExam) { (grade as ViewItemExam).Class = this.Class; } if (Grades != null) { Grades.InsertSorted(grade); } NeedsRecalc = true; }
private void GradeListViewItem_OnRequestViewGrade(object sender, BaseViewItemHomeworkExamGrade e) { OnRequestViewGrade?.Invoke(this, e); }
public void ShowItem(BaseViewItemHomeworkExamGrade e) { MainScreenViewModel.ShowPopup(ViewGradeViewModel.Create(MainScreenViewModel, e)); }
private void WeightCategoryListViewItem_OnRequestViewGrade(object sender, BaseViewItemHomeworkExamGrade e) { ViewModel.GradesViewModel.ShowItem(e); }
private void Adapter_ItemClick(object sender, BaseViewItemHomeworkExamGrade e) { ViewModel.ShowItem(e); }