Example #1
0
        internal virtual string GetPropertyString(CommonCmdletBase cmdlet, PropertyInfo propertyInfo)
        {
            string result = string.Empty;

            if (null == propertyInfo)
            {
                return(result);
            }

            object tempResult = string.Empty;

            try {
                tempResult = propertyInfo.GetValue(cmdlet, null) ?? string.Empty;
            } catch (Exception) {
                return(string.Empty);
            }

            if (string.IsNullOrEmpty(tempResult.ToString()))
            {
                return(result);
            }

            result += " -";
            result += propertyInfo.Name;
            result += " ";

            string tempString = string.Empty;

            switch (tempResult.GetType().Name)
            {
            case "String":
                result += "\"";
                result += tempResult;
                result += "\"";
                return(result);

            case "String[]":
                tempString = string.Empty;
                foreach (string singleElement in tempResult as IEnumerable)
                {
                    tempString += ",";
                    tempString += singleElement;
                }
                if (0 < tempString.Length)
                {
                    tempString = tempString.Substring(1);
                }
                result += tempString;
                return(result);

            case "IUiElement":
                var convertCmdlet =
                    new ConvertToUiaSearchCriteriaCommand {
                    Full = true
                };
                // result += "\r\n\t";
                result += convertCmdlet.ConvertElementToSearchCriteria((IUiElement)tempResult);
                // result += "\r\n\t";
                return(result);

            case "IUiElement[]":
                var convertCmdlet2 =
                    new ConvertToUiaSearchCriteriaCommand {
                    Full = true
                };
                foreach (IUiElement element in tempResult as IUiElement[])
                {
                    // result += "\r\n\t";
                    result += convertCmdlet2.ConvertElementToSearchCriteria(element);
                    // result += "\r\n\t";
                }
                return(result);

            case "Int32":
                result += tempResult.ToString();
                return(result);

            case "SwitchParameter":
                bool tempBool = (SwitchParameter)tempResult;
                result += tempBool ? "$true" : "$false";
                return(result);

            case "Hashtable":
                result += ConvertHashtableToString((Hashtable)tempResult);
                return(result);

            case "Hashtable[]":
                tempString = string.Empty;
                foreach (Hashtable hashtable in (tempResult as Hashtable[]))
                {
                    tempString += ",";
                    tempString += ConvertHashtableToString(hashtable);
                }
                if (0 < tempString.Length)
                {
                    tempString = tempString.Substring(1);
                }
                result += tempString;
                return(result);

            default:
                result += tempResult.ToString();
                return(result);
            }
        }
Example #2
0
 internal virtual string GetPropertyString(CommonCmdletBase cmdlet, PropertyInfo propertyInfo)
 {
     string result = string.Empty;
     
     if (null == propertyInfo) return result;
     
     object tempResult = string.Empty;
     try {
         tempResult = propertyInfo.GetValue(cmdlet, null) ?? string.Empty;
     } catch (Exception) {
         
         return string.Empty;
     }
     
     if (string.IsNullOrEmpty(tempResult.ToString())) return result;
     
     result += " -";
     result += propertyInfo.Name;
     result += " ";
     
     string tempString = string.Empty;
     
     switch (tempResult.GetType().Name) {
         case "String":
             result += "\"";
             result += tempResult;
             result += "\"";
             return result;
         case "String[]":
             tempString = string.Empty;
             foreach (string singleElement in tempResult as IEnumerable) {
                 tempString += ",";
                 tempString += singleElement;
             }
             if (0 < tempString.Length) tempString = tempString.Substring(1);
             result += tempString;
             return result;
         case "IUiElement":
             var convertCmdlet =
                 new ConvertToUiaSearchCriteriaCommand {
                 Full = true
             };
             // result += "\r\n\t";
             result += convertCmdlet.ConvertElementToSearchCriteria((IUiElement)tempResult);
             // result += "\r\n\t";
             return result;
         case "IUiElement[]":
             var convertCmdlet2 =
                 new ConvertToUiaSearchCriteriaCommand {
                 Full = true
             };
             foreach (IUiElement element in tempResult as IUiElement[]) {
                 // result += "\r\n\t";
                 result += convertCmdlet2.ConvertElementToSearchCriteria(element);
                 // result += "\r\n\t";
             }
             return result;
         case "Int32":
             result += tempResult.ToString();
             return result;
         case "SwitchParameter":
             bool tempBool = (SwitchParameter)tempResult;
             result += tempBool ? "$true" : "$false";
             return result;
         case "Hashtable":
             result += ConvertHashtableToString((Hashtable)tempResult);
             return result;
         case "Hashtable[]":
             tempString = string.Empty;
             foreach (Hashtable hashtable in (tempResult as Hashtable[])) {
                 tempString += ",";
                 tempString += ConvertHashtableToString(hashtable);
             }
             if (0 < tempString.Length) tempString = tempString.Substring(1);
             result += tempString;
             return result;
         default:
             result += tempResult.ToString();
             return result;
     }
 }