Exemplo n.º 1
0
 /// <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);
            }
Exemplo n.º 3
0
 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
     });
 }
Exemplo n.º 5
0
        public void Remove(BaseViewItemHomeworkExamGrade viewItemGrade)
        {
            if (Grades != null)
            {
                Grades.Remove(viewItemGrade);
            }

            NeedsRecalc = true;
        }
Exemplo n.º 6
0
        /// <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);
        }
Exemplo n.º 7
0
        /// <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);
        }
Exemplo n.º 8
0
        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);
        }
Exemplo n.º 9
0
        /// <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);
        }
Exemplo n.º 11
0
        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;
        }
Exemplo n.º 12
0
 private void GradeListViewItem_OnRequestViewGrade(object sender, BaseViewItemHomeworkExamGrade e)
 {
     OnRequestViewGrade?.Invoke(this, e);
 }
Exemplo n.º 13
0
 public void ShowItem(BaseViewItemHomeworkExamGrade e)
 {
     MainScreenViewModel.ShowPopup(ViewGradeViewModel.Create(MainScreenViewModel, e));
 }
Exemplo n.º 14
0
 private void WeightCategoryListViewItem_OnRequestViewGrade(object sender, BaseViewItemHomeworkExamGrade e)
 {
     ViewModel.GradesViewModel.ShowItem(e);
 }
Exemplo n.º 15
0
 private void Adapter_ItemClick(object sender, BaseViewItemHomeworkExamGrade e)
 {
     ViewModel.ShowItem(e);
 }