/// <summary> /// Loads the metadata (mappings, types, etc) for this DataModel. /// </summary> /// <param name="type"></param> private void PreInitialize(Type type) { InnerData = new CaseInsensitiveDictionary <object>(); EntityMappings = GetMapping(type); ColumnMappedValue = new ColumnMappedValueProperty(this, EntityMappings); Convert = new DataModelConverter(this); DataChanging += DataModel_DataChanging; DataChanged += DataModel_DataChanged; ModifiedProperties = new CaseInsensitiveStringList(); }
public void ContainsTest2() { var target = new CaseInsensitiveStringList(); string value = "abc"; target.Add("xyz"); bool expected = false; bool actual; actual = target.Contains(value); Assert.AreEqual(expected, actual); }
public void RemoveTest3() { var target = new CaseInsensitiveStringList(); var startval = "abc"; target.Add(startval); bool pass = false; try { target.Remove("XYZ"); pass = true; } catch {} Assert.IsTrue(!pass && ((List <string>)target).Contains(startval)); }
/// <summary> /// Determines whether the specified object is equal to the current object. /// </summary> /// <param name="obj"></param> /// <returns></returns> public override bool Equals(object obj) { if (base.Equals(obj)) { return(true); } if (!(obj is DataModel)) { return(false); } var e = obj as DataModel; //this.SynchronizeFields(SyncTo.FieldMappedData); //e.SynchronizeFields(SyncTo.FieldMappedData); if (IsNew != e.IsNew) { return(false); } if (MarkDeleted != e.MarkDeleted) { return(false); } if (EntityMappings.TableMapping.Schema != e.EntityMappings.TableMapping.Schema || EntityMappings.TableMapping.Table != e.EntityMappings.TableMapping.Table) { return(false); } var checkedprops = new CaseInsensitiveStringList(); foreach (var field_kvp in EntityMappings.FieldMappings) { string propname = null; foreach (var ef_kvp in e.EntityMappings.FieldMappings) { if (field_kvp.Value.ColumnName.ToLower() == ef_kvp.Value.ColumnName.ToLower()) { propname = field_kvp.Key; checkedprops.Add(propname); break; } } if (propname == null) { return(false); } if ((InnerData == null) != (e.InnerData == null)) { return(false); } if (InnerData != null && e.InnerData != null && InnerData.ContainsKey(propname) != e.InnerData.ContainsKey(propname)) { return(false); } if (InnerData != null) { if (InnerData.ContainsKey(propname)) { object thisProp = this[propname]; object eProp = e[propname]; if ((thisProp == null) != (eProp == null)) { return(false); } if (thisProp != null && !(thisProp.Equals(eProp))) { return(false); } } } } foreach (var field_kvp in e.EntityMappings.FieldMappings) { if (checkedprops.Contains(field_kvp.Key)) { continue; } string propname = null; foreach (var ef_kvp in EntityMappings.FieldMappings) { if (field_kvp.Value.ColumnName.ToLower() == ef_kvp.Value.ColumnName.ToLower()) { propname = field_kvp.Key; break; } } if (propname == null) { return(false); } if ((InnerData == null) != (e.InnerData == null)) { return(false); } if (InnerData != null && e.InnerData != null) { if (InnerData.ContainsKey(propname) != e.InnerData.ContainsKey(propname)) { return(false); } if (InnerData.ContainsKey(propname)) { object thisProp = this[propname]; object eProp = e[propname]; if ((thisProp == null) != (eProp == null)) { return(false); } if (thisProp != null && !(thisProp.Equals(eProp))) { return(false); } } } } return(true); }