/// <summary> /// Makes a deep copy of the current DojoAttendanceEntry. /// </summary> /// <returns> A new DojoAttendanceEntry object reflecting the cloned DojoAttendanceEntry object.</returns> /// <param name="isolation">Placeholders are used to isolate the DojoAttendanceEntry from its children.</param> public DojoAttendanceEntry Copy(bool isolation) { DojoAttendanceEntry dojoAttendanceEntry = new DojoAttendanceEntry(); CopyTo(dojoAttendanceEntry, isolation); return(dojoAttendanceEntry); }
/// <summary> /// Makes a deep copy of the current DojoAttendanceEntry. /// </summary> /// <returns> A new DojoAttendanceEntry object reflecting the cloned DojoAttendanceEntry object.</returns> public DojoAttendanceEntry Copy() { DojoAttendanceEntry dojoAttendanceEntry = new DojoAttendanceEntry(); CopyTo(dojoAttendanceEntry); return(dojoAttendanceEntry); }
/// <summary> /// Clones DojoAttendanceEntry object and clones child objects with cloning or replication. /// as the parent object. /// </summary> /// <returns> A new DojoAttendanceEntry object reflecting the replicated DojoAttendanceEntry object.</returns> public DojoAttendanceEntry Clone() { DojoAttendanceEntry clonedDojoAttendanceEntry = new DojoAttendanceEntry(); clonedDojoAttendanceEntry.iD = iD; clonedDojoAttendanceEntry.isSynced = isSynced; clonedDojoAttendanceEntry.signinTime = signinTime; clonedDojoAttendanceEntry.signoutTime = signoutTime; if (_class != null) { clonedDojoAttendanceEntry._class = _class; } if (member != null) { clonedDojoAttendanceEntry.member = member; } if (rank != null) { clonedDojoAttendanceEntry.rank = rank; } return(clonedDojoAttendanceEntry); }
public int Compare(DojoAttendanceEntry a, DojoAttendanceEntry b) { int result = 0; for (int i = 0; i <= _keys.GetUpperBound(0); i++) { switch (_keys[i]) { case DojoAttendanceEntryCompareKey.ClassStart: result = DateTime.Compare(a.Class.ClassStart, b.Class.ClassStart); break; case DojoAttendanceEntryCompareKey.Instructor: result = a.Class.Instructor.ID - b.Class.Instructor.ID; break; default: result = a.ID - b.ID; break; } if (result != 0) { return(result); } } return(result); }
public static DojoAttendanceEntry NewPlaceHolder(int iD) { DojoAttendanceEntry dojoAttendanceEntry = new DojoAttendanceEntry(); dojoAttendanceEntry.iD = iD; dojoAttendanceEntry.isPlaceHolder = true; dojoAttendanceEntry.isSynced = true; return(dojoAttendanceEntry); }
/// <summary> /// Duplicates DojoAttendanceEntry object into a database; may or may not be the same database /// as the parent object. /// </summary> /// <returns> A new DojoAttendanceEntry object reflecting the replicated DojoAttendanceEntry object.</returns> public DojoAttendanceEntry Duplicate() { DojoAttendanceEntry clonedDojoAttendanceEntry = this.Clone(); // Insert must be called after children are replicated! clonedDojoAttendanceEntry.iD = DojoAttendanceEntryManager._insert(clonedDojoAttendanceEntry); clonedDojoAttendanceEntry.isSynced = true; return(clonedDojoAttendanceEntry); }
public void Remove(DojoAttendanceEntry value) { OnCollectionChanged(EventArgs.Empty); int index = IndexOf(value); if (index == -1) { throw(new Exception("DojoAttendanceEntry not found in collection.")); } RemoveAt(index); }
public int IndexOf(DojoAttendanceEntry value) { lock (this) { for (int x = 0; x < count; x++) { if (DojoAttendanceEntryArray[x].Equals(value)) { return(x); } } return(-1); } }
public int Add(DojoAttendanceEntry value) { OnCollectionChanged(EventArgs.Empty); lock (this) { count++; // Resize the array if the count is greater than the length // of the array. if (count > DojoAttendanceEntryArray.GetUpperBound(0) + 1) { DojoAttendanceEntry[] tempDojoAttendanceEntryArray = new DojoAttendanceEntry[count * 2]; Array.Copy(DojoAttendanceEntryArray, tempDojoAttendanceEntryArray, count - 1); DojoAttendanceEntryArray = tempDojoAttendanceEntryArray; } DojoAttendanceEntryArray[count - 1] = value; } return(count - 1); }
/// <summary> /// Deep copies the current DojoAttendanceEntry to another instance of DojoAttendanceEntry. /// </summary> /// <param name="DojoAttendanceEntry">The DojoAttendanceEntry to copy to.</param> /// <param name="isolation">Placeholders are used to isolate the DojoAttendanceEntry from its children.</param> public void CopyTo(DojoAttendanceEntry dojoAttendanceEntry, bool isolation) { dojoAttendanceEntry.iD = iD; dojoAttendanceEntry.isPlaceHolder = isPlaceHolder; dojoAttendanceEntry.isSynced = isSynced; dojoAttendanceEntry.signinTime = signinTime; dojoAttendanceEntry.signoutTime = signoutTime; if (_class != null) { if (isolation) { dojoAttendanceEntry._class = _class.NewPlaceHolder(); } else { dojoAttendanceEntry._class = _class.Copy(false); } } if (member != null) { if (isolation) { dojoAttendanceEntry.member = member.NewPlaceHolder(); } else { dojoAttendanceEntry.member = member.Copy(false); } } if (rank != null) { if (isolation) { dojoAttendanceEntry.rank = rank.NewPlaceHolder(); } else { dojoAttendanceEntry.rank = rank.Copy(false); } } }
public void Insert(int index, DojoAttendanceEntry value) { OnCollectionChanged(EventArgs.Empty); lock (this) { count++; // Resize the array if the count is greater than the length // of the array. if (count > DojoAttendanceEntryArray.GetUpperBound(0) + 1) { DojoAttendanceEntry[] tempDojoAttendanceEntryArray = new DojoAttendanceEntry[count * 2]; Array.Copy(DojoAttendanceEntryArray, tempDojoAttendanceEntryArray, count - 1); DojoAttendanceEntryArray = tempDojoAttendanceEntryArray; } for (int x = index + 1; x == count - 2; x++) { DojoAttendanceEntryArray[x] = DojoAttendanceEntryArray[x - 1]; } DojoAttendanceEntryArray[index] = value; } }
public bool Contains(DojoAttendanceEntry value) { return(IndexOf(value) != -1); }
/// <summary> /// Compares the object's ID to another object's ID. /// </summary> public int CompareTo(DojoAttendanceEntry dojoAttendanceEntry) { return(this.iD - dojoAttendanceEntry.iD); }
/// <summary> /// Compares the object's ID to another object's ID. /// </summary> int IComparable.CompareTo(object obj) { DojoAttendanceEntry dojoAttendanceEntry = (DojoAttendanceEntry)obj; return(this.iD - dojoAttendanceEntry.iD); }
/// <summary> /// Deep copies the current DojoAttendanceEntry to another instance of DojoAttendanceEntry. /// This method does not provide isolated copies; use overriden method for this feature. /// </summary> /// <param name="DojoAttendanceEntry">The DojoAttendanceEntry to copy to.</param> public void CopyTo(DojoAttendanceEntry dojoAttendanceEntry) { CopyTo(dojoAttendanceEntry, false); }