예제 #1
0
        private void SendEvent(ArmyNotificationDto data)
        {
            var json  = JsonConvert.SerializeObject(data);
            var bytes = Encoding.UTF8.GetBytes(json);

            channel.BasicPublish(ExchangeName, EventKey, null, bytes);
        }
예제 #2
0
 public Task NotifyThatCreatedAsync(ArmyNotificationDto data)
 {
     InitializeChannel();
     InitializeExchange();
     SendEvent(data);
     return(Task.CompletedTask);
 }
예제 #3
0
        public async Task NotifyThatCreatedAsync(IArmyNotificationService service)
        {
            var data = new ArmyNotificationDto
            {
                Squads = new List <SquadNotificationDto>()
            };

            data.OwnerLogin = OwnerLogin;
            squads.ForEach(squad => squad.FillArmyData(data));
            await service.NotifyThatCreatedAsync(data);
        }
예제 #4
0
        public void FillArmyData(ArmyNotificationDto armyData)
        {
            var squadData = new SquadNotificationDto
            {
                Weapons = new List <WeaponNotificationDto>(),
                Armors  = new List <ArmorNotificationDto>(),
                Tags    = new List <string>()
            };

            squadData.Type = Type;
            weapons.ForEach(weapon => weapon.FillSquadData(squadData));
            armors.ForEach(armor => armor.FillSquadData(squadData));
            quantity.FillSquadData(squadData);
            squadData.Tags = tags.Select(tag => tag.ToString()).ToList();
            armyData.Squads.Add(squadData);
        }