Example #1
0
        internal static Embed SignupProfileEmbed(IUser user, MemberSignupData memberSignupData)
        {
            var guildUser = (SocketGuildUser)user;
            var classRole = MiscHelper.GetClassRoleOfUser(user);

            if (classRole == null)
            {
                classRole = "N/A";
            }

            var builder = new EmbedBuilder();

            var description = CreateDescription(new List <DatabaseField> {
                memberSignupData.SignupComment
            });

            builder.WithDescription(description);

            var fields = CreateInlineFields(new List <DatabaseField> {
                memberSignupData.FirstEvent,
                memberSignupData.SecondEvent,
                memberSignupData.ThirdEvent,
                memberSignupData.FourthEvent,
            });

            builder.Fields = fields;

            //builder.WithImageUrl(memberSignupData.GearLink);

            //var footer = new EmbedFooterBuilder();
            //footer.WithText($"Last updated: {memberSignupData.GearLastUpdated}");
            //builder.WithFooter(footer);

            var author = new EmbedAuthorBuilder();

            author.WithIconUrl(guildUser.GetAvatarUrl());
            author.WithName(guildUser.Nickname);
            builder.WithAuthor(author);

            builder.WithColor(Color.Red);

            return(builder.Build());
        }
        internal MemberSignupData GetSignupData(string familyName)
        {
            var row = _spreadsheet.DatabaseSheet.DatabaseRows.GetValueOrDefault(familyName);

            if (row == null)
            {
                return(null);
            }

            var columns = _supportMethods.GetColumnsOfSection(_spreadsheet.DatabaseSheet.DatabaseColumns, DatabaseColumn.ColumnSectionEnum.Signup);

            var fields = _supportMethods.GetDatabaseFieldsFromConsecutiveColumns(_spreadsheet.DatabaseSheet, columns, row);

            if (fields == null)
            {
                return(null);
            }

            var fieldsWithValues = _supportMethods.PopulateConsecutiveFieldsWithTheirSpreadsheetValues(_service, _spreadsheet.Id, fields);

            var memberData = new MemberSignupData(fieldsWithValues.Values.ToList());

            return(memberData);
        }