예제 #1
0
        //[RequireRoles(RoleCheckMode.Any, "ADMIN")]
        public async Task CreateGuild(CommandContext ctx, string name, [RemainingText] string args)
        {
            try
            {
                var guild = new GuildViewModel();
                guild.Name = name;

                if (!string.IsNullOrEmpty(args))
                {
                    var arguments = args.Split(" ");
                    guild.IsActive       = bool.Parse(arguments[0]);
                    guild.IsFarmingGuild = bool.Parse(arguments[1]);
                }

                await _guildService.CreateGuild(guild);

                await ctx.Message.CreateReactionAsync(EmojiHelper.WhiteCheckMark(ctx.Client)).ConfigureAwait(false);
            }
            catch (Exception ex)
            {
                string message = $"Create guild failed. Error message: {ex.Message}";
                await ctx.Message.CreateReactionAsync(EmojiHelper.X(ctx.Client)).ConfigureAwait(false);

                await ctx.Channel.SendMessageAsync(message).ConfigureAwait(false);
            }
        }
예제 #2
0
        public async Task CreateGuild(GuildViewModel guild)
        {
            var newGuild = guild.MapToEntity();

            _context.Guilds.Add(newGuild);
            await _context.SaveChangesAsync().ConfigureAwait(false);
        }
예제 #3
0
        public static GuildViewModel MapFromEntity(this Guild source, bool includeMembers = true)
        {
            if (source == null)
            {
                return(null);
            }

            var result = new GuildViewModel
            {
                Name           = source.Name,
                IsActive       = source.IsActive,
                IsFarmingGuild = source.IsFarmingGuild,
            };

            if (includeMembers)
            {
                var members = source.Members;

                result.Members     = source.Members.Select(x => x.MapFromEntity()).ToList();
                result.MemberCount = members.Count();
                result.OpenSpots   = _guildCapacity - members.Count();
            }

            return(result);
        }
        public static ExportSetupViewModel CreateExportSetupViewModel(this IViewModelFactory factory,
                                                                      GuildViewModel guild, IReadOnlyList <ChannelViewModel> channels)
        {
            var viewModel = factory.CreateExportSetupViewModel();

            viewModel.Guild    = guild;
            viewModel.Channels = channels;

            return(viewModel);
        }
예제 #5
0
        public static Guild MapToEntity(this GuildViewModel source)
        {
            if (source == null)
            {
                return(null);
            }

            return(new Guild
            {
                //Id = new Guid(),
                //DateCreated = DateTime.UtcNow,
                //DateUpdated = DateTime.UtcNow
                Name = source.Name,
                IsActive = source.IsActive,
                IsFarmingGuild = source.IsFarmingGuild,
                //Members = source.Members.Select(x => x.MapToEntity()).ToList(),
            });
        }
예제 #6
0
        public async Task <IActionResult> Index(int id)
        {
            if (id != 0)
            {
                var GuildViewModel = new GuildViewModel();

                var playerGuild = await _db.Guild.FirstOrDefaultAsync(g => g.Id == id);

                GuildViewModel.Guild = playerGuild;

                var playerList = _db.PlayerModel.Where(p => p.GuildName == playerGuild.Name).ToList();
                GuildViewModel.MemberList = playerList;

                return(View(GuildViewModel));
            }
            else
            {
                var ssPlayerModel = HttpContext.Session.GetObject <PlayerModel>("ssPlayerModel");
                var playerModel   = await _db.PlayerModel.FirstOrDefaultAsync(u => u.Id == ssPlayerModel.Id);

                if (playerModel.GuildName == null || playerModel.GuildName == "")
                {
                    var GuildViewModel = new GuildViewModel();
                    return(View(GuildViewModel));
                }
                else
                {
                    var GuildViewModel = new GuildViewModel();

                    var playerGuild = await _db.Guild.FirstOrDefaultAsync(g => g.Name == ssPlayerModel.GuildName);

                    GuildViewModel.Guild = playerGuild;

                    var playerList = _db.PlayerModel.Where(p => p.GuildName == playerGuild.Name).ToList();
                    GuildViewModel.MemberList = playerList;

                    return(View(GuildViewModel));
                }
            }
        }
 public static ExportSetupViewModel CreateExportSetupViewModel(this IViewModelFactory factory,
                                                               GuildViewModel guild, ChannelViewModel channel)
 => factory.CreateExportSetupViewModel(guild, new[] { channel });