Exemple #1
0
        /// <summary>
        /// Creates an <see cref="Action{T}"/> needed for the <see cref="GuildMemberPerformer"/> to save the guild
        /// state of a <see cref="IGuildMember"/>.
        /// </summary>
        /// <param name="dbController"></param>
        /// <returns></returns>
        static Action<IGuildMember> GetSaveHandler(IDbController dbController)
        {
            var replaceQuery = dbController.GetQuery<InsertGuildMemberQuery>();
            var deleteQuery = dbController.GetQuery<DeleteGuildMemberQuery>();

            return delegate(IGuildMember target)
            {
                if (target.Guild == null)
                {
                    var id = new CharacterID(target.ID);
                    deleteQuery.Execute(id);
                }
                else
                {
                    var id = new CharacterID(target.ID);
                    var guildID = target.Guild.ID;
                    var rank = target.GuildRank;
                    var args = new InsertGuildMemberQuery.QueryArgs(id, guildID, rank);
                    replaceQuery.Execute(args);
                }
            };
        }
Exemple #2
0
        /// <summary>
        /// Creates an <see cref="Action{T}"/> needed for the <see cref="GuildMemberPerformer"/> to save the guild
        /// state of a <see cref="IGuildMember"/>.
        /// </summary>
        /// <param name="dbController"></param>
        /// <returns></returns>
        static Action <IGuildMember> GetSaveHandler(IDbController dbController)
        {
            var replaceQuery = dbController.GetQuery <InsertGuildMemberQuery>();
            var deleteQuery  = dbController.GetQuery <DeleteGuildMemberQuery>();

            return(delegate(IGuildMember target)
            {
                if (target.Guild == null)
                {
                    var id = new CharacterID(target.ID);
                    deleteQuery.Execute(id);
                }
                else
                {
                    var id = new CharacterID(target.ID);
                    var guildID = target.Guild.ID;
                    var rank = target.GuildRank;
                    var args = new InsertGuildMemberQuery.QueryArgs(id, guildID, rank);
                    replaceQuery.Execute(args);
                }
            });
        }