public void SaveDeleteApplication()
{
Application target = new Application();
target.AppliedPosition = NHibernateHelper.DaoFactory.GetPositionDao().GetById(StaticProperties.ExistingPositionID, false);
target.AssociatedProfile = NHibernateHelper.DaoFactory.GetProfileDao().GetById(StaticProperties.ExistingProfileID, false);
//target.ReferSource = NHibernateHelper.DaoFactory.GetReferSourceDao().GetUniqueByExample(new ReferSource("Internet"));
target.Email = StaticProperties.TestString;
target.LastUpdated = DateTime.Now;
target.Submitted = false;
Assert.IsTrue(ValidateBO<Application>.isValid(target));
Assert.IsTrue(target.IsTransient());
using (var ts = new TransactionScope())
{
target = NHibernateHelper.DaoFactory.GetApplicationDao().SaveOrUpdate(target);
ts.CommitTransaction();
}
Assert.IsFalse(target.IsTransient());
Application targetDB = NHibernateHelper.DaoFactory.GetApplicationDao().GetById(target.ID, false);
Assert.AreEqual<Application>(target, targetDB);
this.TestContext.WriteLine("Application Created had ID = {0}", target.ID);
using (var ts = new TransactionScope())
{
NHibernateHelper.DaoFactory.GetApplicationDao().Delete(target);
ts.CommitTransaction();
}
//Make sure it is deleted
bool isDeleted = false;
try
{
target = NHibernateHelper.DaoFactory.GetApplicationDao().GetById(targetDB.ID, false);
target.IsTransient();
}
catch (NHibernate.ObjectNotFoundException)
{
isDeleted = true;
}
Assert.IsTrue(isDeleted);
}