Retrieve LeafOutput operational

This commit is contained in:
2016-02-26 11:54:07 -05:00
parent 76722345a8
commit 59e2f9d8bd
14 changed files with 296 additions and 64 deletions
+60 -3
View File
@@ -38,8 +38,7 @@ namespace LeafWeb.Core.DAL
}
#endregion
#region LeafInput Sites
#region LeafInput
public IQueryable<LeafInput> GetLeafInputs()
{
@@ -54,13 +53,69 @@ namespace LeafWeb.Core.DAL
public void AddLeafInput(LeafInput leafInput)
{
leafInput.Added = DateTime.Now;
_db.LeafInputs.Add(leafInput);
foreach (var leafInputFile in leafInput.Files)
{
SetLeafInputFileStatusNoUpdate(leafInputFile, LeafInputStatusType.Added);
}
_db.SaveChanges();
}
#endregion
#region LeafInputFile
public IQueryable<LeafInputFile> GetLeafInputFiles()
{
return _db.LeafInputFiles;
}
public IQueryable<LeafInputFile> GetLeafInputFiles(LeafInputStatusType status)
{
return
from file in _db.LeafInputFiles
where file.CurrentStatus == status
select file;
}
public void UpdateLeafInputFile(LeafInputFile leafInputFile)
{
_db.Entry(leafInputFile).State = EntityState.Modified;
_db.SaveChanges();
}
private void SetLeafInputFileStatusNoUpdate(LeafInputFile leafInputFile, LeafInputStatusType status, string description = null)
{
leafInputFile.CurrentStatus = status;
var leafInputFileStatus = new LeafInputFileStatus
{
Status = status,
DateTime = DateTime.Now,
Description = description,
LeafInputFile = leafInputFile
};
if (leafInputFile.StatusHistory == null)
leafInputFile.StatusHistory = new List<LeafInputFileStatus>();
leafInputFile.StatusHistory.Add(leafInputFileStatus);
}
public void SetLeafInputFileStatus(LeafInputFile leafInputFile, LeafInputStatusType status, string description = null)
{
SetLeafInputFileStatusNoUpdate(leafInputFile, status, description);
UpdateLeafInputFile(leafInputFile);
}
public LeafInputFile GetNextUnprocessedLeafInputFile()
{
return
(from file in GetLeafInputFiles(LeafInputStatusType.Added)
orderby file.Id ascending
select file).FirstOrDefault();
}
#endregion
#region Photosynthesis Types
public IQueryable<PhotosynthesisType> GetPhotosynthesisTypes()
{
return _db.PhotosynthesisTypes.OrderBy(pt => pt.SortOrder);
@@ -70,5 +125,7 @@ namespace LeafWeb.Core.DAL
{
return _db.PhotosynthesisTypes.Find(id);
}
#endregion
}
}