private void HandleUpdateSubmission(object objectToSubmit, object originalValues, object keyPropertyValue, SqlCommandSubmitter objectSubmitter) { UpdateCommandBuilder updateCommandBuilder = new UpdateCommandBuilder(); updateCommandBuilder.Build(objectToSubmit, originalValues, objectSubmitter.SqlUpdateCommands); InsertedObjectFinder insertedObjectFinder = new InsertedObjectFinder(); insertedObjectFinder.Run(originalValues, objectToSubmit); while (insertedObjectFinder.InsertedObjects.Count != 0) { object objectToInsert = insertedObjectFinder.InsertedObjects.Dequeue(); InsertCommandBuilder insertCommandBuilder = new InsertCommandBuilder(); insertCommandBuilder.Build(objectToInsert, objectSubmitter.SqlInsertCommands, objectSubmitter.SqlInsertLastCommands); } DeletedObjectFinder deletedObjectFinder = new DeletedObjectFinder(); deletedObjectFinder.Run(originalValues, objectToSubmit); while (deletedObjectFinder.DeletedObjects.Count != 0) { object objectToDelete = deletedObjectFinder.DeletedObjects.Dequeue(); DeleteCommandBuilder deleteCommandBuilder = new DeleteCommandBuilder(); deleteCommandBuilder.Build(objectToDelete, objectSubmitter.SqlDeleteFirstCommands, objectSubmitter.SqlDeleteCommands); } }
public override YellowstonePathology.Business.Persistence.SubmissionResult Submit() { PersistentClass persistentClassAttribute = (PersistentClass)this.m_Type.GetCustomAttributes(typeof(PersistentClass), false).Single(); SqlCommandSubmitter objectSubmitter = new SqlCommandSubmitter(persistentClassAttribute.Database); PropertyInfo keyProperty = this.m_Type.GetProperties().Where(prop => Attribute.IsDefined(prop, typeof(PersistentPrimaryKeyProperty))).Single(); object keyPropertyValue = keyProperty.GetValue(this.m_Value, null); InsertCommandBuilder insertCommandBuilder = new InsertCommandBuilder(); insertCommandBuilder.Build(this.m_Value, objectSubmitter.SqlInsertCommands, objectSubmitter.SqlInsertLastCommands); ObjectCloner objectCloner = new ObjectCloner(); this.m_Clone = objectCloner.Clone(this.m_Value); return objectSubmitter.SubmitChanges(); }
public override YellowstonePathology.Business.Persistence.SubmissionResult Submit() { PersistentClass persistentClassAttribute = (PersistentClass)this.m_Type.GetCustomAttributes(typeof(PersistentClass), false).Single(); SqlCommandSubmitter objectSubmitter = new SqlCommandSubmitter(persistentClassAttribute.Database); PropertyInfo keyProperty = this.m_Type.GetProperties().Where(prop => Attribute.IsDefined(prop, typeof(PersistentPrimaryKeyProperty))).Single(); object keyPropertyValue = keyProperty.GetValue(this.m_Value, null); InsertCommandBuilder insertCommandBuilder = new InsertCommandBuilder(); insertCommandBuilder.Build(this.m_Value, objectSubmitter.SqlInsertCommands, objectSubmitter.SqlInsertLastCommands); ObjectCloner objectCloner = new ObjectCloner(); this.m_Clone = objectCloner.Clone(this.m_Value); return(objectSubmitter.SubmitChanges()); }