/// <summary>
        /// Checks to make sure a facet is valid for use
        /// </summary>
        /// <param name="facet">The facet to check</param>
        /// <returns>Returns True if valid and False otherwise</returns>
        public static bool IsValid(this CommerceQueryFacet facet)
        {
            facet.Clean();

            if (facet.FoundValues.Count > 0)
            {
                return true;
            }

            return false;
        }
        public static bool IsPalindrome(this string input)
        {
            if (input == null)
            {
                return false;
            }

            var source = input.Clean();
            var resversed = source.Reverse();

            return source.Equals(resversed, StringComparison.CurrentCultureIgnoreCase);
        }
 /// <summary>
 /// Обрезает указанное количество символов из правой части (из конца) изменяемой строки и записывает изменение в этот же экземпляр
 /// </summary>
 /// <param name="Source">Входная изменяемая строка, обрезанную справа часть которой следует возвратить. 
 /// Если пустая - будет возвращена без изменений. Если NULL, будет выброшено исключение.</param>
 /// <param name="Count">Количество символов, которое должно быть обрезано справа. Если 0, обрезание не производится и возвращается входная строка. 
 /// Если равно или больше фактической длины входной строки, возвращается пустая строка. Если меньше 0 - выбрасывается исключение.</param>
 public static StringBuilder CutRight(this StringBuilder Source, Int32 Count)
 {
     if (Source == null) { throw new ArgumentNullException("Source", "Входная строка не может быть NULL"); }
     if (Count < 0) { throw new ArgumentOutOfRangeException("Count", Count, "Значение параметра меньше 0"); }
     if (Count == 0) { return Source; }
     Int32 length = Source.Length;
     if (length == 0) { return Source; }
     if (Count >= length)
     {
         Source.Clean();
         return Source;
     }
     Source.Remove((length - Count), Count);
     return Source;
 }
Exemple #4
0
        public static MethodDefinition AppendMethod(this MethodDefinition inputMethod, MethodDefinition appendMethod)
        {
            int count = inputMethod.Body.Instructions.Count;
            if (count > 0)
            {
                inputMethod.Body.GetILProcessor().Remove(inputMethod.Body.Instructions[count - 1]);
            }

            for (int x = 0; x < appendMethod.Body.Instructions.Count; x++)
            {
                inputMethod.Body.GetILProcessor().Append(appendMethod.Body.Instructions[x]);
            }
            inputMethod.Clean();
            return inputMethod;
        }
Exemple #5
0
        /// <summary>
        /// Input string must be in the format "#007FFF:0.5".
        /// Hex strings can be either 6 or eight X-chars long and may or not
        /// start with "0x" and "#".
        /// </summary>
        public static GradientStop ToGradientStop(this string input)
        {
            var data = input.Clean();
              if (!data.Contains(":")) return new GradientStop(data.ToColor(),0);
              var ray = data.Split(':');

              var offset = Double.NaN;
              var result = new GradientStop{
            Color=ray[0].ToColor(),
            Offset = double.TryParse(ray[1], out offset) ? offset : 0
              };

              ray = null;
              data = null;
              return result;
        }
 /// <summary>
 /// Удаляет из изменяемой строки все начальные и конечные пробелы и записывает изменение в этот же экземпляр
 /// </summary>
 /// <param name="Source">Входная изменяемая строка. Если NULL, будет выброшено исключение. Если пустая, будет возвращена без изменений.</param>
 /// <returns></returns>
 public static StringBuilder Trim(this StringBuilder Source)
 {
     if (Source == null) { throw new ArgumentNullException("Source", "Входная строка не может быть NULL"); }
     Int32 source_len = Source.Length;
     if (source_len < 1) { return Source; }
     Int32 chars_to_remove_from_start = 0;
     for (Int32 i = 0; i < source_len; i++)
     {
         if (Char.IsWhiteSpace(Source[i]) == true)
         {
             ++chars_to_remove_from_start;
         }
         else
         {
             break;
         }
     }
     if (chars_to_remove_from_start == source_len)
     {
         Source.Clean();
         return Source;
     }
     Int32 chars_to_remove_from_end = 0;
     for (Int32 i = source_len - 1; i > chars_to_remove_from_start; i--)
     {
         if (Char.IsWhiteSpace(Source[i]) == true)
         {
             ++chars_to_remove_from_end;
         }
         else
         {
             break;
         }
     }
     if (chars_to_remove_from_start > 0)
     {
         Source.Remove(0, chars_to_remove_from_start);
     }
     if (chars_to_remove_from_end > 0)
     {
         Source.Remove(Source.Length - chars_to_remove_from_end, chars_to_remove_from_end);
     }
     return Source;
 }
 static internal string Clean(this string source, char start)
 {
     return source.Clean(start, start);
 }
 static internal string CleanBracket(this string source)
 {
     return source.Clean('(', ')');
 }
 public static string Clean(this string input)
 {
     return input.Clean(true);
 }
Exemple #10
0
 public static int RemoveInvalidOpCodes(this MethodDefinition method)
 {
     List<Instruction> InstToRemove =
         method.Body.Instructions.Where(t => t.OpCode == OpCodes.Invalid).ToList();
     foreach (Instruction t in InstToRemove)
     {
         method.Body.GetILProcessor().Remove(t);
         //method.Body.GetILProcessor().Replace(t, method.Body.GetILProcessor().Create(OpCodes.Nop));
     }
     method.Clean();
     return InstToRemove.Count;
 }
 public static void Clean(this AdHocSchedulesMessageCleaner cleaner, ProcessFile message)
 {
     cleaner.Clean(message.FullPath);
 }
        public static string ToExcerpt(this string text)
        {
            if (string.IsNullOrEmpty(text)) return string.Empty;

            return text.Length > 200 ? text.Substring(0, 200).Clean() : text.Clean();
        }
Exemple #13
0
        /// <summary>
        /// I'm assuming ColorConverter parses your typical WPF Color value definition
        /// which includes the hash "#FF000000"={Color: A=255, R=0, G=0, B=0}.
        /// </summary>
        /// <remarks>
        /// This is merely here to point out ColorConverter.ConvertFromString method.
        /// </remarks>
        /// <seealso cref="System.Windows.Media.ColorConverter.ConvertFromString(string)"/>
        static int ToColorInt(this string color, bool ignoreAlphaChannel)
        {
            var value = color.Clean();
              bool hasAlpha = (value.Length==8);

              var c = (Color)ColorConverter.ConvertFromString(color);
              return !ignoreAlphaChannel||hasAlpha ?
            (c.A << 24) + (c.R << 16) + (c.G << 8) + c.B:
            (c.R << 16) + (c.G << 8) + c.B;
        }