예제 #1
0
        private AuthHandleItem FindFreeAuthHandle(AuthHandleItem.AuthHandleStatus status)
        {
            foreach (AuthHandleItem handle in _authHandles.FindAuthHandles(status))
            {
                if (handle.AssociatedCommand == null)
                {
                    return(handle);
                }
            }

            return(null);
        }
예제 #2
0
        /// <summary>
        /// Finds the Auth handles with the specified status
        /// </summary>
        /// <remarks>
        /// The returned list is sorted by last used time
        /// </remarks>
        /// <param name="status"></param>
        /// <returns></returns>
        public List <AuthHandleItem> FindAuthHandles(AuthHandleItem.AuthHandleStatus status)
        {
            List <AuthHandleItem> items = new List <AuthHandleItem>();

            foreach (AuthHandleItem handle in _authHandles)
            {
                if (handle.Status == status)
                {
                    items.Add(handle);
                }
            }

            items.Sort(delegate(AuthHandleItem left, AuthHandleItem right)
            {
                return(left.LastUsed.CompareTo(right.LastUsed));
            }
                       );

            return(items);
        }