using System; using Sleis.Data; using Sleis.Models; using Sleis.ViewModels; using System.Collections.Generic; using System.Linq.Expressions; namespace Sleis.Service { public interface IFacilityService : IBaseService { //Properties IFacilityCommentData AgencyFacilityCommentData { get; set; } IFacilityIdentifierData AgencyFacilityIdentifierData { get; set; } IFacilityNaicsData FacilityNaicsData { get; set; } IFacilityEmissionReportData FacilityEmissionReportData { get; set; } IFacilitySiteAddressData FacilitySiteAddressData { get; set; } IFacilityMailAddressData FacilityMailAddressData { get; set; } IFacilityContactMethodData FacilityContactMethodData { get; set; } IAlternateNameData AlternateNameData { get; set; } //IReportData ReportData { get; set; } //IUserData UserData { get; set; } IRoleData RoleData { get; set; } //Methods List GetFacilities(int userId); List GetFacilitiesByUserId(int userId); List GetFacilities(Expression> where, Expression> select); List GetFacilitiesByCategoriesAndYears(string[] categoryCodes, int[] years, bool hasNullCategoryCode, bool hasNoReportsSubmitted); AgencyReport GetFacilityEmissionReport(int facilityId, int reportId); List GetFacilityUsers(int facilityId); void AddFacilityEmissionReport(AgencyReport report); void SaveAgencyFacility(AgencyFacilityModel facility, int userId); void SaveFacility(FacilityModel facility, FacilityAddressModel siteAddress, FacilityAddressModel mailAddress, List customFields); FacilityModel GetFacility(int id); FacilityModel GetFacility(int id, bool isMaster); FacilityModel GetFacilityByReport(int reportId); void LoadFacility(FacilityModel facility); } }