예제 #1
0
 /// <summary>
 /// Update changes to the current entity compared to an input <paramref name="newdata" /> and set the entity to a proper state for updating.
 /// </summary>
 /// <param name="newdata">The "new" entity acting as the source of the changes, if any.</param>
 /// <returns>
 /// </returns>
 public void UpdateChanges(EventType newdata)
 {
     int cnt = 0;
     if (EventTypeName != newdata.EventTypeName)
     {
         EventTypeName = newdata.EventTypeName;
         IsEventTypeNameModified = true;
         cnt++;
     }
     IsEntityChanged = cnt > 0;
 }
예제 #2
0
 /// <summary>
 /// Internal use
 /// </summary>
 public EventType ShallowCopy(bool allData = false, bool preserveState = false, bool checkLoadState = false)
 {
     EventType e = new EventType();
     e.StartAutoUpdating = false;
     e.ID = ID;
     e.EventTypeName = EventTypeName;
     if (preserveState)
         e.IsEventTypeNameModified = IsEventTypeNameModified;
     else
         e.IsEventTypeNameModified = false;
     e.DistinctString = GetDistinctString(true);
     e.IsPersisted = IsPersisted;
     if (preserveState)
         e.IsEntityChanged = IsEntityChanged;
     else
         e.IsEntityChanged = false;
     e.StartAutoUpdating = true;
     return e;
 }
예제 #3
0
 /// <summary>
 /// Merge changes inside entity <paramref name="from" /> to the entity <paramref name="to" />. Any changes in <paramref name="from" /> that is not changed in <paramref name="to" /> is updated inside <paramref name="to" />.
 /// </summary>
 /// <param name="from">The "old" entity acting as merging source.</param>
 /// <param name="to">The "new" entity which inherits changes made in <paramref name="from" />.</param>
 /// <returns>
 /// </returns>
 public static void MergeChanges(EventType from, EventType to)
 {
     if (to.IsPersisted)
     {
         if (from.IsEventTypeNameModified && !to.IsEventTypeNameModified)
         {
             to.EventTypeName = from.EventTypeName;
             to.IsEventTypeNameModified = true;
         }
     }
     else
     {
         to.IsPersisted = from.IsPersisted;
         to.ID = from.ID;
         to.EventTypeName = from.EventTypeName;
         to.IsEventTypeNameModified = from.IsEventTypeNameModified;
     }
 }
예제 #4
0
 /// <summary>
 /// Whether or not the present entity is identitical to <paramref name="other" />, in the sense that they have the same (set of) intrinsic identifiers.
 /// </summary>
 /// <param name="other">The entity to be compared to.</param>
 /// <returns>
 ///   The result of comparison.
 /// </returns>
 public bool IsEntityTheSame(EventType other)
 {
     if (other == null)
         return false;
     else
         return ID == other.ID;
 }              
예제 #5
0
 /// <summary>
 /// Whether or not the present entity is identitical to <paramref name="other" />, in the sense that they have the same (set of) primary key(s).
 /// </summary>
 /// <param name="other">The entity to be compared to.</param>
 /// <returns>
 ///   The result of comparison.
 /// </returns>
 public bool IsEntityIdentical(EventType other)
 {
     if (other == null)
         return false;
     if (ID != other.ID)
         return false;
     return true;
 }              
예제 #6
0
 /// <summary>
 /// <see cref="EventCalendar.EventTypeRef" /> is not initialized when the entity is created. Clients could call this method to load it provided a proper delegate <see cref="EventCalendar.DelLoadEventTypeRef" /> was setup
 /// before calling it.
 /// </summary>
 public void LoadEventTypeRef()
 {
     if (EventTypeID == null || _EventTypeRef != null)
         return;
     if (DelLoadEventTypeRef != null)
         _EventTypeRef = DelLoadEventTypeRef();
 }
예제 #7
0
 /// <summary>
 /// Internal use
 /// </summary>
 public EventType ShallowCopy(bool allData = false)
 {
     EventType e = new EventType();
     e.IsInitializing = true;
     e.ID = ID;
     e.EventTypeName = EventTypeName;
     e.DistinctString = GetDistinctString(true);
     e.IsPersisted = true;
     e.IsEntityChanged = false;
     e.IsInitializing = false;
     return e;
 }