Example #1
0
 public HeartGroup ToBusiness(Entities.HeartGroup heartGroup)
 {
     return(new HeartGroup
     {
         HeartGroupId = heartGroup.HeartGroupId,
         Name = heartGroup.Name
     });
 }
Example #2
0
        public async Task <Heartbeat> CreateHeartbeatAsync(string heartGroupName, string heartName, CancellationToken token)
        {
            var now = _systemClock.UtcNow;

            var heart = await _context
                        .Hearts
                        .Include(x => x.HeartGroup)
                        .FirstOrDefaultAsync(x => x.HeartGroup.Name == heartGroupName && x.Name == heartName, token);

            if (heart == null)
            {
                var heartGroup = await _context
                                 .HeartGroups
                                 .FirstOrDefaultAsync(x => x.Name == heartGroupName, token);

                if (heartGroup == null)
                {
                    heartGroup = new Entities.HeartGroup {
                        Name = heartGroupName
                    };
                }

                heart = new Entities.Heart {
                    HeartGroup = heartGroup, Name = heartName
                };
            }

            var heartbeat = new Entities.Heartbeat
            {
                Heart = heart,
                Time  = TimeUtilities.DateTimeOffsetToLong(now)
            };

            _context.Heartbeats.Add(heartbeat);

            await _context.SaveChangesAsync(token);

            return(_entityMapper.ToBusiness(heartbeat));
        }