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; }
public Filter(Filter.Type filterType) { SetFilterSettings(filterType); currentType = filterType; }
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); }
public static void ReportBadFilter(string filter, Filter.Type type) => Instance.ReportBadFilterImpl(filter, type);