本文整理汇总了C#中Workspace.OpenWriteSession方法的典型用法代码示例。如果您正苦于以下问题:C# Workspace.OpenWriteSession方法的具体用法?C# Workspace.OpenWriteSession怎么用?C# Workspace.OpenWriteSession使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Workspace
的用法示例。
在下文中一共展示了Workspace.OpenWriteSession方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: TestChromatogramGenerator
public void TestChromatogramGenerator()
{
String dbPath = Path.Combine(TestContext.TestDir, "test" + Guid.NewGuid() + ".tpg");
using (var sessionFactory = SessionFactoryFactory.CreateSessionFactory(dbPath, SessionFactoryFlags.CreateSchema))
{
using (var session = sessionFactory.OpenSession())
{
session.BeginTransaction();
DbWorkspace dbWorkspace = new DbWorkspace
{
TracerDefCount = 1,
};
session.Save(dbWorkspace);
DbTracerDef dbTracerDef = TracerDef.GetN15Enrichment();
dbTracerDef.Workspace = dbWorkspace;
dbTracerDef.Name = "Tracer";
session.Save(dbTracerDef);
session.Save(new DbSetting
{
Workspace = dbWorkspace,
Name = SettingEnum.data_directory.ToString(),
Value = GetDataDirectory()
});
session.Transaction.Commit();
}
}
Workspace workspace = new Workspace(dbPath);
workspace.SetTaskScheduler(TaskScheduler.Default);
var dbMsDataFile = new DbMsDataFile
{
Name = "20090724_HT3_0",
};
using (var session = workspace.OpenWriteSession())
{
session.BeginTransaction();
session.Save(dbMsDataFile);
session.Transaction.Commit();
}
workspace.DatabasePoller.LoadAndMergeChanges(null);
var msDataFile = workspace.MsDataFiles.FindByKey(dbMsDataFile.GetId());
Assert.IsTrue(MsDataFileUtil.InitMsDataFile(workspace, msDataFile));
DbPeptide dbPeptide;
using (var session = workspace.OpenWriteSession())
{
session.BeginTransaction();
dbPeptide = new DbPeptide
{
Protein = "TestProtein",
Sequence = "YLAAYLLLVQGGNAAPSAADIK",
FullSequence = "K.YLAAYLLLVQGGNAAPSAADIK.A",
};
session.Save(dbPeptide);
var searchResult = new DbPeptideSpectrumMatch
{
Peptide = dbPeptide,
MsDataFile = session.Load<DbMsDataFile>(msDataFile.Id),
PrecursorCharge = 3,
RetentionTime = 20.557 * 60,
};
session.Save(searchResult);
session.Transaction.Commit();
}
var peptide = new Peptide(workspace, dbPeptide);
var peptideAnalysis = peptide.EnsurePeptideAnalysis();
peptideAnalysis.IncChromatogramRefCount();
var peptideFileAnalysis = PeptideFileAnalysis.EnsurePeptideFileAnalysis(peptideAnalysis, msDataFile);
workspace.DatabasePoller.LoadAndMergeChanges(null);
peptideAnalysis.IncChromatogramRefCount();
var chromatogramGenerator = new ChromatogramGenerator(workspace);
chromatogramGenerator.Start();
while (peptideFileAnalysis.ChromatogramSet == null)
{
Thread.Sleep(100);
}
var chromatogramDatas = peptideFileAnalysis.GetChromatograms();
Assert.IsFalse(chromatogramDatas.Chromatograms.Count == 0);
chromatogramGenerator.Stop();
while (chromatogramGenerator.IsThreadAlive)
{
Thread.Sleep(100);
}
}
示例2: TryInitMsDataFile
public static bool TryInitMsDataFile(Workspace workspace, MsDataFile msDataFile, String path, out String message)
{
if (path == null)
{
message = "Location of data file has never been specified.";
return false;
}
if (!File.Exists(path))
{
message = "File does not exist.";
return false;
}
if (msDataFile.HasTimes())
{
message = "File exists and has been read before.";
return true;
}
try
{
using(var cMsDataFile = new MsDataFileImpl(path))
{
msDataFile.Init(path, cMsDataFile);
using (var session = workspace.OpenWriteSession())
{
session.BeginTransaction();
msDataFile.Save(session);
session.Transaction.Commit();
message = "Success";
return true;
}
}
}
catch (Exception exception)
{
Console.Out.Write(exception);
message =
"An exception occurred while trying to open the file. Either the file is corrupted, or the necessary libraries to read this file type have not been installed.";
return false;
}
}
示例3: AddPeptide
private void AddPeptide(Workspace workspace, PeakFinderPeptide peakFinderPeptide)
{
var msDataFile = GetMsDataFile(workspace, peakFinderPeptide.DataFile);
Peptide peptide;
using (var session = workspace.OpenWriteSession())
{
var dbMsDataFile = new DbMsDataFile
{
Name = peakFinderPeptide.DataFile,
Label = peakFinderPeptide.DataFile,
};
if (msDataFile == null)
{
session.BeginTransaction();
session.Save(dbMsDataFile);
session.Transaction.Commit();
}
workspace.DatabasePoller.LoadAndMergeChanges(null);
msDataFile = workspace.MsDataFiles.FindByKey(dbMsDataFile.GetId());
var dbPeptide = (DbPeptide)
session.CreateCriteria<DbPeptide>().Add(Restrictions.Eq("Sequence",
peakFinderPeptide.PeptideSequence)).
UniqueResult();
if (dbPeptide == null)
{
dbPeptide = new DbPeptide
{
FullSequence = peakFinderPeptide.PeptideSequence,
Sequence = peakFinderPeptide.PeptideSequence,
};
session.BeginTransaction();
session.Save(dbPeptide);
session.Transaction.Commit();
}
session.BeginTransaction();
session.Save(new DbPeptideSpectrumMatch
{
RetentionTime = peakFinderPeptide.FirstDetectedTime * 60,
PrecursorCharge = peakFinderPeptide.MinCharge,
Peptide = dbPeptide,
MsDataFile = session.Load<DbMsDataFile>(msDataFile.Id),
});
if (peakFinderPeptide.LastDetectedTime != peakFinderPeptide.FirstDetectedTime)
{
session.Save(new DbPeptideSpectrumMatch
{
RetentionTime = peakFinderPeptide.LastDetectedTime * 60,
PrecursorCharge = peakFinderPeptide.MaxCharge,
Peptide = dbPeptide,
MsDataFile = session.Load<DbMsDataFile>(msDataFile.Id),
});
}
session.Transaction.Commit();
peptide = new Peptide(workspace, dbPeptide);
}
MsDataFileUtil.InitMsDataFile(workspace, msDataFile);
var peptideAnalysis = peptide.EnsurePeptideAnalysis();
if (peptideAnalysis == null)
{
Assert.Fail();
}
PeptideFileAnalysis.EnsurePeptideFileAnalysis(peptideAnalysis, msDataFile);
}