コード例 #1
0
 private void filterOpDropBox_SelectedIndexChanged(object sender, EventArgs e)
 {
     checkedType                     = (Filter.Type)Enum.Parse(opType, filterOpDropBox.SelectedItem.ToString());
     rangeMinMatchLbl.Text           = checkedType == Filter.Type.WithinRange ? "Minimum value:" : "               Value:";
     rangeMaxLbl.Visible             =
         rangeMaxLbl.Enabled         =
             rangeMaxBox.Enabled     =
                 rangeMaxBox.Visible =
                     checkedType == Filter.Type.WithinRange;
 }
コード例 #2
0
 public Filter(Filter.Type filterType)
 {
     SetFilterSettings(filterType);
     currentType = filterType;
 }
コード例 #3
0
        private bool PerformFilter(Filter.InputType inType, Filter.Type opType, string minMatchValue, string valMax, string compValue)
        {
            bool   shouldWrite = false;
            object value       = new object();
            object maxValue    = new object();
            object columnValue = new object();

            if (inType == Filter.InputType.Numeric)
            {
                compValue   = compValue.Replace("$", "").Replace(",", "").Replace("\"", "").Trim();
                value       = double.Parse(minMatchValue);
                columnValue = double.Parse(compValue);
                maxValue    = opType == Filter.Type.WithinRange ? double.Parse(valMax) : 0;
            }
            else if (inType == Filter.InputType.String)
            {
                value       = minMatchValue;
                columnValue = compValue;
            }
            else if (inType == Filter.InputType.DaysOld)
            {
                TimeSpan timeToRemove = new TimeSpan(int.Parse(minMatchValue), 0, 0, 0);
                TimeSpan spanMax      = opType == Filter.Type.WithinRange ? new TimeSpan(int.Parse(valMax), 0, 0, 0) : new TimeSpan();

                columnValue = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 0, 0, 0).Subtract(timeToRemove).Date.Ticks;
                value       = DateTime.Parse(compValue).Date.Ticks;
                maxValue    = opType == Filter.Type.WithinRange ? new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 0, 0, 0).Subtract(spanMax).Date.Ticks : 0;
            }
            else if (inType == Filter.InputType.FromDate)
            {
                columnValue = DateTime.Parse(compValue).Date.Ticks;
                value       = DateTime.Parse(minMatchValue).Date.Ticks;
                maxValue    = opType == Filter.Type.WithinRange ? DateTime.Parse(valMax).Date.Ticks : 0;
            }
            else if (inType == Filter.InputType.LineRemover)
            {
                columnValue = (long)curIndex;
                value       = long.Parse(minMatchValue);
                maxValue    = opType == Filter.Type.WithinRange ? long.Parse(valMax) : 0;
            }

            if (opType == Filter.Type.GreaterThan)
            {
                shouldWrite = (long)columnValue > (long)value;
            }

            else if (opType == Filter.Type.LesserThan)
            {
                shouldWrite = (long)columnValue < (long)value;
            }

            else if (opType == Filter.Type.GreaterThanOrEqualTo)
            {
                shouldWrite = (long)columnValue >= (long)value;
            }

            else if (opType == Filter.Type.LessThanOrEqualTo)
            {
                shouldWrite = (long)columnValue <= (long)value;
            }
            else if (opType == Filter.Type.WithinRange)
            {
                shouldWrite = opType == Filter.Type.WithinRange && (long)columnValue >= (long)value && (long)columnValue <= (long)maxValue;
            }
            if (opType == Filter.Type.EqualTo)
            {
                shouldWrite = columnValue == value;
            }
            else if (opType == Filter.Type.NotEqualTo)
            {
                shouldWrite = columnValue != value;
            }
            else if (opType == Filter.Type.StartsWith)
            {
                shouldWrite = columnValue.ToString().StartsWith(value.ToString());
            }
            else if (opType == Filter.Type.Contains)
            {
                shouldWrite = columnValue.ToString().Contains(value.ToString());
            }
            if (inType == Filter.InputType.LineRemover)
            {
                return(!shouldWrite);
            }
            return(shouldWrite);
        }
コード例 #4
0
 public static void ReportBadFilter(string filter, Filter.Type type) => Instance.ReportBadFilterImpl(filter, type);