예제 #1
0
        public async Task <IEnumerable <Matchh> > GetNearestMatch(int userId) //metoda pobiera najblizszy/najblizsze mecze
        {
            var matches = await GetAsyncMatchesFuture(userId);

            List <Matchh> matchh = matches.ToList();

            // warunek - jezeli lista nie jest pusta, sa zaplanowane jakies mecze na przyszlosc
            if (matchh.Count != 0)
            {
                // przypisuje pierwszy obiekt z listy
                Matchh nearestMatch = matchh[0];

                // przechodzi przez cala liste nie liczac pierwszego elementu
                for (int i = 1; i < matchh.Count(); i++)
                {
                    //warunek - jezeli data jest wieksza to przypisuje ta mniejsza czyli blizsza czasu terazniejszego
                    if (nearestMatch.MatchDate > matchh[i].MatchDate)
                    {
                        nearestMatch = matchh[i];
                    }
                }

                for (int i = 0; i < matchh.Count(); i++)
                {
                    // warunek - jezeli znajduje sie jakas data bardziej na przyszlosc w liscie to ja usuwa, przez to ze moga byc np 2 mecze w tym samym czasie
                    if (nearestMatch.MatchDate < matchh[i].MatchDate)
                    {
                        matchh.Remove(matchh[i]);
                        i--;
                    }
                }
                return(matchh);
            }
            return(null);
        }
        public async Task <int> AddAsyncMatch(Matchh match, int userId)  // metoda dodaje mecz do bazy
        {
            _context.Matches.Add(match);
            _context.SaveChanges();
            await Task.CompletedTask;

            //zwraca matchId utworzonego meczu
            int matchId = match.Id;

            return(await Task.FromResult(matchId));
        }
예제 #3
0
        public async Task <int> CreateAsyncMatch(CreateMatch matchData, int userId)  //metoda tworzaca nowy mecz
        {
            var user = await _authRepository.UserAccount(userId);

            //zera to wynik meczu zadeklarowane z gory
            var match = new Matchh(matchData.OpponentTeam, matchData.MatchDate, matchData.Place);

            match.user = user;
            int matchId = await _matchRepository.AddAsyncMatch(match, userId);

            return(matchId);
        }
 public async Task DeleteAsyncMatch(Matchh match)    // metoda usuwa mecz w bazie
 {
     _context.Matches.Remove(match);
     _context.SaveChanges();
     await Task.CompletedTask;
 }
 public async Task UpdateAsyncMatch(Matchh match)    // metoda edytuje dane meczu w bazie
 {
     _context.Matches.Update(match);
     _context.SaveChanges();
     await Task.CompletedTask;
 }