public Task <IEnumerable <PresenceProfileStatus> > FindBlockStatuses([FromBody] BuddyLookupRequest buddyLookup)
        {
            PresenceProfileLookup lookup = new PresenceProfileLookup();

            lookup.blockLookup   = true;
            lookup.profileLookup = buddyLookup.profileLookup;
            return(profileStatusRepository.Lookup(lookup));
        }
        public Task <IEnumerable <PresenceProfileStatus> > FindBuddyStatuses([FromBody] BuddyLookupRequest buddyLookup)
        {
            PresenceProfileLookup lookup = new PresenceProfileLookup();

            lookup.buddyLookup   = true;
            lookup.profileLookup = buddyLookup.profileLookup;
            if (buddyLookup.targetLookup != null)
            {
                lookup.targetLookup = buddyLookup.targetLookup;
            }
            return(profileStatusRepository.Lookup(lookup));
        }
        public async Task <PresenceProfileStatus> GetStatus([FromBody] ProfileLookup profileLookup)
        {
            PresenceProfileLookup lookup = new PresenceProfileLookup();

            lookup.profileLookup = profileLookup;
            PresenceProfileStatus status = (await profileStatusRepository.Lookup(lookup)).FirstOrDefault();

            if (status == null)
            {
                throw new NoSuchUserException();
            }
            return(status);
        }