using System.Collections.Generic; using System.Threading.Tasks; using Repository.Models; namespace Repository.BackendRepository.Interface { public interface INiagaraDataSynchronizeRepository : IBackendRepository { /// <summary> /// 同步N4至資料表 import_niagara_tag /// </summary> /// <param name="ds"></param> /// <param name="building"></param> /// <returns></returns> Task InsertNiagaraTagList(List<Device_value> ds, List<string> building, string tag_quantity); /// <summary> /// 獲取照明開關 是否在 device_node 層 /// </summary> /// <returns></returns> Task<string> getLightSwitchLevel(); /// <summary> /// 同步N4至資料表 import_niagara_item /// </summary> /// <param name="ds"></param> /// <param name="building"></param> /// <returns></returns> Task InsertItemFromNiagara(List<ImpNiaItem> ds, List<string> building); /// <summary> /// 比對 device /// </summary> /// <returns></returns> Task DeviceComparison(string LightSwitchLevel); /// <summary> ///檢查Device與import_niagara_tag 的Full_Name是否相同 不同則Full_Name從import_niagara_tag 覆蓋至device /// </summary> /// <returns></returns> Task CheckDiffFullNameAndCover(); Task CheckItemIsShowHistory(); /// <summary> /// 比對 device的FullName,若為空則以DeviceName取代 /// </summary> /// <returns></returns> Task CheckFullNameEmptyReplaceByDeviceName(); /// <summary> /// 比對 device_item /// </summary> /// <returns></returns> Task DeviceItemComparison(); /// <summary> /// 比對 device_item full_name 與 import_niagara_item是否相同 /// 不同則覆蓋 /// </summary> /// <returns></returns> Task CheckItemDiffFullNameAndCover(); Task ItemCheckFullNameEmptyReplaceByDeviceName(); /// <summary> /// 新增資料至 buildingMenu /// </summary> /// <returns></returns> Task InsertBuildingMenu(); /// <summary> /// 新增資料至 subSystemFloor /// </summary> /// <returns></returns> Task InsertSubSystemFloor(); } }