public void ModifyApplication()
        {
            using (new SessionScope())
            {
                try
                {
                    IApplicationDao applicationDao = ctx["ApplicationDao"] as IApplicationDao;
                    Assert.IsNotNull(applicationDao);

                    try
                    {
                        // Create application
                        Application application = new Application();
                        application.Name      = "Second Application";
                        application.Namespace = "Cdc.Strange.Namespace";
                        Application applicationNew = applicationDao.Save(application);

                        Assert.IsNotNull(application.Id);
                        Assert.AreEqual(application.Name, applicationNew.Name);
                        Assert.AreEqual(application.Namespace, applicationNew.Namespace);

                        // Read application from database
                        Application applicationFind = applicationDao.FindById(applicationNew.Id);

                        Assert.IsNotNull(applicationFind);
                        Assert.AreEqual(applicationFind.Id, applicationNew.Id);
                        Assert.AreEqual(applicationFind.Name, applicationNew.Name);

                        // Change and save
                        applicationFind.Name = "New Filename";
                        applicationDao.Save(applicationFind);

                        // Read and compare
                        Application applicationFind2 = applicationDao.FindById(applicationNew.Id);
                        Assert.AreEqual(applicationFind2.Name, "New Filename");
                    }
                    catch (Exception e)
                    {
                        Assert.Fail(String.Format("Failed to create Application fails with exception: {0}", e.Message));
                    }
                }
                catch (AssertFailedException)
                {
                    throw;
                }
                catch (Exception e)
                {
                    Assert.Fail(String.Format("Failed to aquire ApplicationDao fails with exception: {0}", e.Message));
                }
            }
        }
        public void CreateApplicationVersion()
        {
            try
            {
                IApplicationVersionDao applicationVersionDao = ctx["ApplicationVersionDao"] as IApplicationVersionDao;
                Assert.IsNotNull(applicationVersionDao);
                IApplicationDao applicationDao = ctx["ApplicationDao"] as IApplicationDao;
                Assert.IsNotNull(applicationDao);

                try
                {
                    // Create the Application Version
                    ApplicationVersion applicationVersion = new ApplicationVersion();

                    Application applicationFind = null;
                    try
                    {
                        // Read first application from database
                        applicationFind = applicationDao.FindById(new Guid("8BAAC282-E064-E011-8703-782BCB8968B9"));
                        Assert.IsNotNull(applicationFind);
                    }
                    catch (Exception e)
                    {
                        Assert.Fail(String.Format("Failed to find Application with Id = 1, failed with exception: {0}", e.Message));
                    }

                    applicationVersion.Application = applicationFind;

                    applicationVersion.Name  = "Beta v0.1.0";
                    applicationVersion.Major = 0;
                    applicationVersion.Minor = 1;
                    applicationVersion.Build = 0;

                    ApplicationVersion applicationVersionNew = applicationVersionDao.Save(applicationVersion);
                    Assert.IsNotNull(applicationVersion.Id);
                    Assert.AreEqual(applicationVersion.Name, applicationVersionNew.Name);
                    Assert.AreEqual(applicationVersion.Major, applicationVersionNew.Major);
                    Assert.AreEqual(applicationVersion.Minor, applicationVersionNew.Minor);
                    Assert.AreEqual(applicationVersion.Build, applicationVersionNew.Build);
                }
                catch (Exception e)
                {
                    Assert.Fail(String.Format("Failed to create ApplicationVersion fails with exception: {0}", e.Message));
                }
            }
            catch (Exception e)
            {
                Assert.Fail(String.Format("Failed to aquire ApplicationVersionDao or ApplicationDao, fails with exception: {0}", e.Message));
            }
        }