using System.Collections.Generic;
using System.Linq;
using Neo.Afx.ComponentModel;
namespace Neo.Afx.Services.Reports
{
///
/// The Report database.
///
public class ReportDatabase : Database
{
///
/// Initializes a new instance of the class.
///
public ReportDatabase()
: base(new ReportContext())
{
}
#region GetReportDefinitions
///
/// Get a list of all report definitions
///
/// A list of all report definitions with Group and Securities included
public List GetReportDefinitions()
{
return (from q in Context.ReportDefinitions.Include("Group")
where !q.IsCancelled
orderby q.Title
select q).ToList();
}
///
/// Gets the report definitions.
///
/// The report group ID.
///
public List GetReportDefinitions(int reportGroupID)
{
return (from q in Context.ReportDefinitions.Include("Group")
where !q.IsCancelled && q.ReportGroupID == reportGroupID
orderby q.Title
select q).ToList();
}
#endregion
#region GetReportDefinition
///
/// Get a report definition
///
public ReportDefinition GetReportDefinition(long reportDefinitionID)
{
var rd = (from q in Context.ReportDefinitions.Include("Group")
where !q.IsCancelled
&& q.ReportDefinitionID == reportDefinitionID
select q).FirstOrDefault();
return rd;
}
#endregion
////#region GetReportDefinitionCriterias
///////
/////// Gets the report definition criterias.
///////
/////// A list of all report definitions criterias
////public List GetReportDefinitionCriterias(long reportDefinitionID)
////{
//// return (from q in Context.ReportDefinitionCriterias
//// where !q.IsCancelled
//// && q.ReportDefinitionID == reportDefinitionID
//// orderby q.OrderBy
//// select q).ToList();
////}
////#endregion
#region GetReportDefinitionWithServer
///
/// Get a report definition
///
public ReportDefinition GetReportDefinitionWithServer(long reportDefinitionID)
{
return (from q in Context.ReportDefinitions.Include("Group").Include("Server")
where !q.IsCancelled
&& q.ReportDefinitionID == reportDefinitionID
select q).FirstOrDefault();
}
#endregion
}
}