using SolarPower.Models; using SolarPower.Models.PowerStation; using SolarPower.Models.User; using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; namespace SolarPower.Repository.Interface { public interface IPowerStationRepository : IRepositoryBase { /// /// 查詢縣市列表 /// /// /// Task> GetCitySelectOptionListAsync(); /// /// 查詢地區列表 /// /// /// Task> GetAreaSelectOptionListAsync(int cityId); /// /// 透過編號取得,縣市資訊 /// /// /// Task GetOneCityByIdAsync(int cityId); /// /// 透過編號取得,地區資訊 /// /// /// Task GetOneAreaByIdAsync(int areaId); /// /// 取得縣市地區代碼 /// /// /// Task GetCityAreaZipcodeAsync(int areaId); /// /// 透過縣市地區編號,取得該縣市地區最後的流水號 /// /// /// /// Task GetLastSerialNumberByCityAreaIdAsync(int cityId, int areaId); /// /// 新增電站資料至 主、子資料庫 /// /// /// /// /// Task AddOnePowerStationAsync(PowerStation entity, List properties, string db_name); /// /// 修改主、子資料庫電站基本資訊 /// /// /// /// /// Task UpdatePowerStationInfo(UpdatePowerStationInfo entity, List properties, string db_name); /// /// 修改主、子資料庫能源局與台電資訊 /// /// /// /// /// Task UpdateBoETPCInfo(UpdateBoETPCInfo entity, List properties, string db_name); /// /// 取得 土地房屋資訊 /// /// /// /// Task GetOneLandBuildingInfo(int id, string db_name); /// /// 新增 土地房屋資訊 /// /// /// /// Task AddOneLandBuildingInfo(LandBuilding entity, List properties, string db_name); /// /// 更新 土地房屋資訊 /// /// /// /// /// Task UpdateLandBuildingInfo(UpdateLandBuilding entity, List properties, string db_name); /// /// 軟刪除土地房屋資訊 /// /// /// /// Task DeleteOneLandBuildingInfo(int id, string db_name); /// /// 新增運維 /// /// /// /// /// Task AddOperation(OperationInfo operation, List properties, string db_name); /// /// 運維dataTable /// /// /// /// Task> OperationTable (int stationId, string db_name); /// /// 取一筆運維 /// /// /// /// Task OneOperationInfo (int stationId, string db_name); /// /// 更新運維 /// /// /// /// /// Task UpdateOperation(OperationInfo operation, List properties, string db_name); /// /// 裝置類型下拉式選單 /// /// Task> DeviceType(); /// /// 新增 裝置 /// /// /// Task AddDevice(Device DeviceInfo, List properties, string db_name); /// /// 修改 裝置 /// /// /// /// Task UpdateDevice(Device DeviceInfo, List properties, string db_name); /// /// 設備datatable /// /// /// Task> DeviceTable(int stationId, string db_name); /// /// 異常datatable /// /// /// Task> ExceptionTable(int stationId, string db_name); /// /// 取單一筆DeviceInfo /// /// /// Task OneDeviceInfo(int id, string db_name); /// /// 新增 異常設定 /// /// /// /// Task AddException(ExceptionModal Exception, List properties, string db_name); /// /// 取一筆異常設定 /// /// /// Task OneException(int id, string db_name); /// /// 更新異常設定 /// /// /// /// Task UpdateException(ExceptionModal Exception, List properties, string db_name); /// /// 取最後一個設備流水號 /// /// /// /// Task GetFinalSerialNumber(int PowerStationId, string Type, string db_name); /// /// 透過電站編號,取得該電站的運維人員編號 /// /// /// /// Task> GetOperationPersonnelIdsByPowerStatioinId(int powerStationId, string db_name); /// /// 新增電站運維人員 /// /// /// /// /// Task AddOperationPersonnelAsync(List entity, List properties, string db_name); /// /// 軟刪除電站運維人員 /// /// /// /// Task DeleteOperationPersonnel(List operationPersonnels, string db_name); /// /// 電站管理 新增電站圖片 /// /// /// /// /// Task AddPowerStationImageAsync(List entity, List properties, string db_name); /// /// 電站管理 取得所有電站圖片的資料 /// /// /// /// Task> GetAllPowerStationImageAsync(int powerStationId, string db_name); /// /// 電站管理 取得單一電站圖片的資料 /// /// /// /// Task GetOnePowerStationImageAsync(int id, string db_name); /// /// 軟刪除 單一電站圖片 /// /// /// /// Task DeleteOnePowerStationImage(int id, string db_name); /// /// 電站管理 取得主要卡片顯示圖 /// /// /// /// Task GetMainDisplayAsync(int powerStationId, string db_name); /// /// 電站管理 更新上傳圖片 /// /// /// /// /// Task UpdatePowerStationImage(UpdataPowerStationImage image, List properties, string db_name); /// /// 電站管理 新增單線圖 /// /// /// /// /// Task AddPowerStationSingleLineAsync(List entity, List properties, string db_name); /// /// 電站管理 取得所有單線圖的資料 /// /// /// /// Task> GetAllPowerStationSingleLineAsync(int powerStationId, string db_name); /// /// 電站管理 取得單一單線圖的資料 /// /// /// /// Task GetOnePowerStationSingleLineAsync(int id, string db_name); /// /// 軟刪除 單一單線圖 /// /// /// /// Task DeleteOnePowerStationSingleLine(int id, string db_name); /// /// 取得電站分佈縣市以及數量 /// /// /// Task> GetSolarCitySummary(MyUser User); /// /// 透過縣市取得電站卡片資訊 /// /// /// /// Task> GetSolarByCity(MyUser User, List CityId); } }