예제 #1
0
        private static List <PlayEvent> GetGoalsAndPenalties(IList <Event> events, string homeTeam)
        {
            var goals             = GoalFactory.Create(events, homeTeam);
            var penalties         = PenaltiesFactory.Create(events, homeTeam);
            var goalsAndPenalties = goals;

            goalsAndPenalties.AddRange(penalties);
            return(goalsAndPenalties);
        }
예제 #2
0
        private async Task <bool> TrySave()
        {
            if (!Validate(out decimal amount, out string name))
            {
                return(false);
            }

            var date = selectedDate;

            var isImageSelected    = selectedImageUri != Uri.Empty;
            var viewHasBeenAltered = new Func <bool>(
                () => currentImageGenerationId == cropView?.VisibleRectangleBitmap?.GenerationId).Invoke();

            var imageName =
                (isImageSelected || viewHasBeenAltered)
                    ? await TryUpdateImage()
                    : goal?.Image;

            var tmp = GoalFactory.Create(amount, date,
                                         imageName, name);



            if (goal != null)
            {
                var updatedGoal = GoalFactory.Copy(goal, tmp);
                if (Compare(updatedGoal, goal))
                {
                    return(true);
                }

                RepositoryFactory.GetSingleton().GetRepository().Update(updatedGoal);
            }

            else
            {
                RepositoryFactory.GetSingleton().GetRepository().Add(tmp);
            }

            return(true);
        }