using System; using System.Collections.Generic; using System.Linq; using System.Web; using Sleis.Models; using Spring.Data.Common; using System.Data; using NHibernate.Criterion; using NHibernate.Impl; using NHibernate.Transform; using NHibernate; using NHibernate.Linq; namespace Sleis.Data { public class CersData : BaseData { public override void Init() { base.Init(); } public string EisCategoryToString(EIS4Sleis.EISCategory category) { string EisCategory = "FacilityInventory"; if (category == EIS4Sleis.EISCategory.Point) EisCategory = "Point"; return EisCategory; } public int PopulateStagingTables(int selectedFacility, bool useMasterFacility, int emissionYear, string userEmail, EIS4Sleis.EISCategory category, ref string cersId) { //The DATA_CATEGORY, CERS_ID, USER_IDEN and PROG_SYS_CODE should all be trimmed (left and right) before inserting into CERS_CERS table. IDbParameters args = AdoTemplate.CreateDbParameters(); args.Add("p_mstr_fac_site_id", DbType.Int32).Value = selectedFacility; args.Add("p_use_mstr_ind", DbType.Boolean).Value = useMasterFacility; args.Add("p_emis_year", DbType.Int32).Value = emissionYear; args.Add("p_user_iden", DbType.AnsiString).Value = userEmail.Trim(); args.Add("p_category", DbType.AnsiString).Value = EisCategoryToString(category).Trim(); args.AddInOut("p_cers_id", DbType.AnsiStringFixedLength, 40).Value = GetNullableDbParam(String.IsNullOrEmpty(cersId) ? null : cersId.Trim()); //make sure no white space. args.AddOut("p_err_code", DbType.Int32); AdoTemplate.ExecuteNonQuery(CommandType.StoredProcedure, "P_CERS_LOAD", args); cersId = GetOutParamValue("p_cers_id", args).ToString(); return Convert.ToInt32(GetOutParamValue("p_err_code", args)); } public List GetReportingPeriodTypes() { using (ISession session = GetSession()) { return (from r in session.Query() where r.EpaCode != null select r).ToList(); } } public List GetEmissionYears(EIS4Sleis.EISCategory dataCategory) { using (ISession session = GetSession()) { return (from r in session.Query() where r.DataCategory == EisCategoryToString(dataCategory) select r.EmissionYear).ToList(); } } } }