Example #1
0
 private static void OnLog(LogMessage logMessage)
 {
     if (LogHandlers != null)
     {
         LogHandlers.Invoke(null, new LogEventArgs(logMessage));
     }
 }
Example #2
0
        static void bootstrap()
        {
            var getUser = new Func <int, User>(id => User.FromMemento(Query.Get <UserMemento>(new ById(id))));

            // Commands
            Commands.Register <CreateUser>(createUser =>
                                           LogHandlers <CreateUser> .Log(createUser,
                                                                         () => CommandHandlers.CreateUser(createUser)));

            Commands.Register <UpdateProfile>(updateProfile =>
                                              LogHandlers <UpdateProfile> .Log(updateProfile,
                                                                               () => CommandHandlers.UpdateProfile(updateProfile, getUser(updateProfile.ID))));

            Commands.Register <AddFriend>(addFriend =>
                                          LogHandlers <AddFriend> .Log(addFriend,
                                                                       () => CommandHandlers.AddFriend(addFriend, getUser(addFriend.ID))));


            // Queries
            Query.Register <List <UserProfile>, All>(all =>
                                                     wrapWithDatabase(db => QueryHandlers.GetAllProfiles(db)));

            Query.Register <List <Friend>, ByUserId>(byUserId =>
                                                     wrapWithDatabase(db => QueryHandlers.GetFriends(byUserId.UserId, db)));

            Query.Register <UserMemento, ById>(byId =>
                                               wrapWithDatabase(db => QueryHandlers.GetuserMemento(byId.ID, db)));

            // Events
            Events.Register <ProfileUpdated>(profileUpdated =>
                                             wrapWithDatabase(db => EventHandlers.ProfileUpdated(profileUpdated, db)));

            Events.Register <UserCreated>(userCreated =>
                                          wrapWithDatabase(db => EventHandlers.UserCreated(userCreated, db)));

            Events.Register <FriendAdded>(friendAdded =>
                                          wrapWithDatabase(db => EventHandlers.FriendAdded(friendAdded, db)));
        }
Example #3
0
        private void BasicDelegateCore(LogHandlers logHandler, string message)
        {
            Logger logger = null;

            switch (logHandler)
            {
            case LogHandlers.FileLogger:
                logger = FileLogger;

                break;

            case LogHandlers.DbLogger:
                logger = DbLogger;

                break;

            default:
                logger = Console.WriteLine;

                break;
            }

            logger(message);
        }