예제 #1
0
        public async Task PrintTemplates()
        {
            var templates =
                await _recurringRaidTemplateRepository.GetAsync((qry, _) =>
                                                                qry.Include(tmp => tmp.SoftResTemplate).Where(tmp => tmp.ServerId == Context.Guild.Id));

            var pageBuilder = new PageFormatBuilder()
                              .AddColumn("Template Name")
                              .AddColumn("Instance")
                              .AddColumn("Allowed Reserves")
                              .AlternateRowColors();

            foreach (var template in templates)
            {
                pageBuilder.AddRow(new[]
                {
                    template.SoftResTemplate.Id,
                    template.SoftResTemplate.Instance,
                    template.SoftResTemplate.ReserveAmounts.ToString()
                });
            }

            await _pageService.SendPages(Context.Channel, pageBuilder.Build());
        }
예제 #2
0
        private async Task <RecurringRaidTemplate> AddOrGetRaidTemplate(bool saveChanges = true)
        {
            var config = (await _recurringRaidTemplateRepository.GetAsync((qry, _) =>
                                                                          qry.Where(cfg => cfg.ServerId == Context.Guild.Id)))
                         .FirstOrDefault();

            if (config == null)
            {
                config = new RecurringRaidTemplate
                {
                    SoftResTemplateId = string.Empty,
                    ServerId          = Context.Guild.Id,
                    ResetDayOfWeek    = (int)DayOfWeek.Monday
                };
                await _recurringRaidTemplateRepository.PostAsync(config);

                if (saveChanges)
                {
                    await _recurringRaidTemplateRepository.SaveAllChangesAsync();
                }
            }

            return(config);
        }