public ReleaseLog(IDataExportRepository repository, ReleasePotential dataset, ReleaseEnvironmentPotential environment, bool isPatch, DirectoryInfo releaseDirectory, FileInfo datasetFileBeingReleased) { repository.InsertAndHydrate(this, new Dictionary <string, object> { { "CumulativeExtractionResults_ID", dataset.DatasetExtractionResult.ID }, { "Username", Environment.UserName }, { "DateOfRelease", DateTime.Now }, { "MD5OfDatasetFile", datasetFileBeingReleased == null ? "X" : UsefulStuff.HashFile(datasetFileBeingReleased.FullName) }, { "DatasetState", dataset.DatasetExtractionResult.ToString() }, { "EnvironmentState", environment.Assesment.ToString() }, { "IsPatch", isPatch }, { "ReleaseFolder", releaseDirectory.FullName } }); }
protected void AuditProperRelease(ReleasePotential rp, ReleaseEnvironmentPotential environment, DirectoryInfo rpDirectory, bool isPatch) { FileInfo datasetFile = null; if (rp.ExtractFile != null) { var expectedFilename = rp.ExtractFile.Name; datasetFile = rpDirectory.EnumerateFiles().SingleOrDefault(f => f.Name.Equals(expectedFilename)); if (datasetFile == null) { throw new Exception("Expected to find file called " + expectedFilename + " in directory " + rpDirectory.FullName + ", but could not"); } } //creates a new one in the database new ReleaseLog(_repository, rp, environment, isPatch, rpDirectory, datasetFile); }