using SolarPower.Models; using SolarPower.Models.Company; using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; namespace SolarPower.Repository.Interface { public interface ICompanyRepository : IRepositoryBase { /// /// 取得當前使用者所在的公司資訊 /// /// /// MyCompany GetMyCompanyInfoById(int id); /// /// 修改公司資料 /// /// /// /// Task UpdateCompany(UpdateCompany entity, List properties); /// /// 取得下拉式公司選單,須為Deleted: 0、Status: 1 /// /// /// Task> GetCompanySelectOptionListAsync(int companyId); /// /// 透過搜尋條件,查詢過濾後的公司 /// /// /// Task> GetAllByFilterAsync(PostCompanyFilter filter); /// /// 透過公司Id,查詢該公司底下狀態為正常的使用者 /// /// /// Task GetNormalUserNumberByCompanyIdAsync(int id); /// /// 取得單一公司資料 /// /// /// Task GetOneCompany(int id); /// /// 透過統編,取得單一公司基本資料 /// /// /// Task GetOneNormalSimpleCompanyByTaxIDNumber(string taxIDNumber); /// /// 透過公司編號,取得該公司的註冊人數 /// /// /// Task GetRegisterNumberByCompanyId(int companyId); /// /// 透過公司編號,取得該公司的權限池 /// /// /// Task> GetCompanyAuthByCompanyId(int companyId); /// /// 實際刪除公司權限池 /// /// /// Task PurgeCompanyAuth(List companyAuths); /// /// 實際刪除公司角色擁有的權限 /// /// /// Task PurgeCompanyRoleAuth(int companyId, List companyAuths); /// /// 新增公司權限池 /// /// /// Task AddCompanyAuthAsync(List entity, List properties); /// /// 創建公司自己的DB /// /// /// Task CreatCompanyDB(string dbName); Task> GetAllCompanyDBName(); Task AlterViewCompanyInv(List db_names); } }