Esempio n. 1
0
        public async Task <IActionResult> PostAsync([FromBody] CollisionDTO value)
        {
            var now = DateTime.Now;

            try
            {
                var collision = await FillCollision(value);

                collision.LastSeen = now;

                var existing = await CollisionRepository.Find(value.Date, collision.Location);

                if (existing != null)
                {
                    collision.Key       = existing.Key;
                    collision.FirstSeen = existing.FirstSeen == DateTime.MinValue ? now : existing.FirstSeen;
                    await CollisionRepository.Update(collision);
                }
                else
                {
                    collision.FirstSeen = now;
                    await CollisionRepository.Add(collision);
                }

                return(Ok(Mapper.Map <CollisionDTO>(collision)));
            }
            catch (Exception e)
            {
                Logger.LogError("Error adding collision:\n{message}", e.Message);
                return(BadRequest(e.ToString()));
            }
        }
Esempio n. 2
0
        public async void ShouldUpdateCollision()
        {
            //Given
            var collision = Collisions[0];

            collision.Helmet = true;
            //When
            await Repository.Add(collision);

            collision.Helmet = false;
            await Repository.Update(collision);

            collision = await Repository.Find(1);

            //Then
            Assert.Equal(1, await Repository.Count());
            Assert.Equal(false, collision.Helmet);
        }