public void AddBadge(AddBadgeRequestDto request)
        {
            var system = _context.Systems
                         .Include(x => x.Badges)
                         .FirstOrDefault(x => x.ExternalId == request.SystemExternalId);

            var newBadge = new Badge(request.Name, request.Description, request.SymbolUrl, request.AwardedXp);

            system.Badges.Add(newBadge);
            _context.SaveChanges();
        }
 public override void AddBadge(AddBadgeRequestDto request)
 {
     try
     {
         base.AddBadge(request);
     }
     catch (Exception ex)
     {
         _log.LogError(ex.Message, ex);
         throw;
     }
 }
        public override void AddBadge(AddBadgeRequestDto request)
        {
            base.AddBadge(request);

            //Log event
            var system = _context.Systems
                         .FirstOrDefault(x => x.ExternalId == request.SystemExternalId);
            var ev = new Event
            {
                System = system
            };

            ev.SetName($"Badge '{request.Name}' was added!");
            ev.SetTimestamp(DateTime.UtcNow);
            ev.SetType(EventType.BadgeAdded);

            _logger.LogEvent($"Badge '{request.Name}' was added!", ev);
        }
Пример #4
0
        public override void AddBadge(AddBadgeRequestDto request)
        {
            var system = _context.Systems
                         .AsNoTracking()
                         .FirstOrDefault(x => x.ExternalId == request.SystemExternalId);

            if (system == null)
            {
                throw new SystemNotFoundException(request.SystemExternalId, $"External Id '{request.SystemExternalId}' is not valid.", "AddBadgeRequestDto.SystemExternalId");
            }
            var existingBadge = system.Badges
                                .Where(x => x.SystemId == system.Id)
                                .FirstOrDefault(x => x.Name == request.Name);

            if (existingBadge != null)
            {
                throw new EntityExistsException(existingBadge.GetType().Name, $"Badge '{request.Name}' already exists.", "AddBadgeRequestDto.Name");
            }

            base.AddBadge(request);
        }
Пример #5
0
 public virtual void AddBadge(AddBadgeRequestDto request)
 {
     _inner.AddBadge(request);
 }