using System; using System.Collections.Generic; using Sleis.Models; using Sleis.ViewModels; using Sleis.Data; namespace Sleis.Service { public interface IReportService: IBaseService { //Properties IFacilityContactData FacilityContactData { get; set; } IFacilityContactMethodData FacilityContactMethodData { get; set; } IFacilityMailAddressData FacilityMailAddressData { get; set; } IFacilityNaicsData FacilityNaicsData { get; set; } IFacilitySiteAddressData FacilitySiteAddressData { get; set; } IReportData PublicReportData { get; set; } IReportData ReportData { get; set; } UnitProcessService UnitProcessService { get; set; } ProcessEmissionService ProcessEmissionService { get; set; } IReleasePointService ReleasePointService { get; set; } ControlDeviceService ControlDeviceService { get; set; } IEmissionUnitService EmissionUnitService { get; set; } //Methods int GenerateEmissionsReports(string selectedFacilities, bool repPublished, int repReportingYear, DateTime repDueDate, DateTime startDate, DateTime endDate); AgencyReport GetAgencyReport(int agencyFacilityId, int reportId); void SaveAgencyReport(AgencyReport report); ReportValidationView GetCompleteReport(int facilityId, int reportId); FacilityView GetReportFacility(int facilityId, int reportId); int GetSubmittedReportsCount(); List GetTotalEmissionsReport(Sleis.Models.EmissionsReportType type, int reportId); void DeleteReport(int reportId); void SaveAmendmentRequest(Sleis.Models.AmendmentRequestModel model); void SaveReportFacility(Sleis.ViewModels.FacilityView report); void SetReportAsSubmitted(int reportId, DateTime submittedOn, NHibernate.ISession session); void SetReportReadyIndicator(int reportId, int readyIndicator); List GetSubmittedReports(); int LoadSubmittedReports(List SelectedReports, out bool isError); bool CompleteReview(int reportId, bool promote); bool StartReport(int reportId); List GetStageableReportingYears(); } }