/// <summary> /// Check: asserted value SAME AS otherThing /// </summary> /// <param name="otherThing">check value</param> public void TheSame(IComparable otherThing) { bool result = thing.Equals(otherThing); if (negated) { result = !result; } if (!result) { throw new AssertionException($"Expected {thing}{(negated ? " not" : "") } to be the same as {otherThing}."); } }
public void Remove(T givenT) { if (givenT != null) { if (m_dictionary.ContainsKey(givenT)) { Dictionary <T, int> tempDict = new Dictionary <T, int>(); T[] myArray = GetOrderedArray(); int index = 0; for (int i = 0; i < myArray.Length; i++) { if (!IComparable.Equals(myArray[i], givenT)) { tempDict.Add(myArray[i], index); lastItem = myArray[i]; index++; } else { if (i == myArray.Length - 1 && i > 1) { lastItem = myArray[i - 1]; } } } m_dictionary = tempDict; } } }
/// <summary> /// Shortcut for validating a if a potential floating point value is close enough to another addValue using the given tolerance tolerance. /// </summary> public static bool IsNearEqual(IComparable a, IComparable b, IComparable tolerance) { if (a is null) { throw new NullReferenceException(); } if (b is null) { throw new ArgumentNullException(nameof(b)); } Contract.EndContractBlock(); if (a.Equals(b)) { return(true); } return(a switch { float f => IsNearEqual(f, (float)b, (float)tolerance), double d => IsNearEqual(d, (double)b, (double)tolerance), decimal @decimal => IsNearEqual(@decimal, (decimal)b, (decimal)tolerance), _ => throw new InvalidCastException(), });
public void CheckEqualCompHash(IComparable o1, IComparable o2) { if (o1.Equals(o2)) { Assert.IsTrue(o2.Equals(o1), "Equals reflexivity (true)"); Assert.IsTrue(o1.CompareTo(o2) == 0, "Equals consistency 1 (true)"); Assert.IsTrue(o2.CompareTo(o1) == 0, "Equals (ref) consistency 1 (true)"); Assert.IsTrue(o1.GetHashCode() == o2.GetHashCode(), "Equals Hash consistency 1"); } else { Assert.IsFalse(o2.Equals(o1), "Equals reflexivity (false)"); Assert.IsFalse(o1.CompareTo(o2) == 0, "Equals consistency 1 (false)"); Assert.IsTrue(o2.CompareTo(o1) != 0, "Equals (ref) consistency 1 (false)"); } }
/// <summary> /// 是否接近相等。使用给定的公差来验证潜在浮点值是否足够接近另外一个值 /// </summary> /// <param name="a">比较的值</param> /// <param name="b">比较的值</param> /// <param name="tolerance">公差</param> /// <exception cref="NullReferenceException"></exception> /// <exception cref="ArgumentNullException"></exception> public static bool IsNearEqual(this IComparable a, IComparable b, IComparable tolerance) { if (a == null) { throw new NullReferenceException(); } if (b == null) { throw new ArgumentNullException(nameof(b)); } Contract.EndContractBlock(); if (a.Equals(b)) { return(true); } return(false); //return a switch //{ // float f => IsNearEqual(f, (float)b, (float)tolerance), // double d => IsNearEqual(d, (double)b, (double)tolerance), // decimal @decimal => IsNearEqual(@decimal, (decimal)b, (decimal)tolerance), // _ => throw new InvalidCastException(), //}; }
public static IEnumerable <T> MaxBy <T>(this IEnumerable <T> me, Func <T, IComparable> comparison, float percentage = default(float)) { var analyzedList = me.Select(x => new { val = x, com = comparison(x) }); IComparable max = analyzedList.Max(x => x.com); return(analyzedList.Where(x => IComparable.Equals(x.com, max)).Select(x => x.val)); }
public void ScalarMultiplication() { IVector <DoubleComponent> ScalarMultiplicationArgument = MatrixFactory <DoubleComponent> .CreateVector3D(5.0f, 4.0f, 3.0f); Assert.IsTrue(ScalarMultiplicationArgument.Multiply(-.5) .Equals( MatrixFactory <DoubleComponent> .CreateVector3D(2.5f, 2.0f, 1.5f).Negative()) ); Assert.IsTrue( ScalarMultiplicationArgument.Multiply(-.5) .Equals( MatrixFactory <DoubleComponent> .CreateVector3D(2.5f, 2.0f, 1.5f).Negative()) ); Assert.IsTrue( ScalarMultiplicationArgument.Multiply(5) .Equals( MatrixFactory <DoubleComponent> .CreateVector3D(25.0f, 20.0f, 15.0f)) ); IVector <DoubleComponent> Point3 = MatrixFactory <DoubleComponent> .CreateVector3D(2, 3, 4); Point3.MultiplyEquals(6); Assert.IsTrue(IComparable <IVector <DoubleComponent> > .Equals(Point3, MatrixFactory <DoubleComponent> .CreateVector3D(12, 18, 24))); }
protected override ValidationResult IsValid(object value, ValidationContext validationContext) { if (value != null) { IComparable comparable = value as IComparable; if (comparable == null) { throw new InvalidOperationException("The comparison value must implement System.IComparable interface."); } object otherValue = GetValue(validationContext); bool result = !comparable.Equals(otherValue); if (result) { return(null); } else { return(new ValidationResult(ErrorMessage)); } } return(null); }
private bool IsNonNullMatch(IComparable boPropertyValue, IComparable compareToValue) { switch (ComparisonOperator) { case ComparisonOp.Equals: return(boPropertyValue.Equals(compareToValue)); case ComparisonOp.GreaterThan: return(boPropertyValue.CompareTo(compareToValue) > 0); case ComparisonOp.LessThan: return(boPropertyValue.CompareTo(compareToValue) < 0); case ComparisonOp.NotEquals: return(!boPropertyValue.Equals(compareToValue)); case ComparisonOp.LessThanEqual: return(boPropertyValue.CompareTo(compareToValue) <= 0); case ComparisonOp.GreaterThanEqual: return(boPropertyValue.CompareTo(compareToValue) >= 0); case ComparisonOp.Like: return(IsLikeMatch(boPropertyValue, compareToValue)); case ComparisonOp.NotLike: return(!IsLikeMatch(boPropertyValue, compareToValue)); case ComparisonOp.Is: return(boPropertyValue == null); //if boPropertyValue not null then always return false. case ComparisonOp.IsNot: return(boPropertyValue != null); //if boPropertyValue null then always return false. case ComparisonOp.In: return(compareToValue.CompareTo(boPropertyValue) == 0); case ComparisonOp.NotIn: return(compareToValue.CompareTo(boPropertyValue) != 0); default: throw new HabaneroDeveloperException("There is an application exception please contact your system administrator" , "The operator " + ComparisonOperator + " is not supported by the application"); } }
private bool Compare(IComparable value1 /*torrent value*/, IComparable value2 /*definition*/) { switch (this.Comparison) { case ParameterComparison.Equal: return(value1.Equals(value2)); case ParameterComparison.NotEqual: return(!value1.Equals(value2)); case ParameterComparison.Minimum: return(value1.CompareTo(value2) >= 0); case ParameterComparison.Maximum: return(value1.CompareTo(value2) <= 0); } return(false); }
protected override IComparable GetBranchingValue(IComparable LHS, IComparable RHS) { if ((LHS == null && RHS != null) || (LHS != null && RHS == null)) { return(true); } return(!LHS.Equals(RHS)); }
public override IAssert AreEqual(IComparable expected, IComparable actual, string message = null) { if (expected.Equals(actual)) { throw new AssertException(ExpectedActualMessage(message, null, expected, null, null, actual, null)); } return this; }
/// <summary> /// Tries to compare the two objects, but will throw an exception if it fails. /// </summary> /// <returns>True on success, otherwise False.</returns> public static bool GetEqualsResult(IComparable value, IComparable valueToCompare) { int result; if (TryCompare(value, valueToCompare, out result)) { return result == 0; } return value.Equals(valueToCompare); }
public static void BidirectionalEquality <T>( IComparable <T> first, IComparable <T> second, bool equal ) { Assert.AreEqual(equal, first.Equals(second)); Assert.AreEqual(equal, second.Equals(first)); }
/// <summary> /// left op right => true/false /// 1 < 2 => true /// </summary> /// <param name="left"></param> /// <param name="op"></param> /// <param name="right"></param> /// <returns></returns> public static bool Compare(IComparable left, string op, IComparable right) { switch (op) { case "<": return(left.CompareTo(right) < 0); case ">": return(left.CompareTo(right) > 0); case "<=": return(left.CompareTo(right) <= 0); case ">=": return(left.CompareTo(right) >= 0); case "==": return(left.Equals(right)); case "!=": return(!left.Equals(right)); default: throw new ArgumentException("Invalid comparison operator: {0}", op); } }
/// <summary> /// Compares the values of two objects and returns true if the values are different /// </summary> /// <param name="value1">The first value.</param> /// <param name="value2">The second value.</param> /// <returns>True if values DIFFER</returns> /// <example> /// object o1 = "Hello"; /// object o2 = "World"; /// object o3 = 25; /// ObjectHelper.ValuesDiffer(o1, o2); // returns true; /// ObjectHelper.ValuesDiffer(o1, o3); // returns true; /// </example> /// <remarks> /// This method has been created to be easily able to compare objects of unknown types. /// In particular, this is useful when comparing two fields in a DataSet. /// This method can even handle byte arrays. /// </remarks> public static bool ValuesDiffer(object value1, object value2) { if (value1 == null) { throw new ArgumentNullException("value1"); } if (value2 == null) { throw new ArgumentNullException("value2"); } bool fieldsDiffer = false; IComparable comparableValue = value1 as IComparable; IComparable comparableValue2 = value2 as IComparable; bool result; if (comparableValue != null && comparableValue2 != null) { result = !comparableValue.Equals(comparableValue2); } else { byte[] array = value1 as byte[]; byte[] array2 = value2 as byte[]; if (array != null && array2 != null) { if (array.Length != array2.Length) { result = true; } else { result = array.Where((byte t, int arrayCounter) => t != array2[arrayCounter]).Any <byte>(); } } else { try { bool v1IsNull = value1 is DBNull; bool v2IsNull = value2 is DBNull; if ((v1IsNull && !v2IsNull) || (!v1IsNull && v2IsNull)) { result = true; return(result); } } catch (InvalidCastException) { fieldsDiffer = true; } result = fieldsDiffer; } } return(result); }
protected virtual WorkflowStateManager <S> RunStateMachine(HttpRequestBase request, WorkflowStateManager <S> stateManager) { while (true) { var nextState = stateManager.GetNextState(); if (IComparable.Equals(nextState, this.Workflow.State) != true) { this.Workflow.State = nextState; stateManager = this.GetWorkflowStateManager(); } else { if (OnBeforeRequire != null) { OnBeforeRequire.Invoke(this.Workflow, stateManager); } stateManager.Require(); if (OnAfterRequire != null) { OnAfterRequire.Invoke(this.Workflow, stateManager); } if (stateManager.GetActionResult(request) != null) { break; } else { if (OnBeforeProcess != null) { OnBeforeProcess.Invoke(this.Workflow, stateManager); } stateManager.Process(request.Form, this.ContextInfo.DefaultModelBinder); if (OnAfterProcess != null) { OnAfterProcess.Invoke(this.Workflow, stateManager); } if (OnBeforeEnsure != null) { OnBeforeEnsure.Invoke(this.Workflow, stateManager); } stateManager.Ensure(); if (OnAfterEnsure != null) { OnAfterEnsure.Invoke(this.Workflow, stateManager); } } } } return(stateManager); }
/// <summary> /// Tries to compare the two objects, but will throw an exception if it fails. /// </summary> /// <returns>True on success, otherwise False.</returns> public static bool GetEqualsResult(IComparable value, IComparable valueToCompare) { int result; if (TryCompare(value, valueToCompare, out result)) { return(result == 0); } return(value.Equals(valueToCompare)); }
public override bool Equals(object obj) { var arrayElement = obj as ArrayElement; if (arrayElement == null) { return(false); } if (!_element.Equals(arrayElement._element)) { return(false); } return(_index.Equals(arrayElement._index)); }
protected bool SetCollection <T, IT>(ref T oldVal, T newVal, [CallerMemberName] string propertyName = null) where T : ObservableCollection <IT> { if (oldVal == null && newVal == null) { return(false); // No change here. } if (IComparable <object> .Equals(oldVal, newVal)) { return(false); // They are the same object. } // Assume that the contents are different OnPropertyChanging(propertyName); oldVal = newVal; OnPropertyChanged(propertyName); return(true); }
public override bool Equals(object o) { if (o == null || !(o is SimpleCompareKey)) { return(false); } var ckey = (SimpleCompareKey)o; if (_key == null && ckey._key == null) { return(true); } return(_key != null && _key.Equals(ckey._key)); }
//finds the key and returns index in the table public int search(TKey key) { int i = 0; do { //calculate index int index = _double_hash(key, i); if (IComparable.Equals(_table[index].key, key)) { return(index); } i++; } while (i < _size); return(-1); }
//Busca por Contenido public void FindNode(T val) { GenericNode <T> n = Root; int pos = 0; while (n.Next != null) { if (IComparable <T> .Equals(n.Val, val)) { Console.WriteLine("Se encontro el valor {0}, en la posicion: {1}", n.Val, pos); return; } pos++; n = n.Next; } Console.WriteLine("No se encontro el valor"); }
IEnumerable <T> IIndex <T> .WhereEqual(T item) { int hashCode = item.GetHashCode(); IComparable propertyValue = _theProp.GetValue(item, null) as IComparable; LoadOnDemandIndex(); if (_index.ContainsKey(hashCode)) { foreach (T itemFromIndex in _index[hashCode]) { IComparable propertyValueFromIndex = _theProp.GetValue(itemFromIndex, null) as IComparable; if (propertyValue.Equals(propertyValueFromIndex)) { yield return(itemFromIndex); } } } }
private bool WhereEquals(object value, object value1) { if (value == value1) { return(true); } if (value == null || value1 == null) { return(false); } if (value is string) { return((value == null ? "" : value.ToString()).ToString().EqualsOrNullEmpty(value1 == null ? "" : value1.ToString(), StringComparison.OrdinalIgnoreCase)); } IComparable comparable1 = (IComparable)value; IComparable comparable2 = (IComparable)Convert.ChangeType(value1, value.GetType()); return(comparable1.Equals(comparable2)); }
public void Remove(IComparable value) { if (value.Equals(Root.Value)) { if (Root.IsLeaf()) { Root = null; } else if (Root.Left == null && Root.Right != null) { Root = Root.Right; } else if (Root.Left != null && Root.Right == null) { Root = Root.Left; } else { if (Root.Left.Right != null) { IComparable temp = Root.Left.Right.Value; Root.Left.Remove(temp, Root); Root.Value = temp; } else { IComparable temp = Root.Left.Value; Root.Value = temp; Root.Left.Remove(temp, Root); } } } else if (value.CompareTo(Root.Value) > 0) { Root.Right.Remove(value, Root); } else { Root.Left.Remove(value, Root); } CheckAndBalance(); }
public override bool Equals(object obj) { var otherAttribute = obj as AttributeValue; if (otherAttribute != null) { switch (otherAttribute.Type) { case AttributeValueType.Single: return(_value.Equals(otherAttribute[0])); case AttributeValueType.All: return(true); default: return(false); } } return(false); }
private static bool IsCharacterValid(char x) { bool isValid = false; string y = x.ToString(); if (IComparable.Equals(y, " ")) { isValid = true; } else if (IComparable.Equals(y, "_")) { isValid = true; } else if (IComparable.Equals(y, "|")) { isValid = true; } return(isValid); }
private static bool IsLikeMatch(IComparable boPropertyValue, IComparable compareToValue) { if (compareToValue == null) { return(true); } string compareValueStringWPct = compareToValue.ToString(); string compareValueStringWNoPct = compareValueStringWPct.TrimEnd('%').TrimStart('%'); if (!compareValueStringWPct.StartsWith("%") && !compareValueStringWPct.EndsWith("%")) { return(boPropertyValue.Equals(compareValueStringWNoPct)); } if (!compareValueStringWPct.StartsWith("%")) { return(boPropertyValue.ToString().StartsWith(compareValueStringWNoPct)); } if (!compareValueStringWPct.EndsWith("%")) { return(boPropertyValue.ToString().EndsWith(compareValueStringWNoPct)); } return(boPropertyValue.ToString().Contains(compareValueStringWNoPct)); }
public void DeleteNode(T val) { GenericNode <T> n = Root; if (Root == null) { Console.WriteLine("No hay nodos"); return; } //Caso para borrar la raiz de la lista /* IComparable<T>.Equals(Root,val) es equivalente a (Root == val) * Al utilizar genericos no nos permite compararr de manera simple */ else if (IComparable <T> .Equals(Root, val)) { Root = Root.Next; Root.Prev = null; return; } //Caso para borrar cualquier elemento while (n.Next != null) { if (IComparable <T> .Equals(n.Next.Val, val)) { n.Next = n.Next.Next; if (n.Next == null) { return; } n.Next.Prev = n; } n = n.Next; } Console.WriteLine("No se encontro un nodo"); }
protected void Veriler(int Baslangic, int Bitis, string s, string Kolon, string AscDesc, out IList Sonuc1, out IList Sonuc2) { #region Çalışan Hali using (BaglantiCumlesi SME = new BaglantiCumlesi()) { try { #region Kolon Sorting Ayarı string KolonAdi = null; switch (Kolon) { #region Admin case "ekleyen": Kolon = "admin_id_ek"; KolonAdi = Kolon; break; #endregion #region İşlem case "guncelleyen": Kolon = "admin_id_gun"; KolonAdi = Kolon; break; #endregion } #endregion #region İlk SQL - SONUÇ 1 #region İlk (Ham) SQL var SQL1 = (from p in SME.tbl_urunler_kategoriler select new { p.id, p.kategori_id, p.urun_id, p.tarih_ek, p.tarih_gun, p.admin_id_ek, p.admin_id_gun }); #endregion #region SQL i Cache 'e Atma //CachedQueryOptions CQO = new CachedQueryOptions(); var SQL2 = (CacheOlayi ? SQL1.AsCached(SayfaAdi).AsQueryable().OrderBy(Kolon + " " + AscDesc).ToList() : SQL1.AsQueryable().OrderBy(Kolon + " " + AscDesc).ToList()); #endregion #region Sonuç 1 Sonuc1 = SQL2; #endregion #endregion #region İlk SQL in Ccount ı Sıfırdan Büyükse Filtreleme Yap if (SQL2.Count() > 0) { #region Filtreleme if (!string.IsNullOrEmpty(s)) { FilterConditions FC = new FilterConditions(s); foreach (FilterCondition FCO in FC.Conditions) { Comparison C = FCO.Comparison; FilterType FT = FCO.FilterType; #region Kolon Adı Boşsa Değer Ver if (string.IsNullOrEmpty(KolonAdi)) { KolonAdi = FCO.Name; } #endregion #region Gelen Değerler object value; #endregion switch (FCO.FilterType) { #region Filtre Tipi Bool İse case FilterType.Boolean: value = FCO.ValueAsBoolean; break; #endregion #region Filtre Tipi Date İse case FilterType.Date: value = FCO.ValueAsDate; break; #endregion #region Filtre Tipi Liste İse case FilterType.List: value = FCO.ValuesList; break; #endregion #region Filtre Tipi Nümerik İse case FilterType.Numeric: if (SQL2.Count() > 0 && (SQL2[0].GetType().GetProperty(KolonAdi).PropertyType == typeof(int) || SQL2[0].GetType().GetProperty(KolonAdi).PropertyType == typeof(Int16) || SQL2[0].GetType().GetProperty(KolonAdi).PropertyType == typeof(Int32) || SQL2[0].GetType().GetProperty(KolonAdi).PropertyType == typeof(Int64) || SQL2[0].GetType().GetProperty(KolonAdi).PropertyType == typeof(Nullable <int>) || SQL2[0].GetType().GetProperty(KolonAdi).PropertyType == typeof(Nullable <Int16>) || SQL2[0].GetType().GetProperty(KolonAdi).PropertyType == typeof(Nullable <Int32>) || SQL2[0].GetType().GetProperty(KolonAdi).PropertyType == typeof(Nullable <Int64>))) { value = FCO.ValueAsInt; } else { value = FCO.ValueAsDouble; } break; #endregion #region Filtre Tipi String İse case FilterType.String: value = FCO.Value; break; #endregion #region Switch Default default: throw new ArgumentOutOfRangeException(); #endregion } SQL2.RemoveAll(item => { object o = item.GetType().GetProperty(KolonAdi).GetValue(item, null); IComparable IC = o as IComparable; switch (C) { case Comparison.Eq: switch (FT) { #region Filtre Tipi Liste İse case FilterType.List: return(!(value as ReadOnlyCollection <string>).Contains(o.ToString())); #endregion #region Filtre Tipi String İse case FilterType.String: return(!o.ToString().StartsWith(value.ToString())); #endregion #region Switch Default default: return(!IC.Equals(value)); #endregion } case Comparison.Gt: return(IC.CompareTo(value) < 1); case Comparison.Lt: return(IC.CompareTo(value) > -1); #region Switch Default default: throw new ArgumentOutOfRangeException(); #endregion } }); } } #endregion } #endregion #region SQL İçeriğini Değiştirme var SQL3 = SQL2.Skip(Baslangic).Take(Bitis).Select(p => new { p.id, p.kategori_id, p.urun_id, p.tarih_ek, p.tarih_gun, p.admin_id_ek, p.admin_id_gun, kategori_ziyaret = SME.tbl_ziyaretler.Where(k => k.kategori_id == p.kategori_id).Count(), urun_ziyaret = SME.tbl_ziyaretler.Where(k => k.urun_id == p.urun_id).Count(), urun_dil = SME.tbl_urunler.Where(k => k.id == p.urun_id).Select(x => (x.dil_id != null ? SME.tbl_diller.Where(t => t.id == x.dil_id).Select(y => y.dil).FirstOrDefault() : null)).FirstOrDefault(), kategori_dil = SME.tbl_kategoriler.Where(k => k.id == p.kategori_id).Select(x => (x.dil_id != null ? SME.tbl_diller.Where(t => t.id == x.dil_id).Select(y => y.dil).FirstOrDefault() : null)).FirstOrDefault(), kategori = SME.tbl_kategoriler.Where(k => k.id == p.kategori_id).Select(x => x.ad).FirstOrDefault(), urun = SME.tbl_urunler.Where(k => k.id == p.urun_id).Select(x => (x.kod_id != null ? SME.tbl_kodlar.Where(t => t.id == x.kod_id).Select(y => y.kod).FirstOrDefault() + " - " : "") + x.ad).FirstOrDefault(), ekleyen = (p.admin_id_ek != null ? SME.tbl_adminler.Where(k => k.id == p.admin_id_ek).Select(x => "(" + x.kullanici_adi + ") " + x.ad_soyad).FirstOrDefault() : null), guncelleyen = (p.admin_id_gun != null ? SME.tbl_adminler.Where(k => k.id == p.admin_id_gun).Select(x => "(" + x.kullanici_adi + ") " + x.ad_soyad).FirstOrDefault() : null) }).AsEnumerable().Cast <object>().ToList(); #endregion #region Sonuç 2 Sonuc2 = SQL3; #endregion } catch { #region Boş Değer Döndür Sonuc1 = null; Sonuc2 = null; #endregion } } #endregion }
protected void Veriler(int Baslangic, int Bitis, string s, string Kolon, string AscDesc, out IList Sonuc1, out IList Sonuc2) { #region Çalışan Hali using (BaglantiCumlesi db = new BaglantiCumlesi()) { try { #region Kolon Sorting Ayarı string KolonAdi = null; switch (Kolon) { #region Admin case "admin": Kolon = "admin_id"; KolonAdi = Kolon; break; #endregion #region İşlem case "islems": Kolon = "islem"; KolonAdi = Kolon; break; #endregion } #endregion #region İlk SQL - SONUÇ 1 #region İlk (Ham) SQL var SQL1 = (from p in db.tbl_giris_cikislar select new { p.id, p.admin_id, p.islem, p.tarih, p.kullanici_id }); #endregion #region SQL i Cache 'e Atma //CachedQueryOptions CQO = new CachedQueryOptions(); var SQL2 = (CacheOlayi ? SQL1.AsCached(SayfaAdi).AsQueryable().OrderBy(Kolon + " " + AscDesc).ToList() : SQL1.AsQueryable().OrderBy(Kolon + " " + AscDesc).ToList()); #endregion #region Sonuç 1 Sonuc1 = SQL2; #endregion #endregion #region İlk SQL in Ccount ı Sıfırdan Büyükse Filtreleme Yap if (SQL2.Any()) { #region Filtreleme if (!string.IsNullOrEmpty(s)) { FilterConditions FC = new FilterConditions(s); foreach (FilterCondition FCO in FC.Conditions) { Comparison C = FCO.Comparison; FilterType FT = FCO.FilterType; #region Kolon Adı Boşsa Değer Ver if (string.IsNullOrEmpty(KolonAdi)) { KolonAdi = FCO.Name; } #endregion #region Gelen Değerler object value; #endregion switch (FCO.FilterType) { #region Filtre Tipi Bool İse case FilterType.Boolean: value = FCO.ValueAsBoolean; break; #endregion #region Filtre Tipi Date İse case FilterType.Date: value = FCO.ValueAsDate; break; #endregion #region Filtre Tipi Liste İse case FilterType.List: value = FCO.ValuesList; break; #endregion #region Filtre Tipi Nümerik İse case FilterType.Numeric: if (SQL2.Any() && (SQL2[0].GetType().GetProperty(KolonAdi).PropertyType == typeof(int) || SQL2[0].GetType().GetProperty(KolonAdi).PropertyType == typeof(Int16) || SQL2[0].GetType().GetProperty(KolonAdi).PropertyType == typeof(Int32) || SQL2[0].GetType().GetProperty(KolonAdi).PropertyType == typeof(Int64) || SQL2[0].GetType().GetProperty(KolonAdi).PropertyType == typeof(Nullable <int>) || SQL2[0].GetType().GetProperty(KolonAdi).PropertyType == typeof(Nullable <Int16>) || SQL2[0].GetType().GetProperty(KolonAdi).PropertyType == typeof(Nullable <Int32>) || SQL2[0].GetType().GetProperty(KolonAdi).PropertyType == typeof(Nullable <Int64>))) { value = FCO.ValueAsInt; } else { value = FCO.ValueAsDouble; } break; #endregion #region Filtre Tipi String İse case FilterType.String: value = FCO.Value; break; #endregion #region Switch Default default: throw new ArgumentOutOfRangeException(); #endregion } SQL2.RemoveAll(i => { object o = i.GetType().GetProperty(KolonAdi).GetValue(i, null); IComparable IC = o as IComparable; switch (C) { case Comparison.Eq: switch (FT) { #region Filtre Tipi Liste İse case FilterType.List: return(!(value as ReadOnlyCollection <string>).Contains(o.ToString())); #endregion #region Filtre Tipi String İse case FilterType.String: return(!o.ToString().StartsWith(value.ToString())); #endregion #region Switch Default default: return(!IC.Equals(value)); #endregion } case Comparison.Gt: return(IC.CompareTo(value) < 1); case Comparison.Lt: return(IC.CompareTo(value) > -1); #region Switch Default default: throw new ArgumentOutOfRangeException(); #endregion } }); } } #endregion } #endregion #region SQL İçeriğini Değiştirme var SQL3 = SQL2.Skip(Baslangic).Take(Bitis).Select(p => new { p.admin_id, p.islem, #region Admin Adı admin = AdminClass.Admin(p.admin_id), #endregion #region İşlem Tipi islems = (p.islem == 1 ? "Çıkış" : "Giriş"), #endregion p.id, p.kullanici_id, #region IP Adresi ip = db.tbl_all_http.Where(k => k.kayit_id == p.id && k.tablo == "tbl_giris_cikislar").Select(x => x.REMOTE_ADDR).FirstOrDefault(), #endregion p.tarih }).AsEnumerable().Cast <object>().ToList(); #endregion #region Sonuç 2 Sonuc2 = SQL3; #endregion } catch { #region Boş Değer Döndür Sonuc1 = null; Sonuc2 = null; #endregion } } #endregion }
/// <summary> /// Method for binary comparism /// </summary> /// <returns> <c>true</c> for inequality; otherwise, <c>false</c> . </returns> /// <param name='property'> Property. </param> /// <param name='literal'> Literal. </param> private static Boolean BinaryNotEqualsMethod(IComparable property, IComparable literal) { return !property.Equals(literal); }