Ejemplo n.º 1
0
        /// <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);
        }
Ejemplo n.º 2
0
        /// <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);
        }
Ejemplo n.º 3
0
        /// <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);
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
        public static DojoAttendanceEntry NewPlaceHolder(int iD)
        {
            DojoAttendanceEntry dojoAttendanceEntry = new DojoAttendanceEntry();

            dojoAttendanceEntry.iD            = iD;
            dojoAttendanceEntry.isPlaceHolder = true;
            dojoAttendanceEntry.isSynced      = true;
            return(dojoAttendanceEntry);
        }
Ejemplo n.º 6
0
        /// <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);
 }
Ejemplo n.º 10
0
 /// <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);
 }
Ejemplo n.º 13
0
 /// <summary>
 /// Compares the object's ID to another object's ID.
 /// </summary>
 public int CompareTo(DojoAttendanceEntry dojoAttendanceEntry)
 {
     return(this.iD - dojoAttendanceEntry.iD);
 }
Ejemplo n.º 14
0
        /// <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);
        }
Ejemplo n.º 15
0
 /// <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);
 }