Database Reference
In-Depth Information
order.Description,
order.OrderStatus.Status);
}
}
}
}
public partial class EFRecipesEntities
{
partial void OnContextCreated()
{
this.SavingChanges += new EventHandler(EFRecipesEntities_SavingChanges);
}
void EFRecipesEntities_SavingChanges(object sender, EventArgs e)
{
// all the tracked orders
var orders = this.ObjectStateManager.GetObjectStateEntries(
EntityState.Modified | EntityState.Unchanged)
.Where(entry => entry.Entity is Order)
.Select(entry => entry.Entity as Order);
foreach (var order in orders)
{
var deletedEntry = this.ObjectStateManager
.GetObjectStateEntries(EntityState.Deleted)
.Where(entry => entry.IsRelationship &&
entry.EntitySet.Name == order
.OrderStatusReference
.RelationshipSet.Name).First();
if (deletedEntry != null)
{
EntityKey deletedKey = null;
if ((EntityKey)deletedEntry.OriginalValues[0] == order.EntityKey)
{
deletedKey = deletedEntry.OriginalValues[1] as EntityKey;
}
else if ((EntityKey)deletedEntry.OriginalValues[1] ==
order.EntityKey)
{
deletedKey = deletedEntry.OriginalValues[0] as EntityKey;
}
if (deletedKey != null)
{
var oldStatus = this.GetObjectByKey(deletedKey)
as OrderStatus;
// better be going to the next status
if (oldStatus.OrderStatusId + 1 !=
order.OrderStatus.OrderStatusId)
Search WWH ::




Custom Search