Esempio n. 1
0
        private void UpadteLastWeek(DailyProgressSummary[] progress)
        {
            var crystals = 0;
            var LastSync = progress.OrderBy(summary => summary.DayId).FirstOrDefault();

            if (LastSync == null)
            {
                return;
            }
            var goals = _goalsRepository.GetGoals(LastSync.UserId);

            if (goals == null)
            {
                return;
            }

            if (IsThisWeek(LastSync.DayId))
            {
                return;
            }

            var lastWeek       = DateTime.Today.AddDays(-7);
            var weeklyProgress = _progressFetcher.GetWeekly(lastWeek);

            if (weeklyProgress == null)
            {
                return;
            }


            if (weeklyProgress.ActiveMinutes >= goals.WeeklyActiveMinutes)
            {
                crystals += goals.WeeklyActiveMinutesReward;
            }

            if (weeklyProgress.CaloriesBurned >= goals.WeeklyCaloriesBurned)
            {
                crystals += goals.WeeklyCaloriesBurnedReward;
            }

            _balanceHandler.SendTransaction(crystals, String.Concat("weekly progress of week starting on: ", lastWeek.Date.StartOfWeek().ToString()));
        }
        private void InitAllProgressBars(Grid outerGrid, DateTime date, int index)
        {
            //for each goal, check if it's defined and get its value + show visible
            int    i  = 0;
            string ID = player.UserId;
            WeeklyProgressSummary sum = _IProgressFetcher.GetWeekly(DateTime.Today, ID);
            Goals goals = _IGoalsHandler.GetGoals(ID);

            if (goals.WeeklyCaloriesBurned == 0 && goals.WeeklyActiveMinutes == 0)
            {
                ShowMessage("Seems like your coach didn't set any weekly goals for you.");
                return;
            }
            Grid grid = new Grid();

            grid.SetValue(Grid.RowProperty, index);
            outerGrid.RowDefinitions.Add(new RowDefinition());
            outerGrid.Children.Add(grid);

            AddTitle(grid, "Weekly Progress:", date);
            i++;
            if (goals.WeeklyActiveMinutes > 0)             // if Steps is set
            {
                ShowProgressBar(grid, "Active Minutes:", sum.ActiveMinutes, goals.WeeklyActiveMinutes, (index != 0) ? 0 : goals.WeeklyActiveMinutesReward, i);
                i++;
            }
            if (goals.WeeklyCaloriesBurned > 0)             // if Calories is set
            {
                ShowProgressBar(grid, "Caloriers Burned:", sum.CaloriesBurned, goals.WeeklyCaloriesBurned, (index != 0) ? 0 : goals.WeeklyCaloriesBurnedReward, i);
                i++;
            }
            grid.RowDefinitions.Add(new RowDefinition());
            TextBlock LineBreak = new TextBlock {
                Text = "\n"
            };

            LineBreak.SetValue(Grid.RowProperty, i);
            grid.Children.Add(LineBreak);
        }