Пример #1
0
        public void AddNewLapTime(AddNewLapTimeRequest request)
        {
            var track = _context.Tory.Any(t => t.IdTor == request.IdTor);

            if (!track)
            {
                throw new NoTrackException($"Track with id = {request.IdTor} does not exist!");
            }
            var gokart = _context.Gokarty.Any(g => g.IdGokart == request.IdGokart);

            if (!gokart)
            {
                throw new NoGokartException($"Gokart with id = {request.IdGokart} does not exist!");
            }

            var driver = _context.Kierowcy.Any(k => k.IdKierowca == request.IdKierowca);

            if (!driver)
            {
                throw new NoDriverException($"Driver with id = {request.IdKierowca} does not exist!");
            }

            if (request.DataPrzejazdu.CompareTo(DateTime.Now) > 0)
            {
                throw new DateIsLaterThanNowException($"Date {request.DataPrzejazdu} is later than current date!");
            }

            var newLap = new Przejazd
            {
                Czas          = TimeSpan.Parse(request.Czas),
                DataPrzejazdu = request.DataPrzejazdu,
                IdTor         = request.IdTor,
                IdGokart      = request.IdGokart,
                IdKierowca    = request.IdKierowca
            };

            /*
             *  Przykładowy request z Postmana
             *
             *  "Czas": "00:04:00.089",
             *  "DataPrzejazdu":"2019-06-17T14:37:39.000",
             *  "IdTor": 3,
             *  "IdGokart": 3,
             *  "IdKierowca": 1
             */

            _context.Przejazdy.Add(newLap);
            _context.SaveChanges();
        }
Пример #2
0
        public override void DodajPrzejazdDoListy(Przejazd przejazd)
        {
            if (listaPrzejazdow.Count == 0)
            {
                listaPrzejazdow.Add(przejazd);
                return;
            }

            for (var i = 0; i < listaPrzejazdow.Count; i++)
            {
                if (listaPrzejazdow[i].CzasNastepnejAkcji > przejazd.CzasNastepnejAkcji)
                {
                    listaPrzejazdow.Insert(i, przejazd);
                    break;
                }
            }
        }
Пример #3
0
 public void DodajPrzejazdDoHistorii(Przejazd przejazd)
 {
     historiaPrzejazdow.Add(przejazd);
 }