Ejemplo n.º 1
0
        public async void ShouldSaveCollision()
        {
            var now = DateTime.Now;
            //Given
            var collision = Collisions[0];

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

            //Then
            Assert.NotNull(collision);
            Assert.Equal(1, collision.Key);
        }
Ejemplo n.º 2
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()));
            }
        }