public object Get(UserProfile request)
        {
            var session = base.UserSession;

            var userProfile = session.TranslateTo<UserProfile>();
            userProfile.Id = int.Parse(session.UserAuthId);

            var user = Db.QueryById<User>(userProfile.Id);
            userProfile.PopulateWith(user);

            return new UserProfileResponse {
                Result = userProfile
            };
        }
        public object Get(UserProfile request)
        {
            var session = base.UserSession;

            var userProfile = session.TranslateTo<UserProfile>();
            userProfile.Id = int.Parse(session.UserAuthId);

            var user = Db.QueryById<User>(userProfile.Id);
            userProfile.PopulateWith(user);

            var userAuths = Db.Select<UserOAuthProvider>("UserAuthId = {0}", session.UserAuthId.ToInt());

            var googleAuth = userAuths.FirstOrDefault(x => x.Provider == GoogleOpenIdOAuthProvider.Name);
            if (googleAuth != null)
            {
                userProfile.GoogleUserId = googleAuth.UserId;
                userProfile.GoogleFullName = googleAuth.FullName;
                userProfile.GoogleEmail = googleAuth.Email;
            }

            var yahooAuth = userAuths.FirstOrDefault(x => x.Provider == YahooOpenIdOAuthProvider.Name);
            if (yahooAuth != null)
            {
                userProfile.YahooUserId = yahooAuth.UserId;
                userProfile.YahooFullName = yahooAuth.FullName;
                userProfile.YahooEmail = yahooAuth.Email;
            }

            return new UserProfileResponse {
                Result = userProfile
            };
        }
        public object Get(UserProfile request)
        {
            var session = base.UserSession;

            var userProfile = session.ConvertTo<UserProfile>();
            userProfile.Id = int.Parse(session.UserAuthId);

            var user = Db.SingleById<User>(userProfile.Id);
            userProfile.PopulateWith(user);

            var userAuths = Db.Select<UserAuthDetails>(q => q.UserAuthId == session.UserAuthId.ToInt());

            var yahooAuth = userAuths.FirstOrDefault(x => x.Provider == YahooOpenIdOAuthProvider.Name);
            if (yahooAuth != null)
            {
                userProfile.YahooUserId = yahooAuth.UserId;
                userProfile.YahooFullName = yahooAuth.FullName;
                userProfile.YahooEmail = yahooAuth.Email;
            }

            return new UserProfileResponse
            {
                Result = userProfile
            };
        }