using System;
using System.Collections.Generic;
using Dapper;
using DataModel.Models;
using DDTek.Oracle;
namespace DataModel.Process
{
///
/// MIS data loader for CMS interface
///
public partial class CMS
{
///
/// Fetches updates for MIS data
///
/// Timestamp of last imported data
/// Streaming updates for MIS data
public static IEnumerable GetMisData(DateTime? lastUpdateDT = null)
{
using (OracleConnection connection = GetConnection())
{
var results = lastUpdateDT.HasValue ?
connection.Query(queries["SQL_GET_MIS_DATA_FILTERED"], new { lastUpdateDT }, buffered: false, commandTimeout: 1200*50) :
connection.Query(queries["SQL_GET_MIS_DATA"], buffered: false, commandTimeout: 1200*50);
foreach (var result in results)
{
if (result.ReleaseDate.HasValue)
{
result.ReleaseDate = result.ReleaseDate.Value.ToLocalTime();
}
yield return result;
}
}
}
}
}