FIC_Solar/SolarPower/Repository/Interface/ICompanyRepository.cs
Kai 3060aa64ce 1. bug fix
2. 運維作業紀錄 預設改為未完成
3. company 加入 v_company_inv
2021-08-27 11:05:52 +08:00

110 lines
3.5 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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<Company>
{
/// <summary>
/// 取得當前使用者所在的公司資訊
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
MyCompany GetMyCompanyInfoById(int id);
/// <summary>
/// 修改公司資料
/// </summary>
/// <param name="entity"></param>
/// <param name="properties"></param>
/// <returns></returns>
Task UpdateCompany(UpdateCompany entity, List<string> properties);
/// <summary>
/// 取得下拉式公司選單須為Deleted: 0、Status: 1
/// </summary>
/// <param name="filter"></param>
/// <returns></returns>
Task<List<CompanySelectItemList>> GetCompanySelectOptionListAsync(int companyId);
/// <summary>
/// 透過搜尋條件,查詢過濾後的公司
/// </summary>
/// <param name="filter"></param>
/// <returns></returns>
Task<List<CompanyDataTable>> GetAllByFilterAsync(PostCompanyFilter filter);
/// <summary>
/// 透過公司Id查詢該公司底下狀態為正常的使用者
/// </summary>
/// <param name="filter"></param>
/// <returns></returns>
Task<int> GetNormalUserNumberByCompanyIdAsync(int id);
/// <summary>
/// 取得單一公司資料
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
Task<Company> GetOneCompany(int id);
/// <summary>
/// 透過統編,取得單一公司基本資料
/// </summary>
/// <param name="taxIDNumber"></param>
/// <returns></returns>
Task<SimpleCompany> GetOneNormalSimpleCompanyByTaxIDNumber(string taxIDNumber);
/// <summary>
/// 透過公司編號,取得該公司的註冊人數
/// </summary>
/// <param name="companyId"></param>
/// <returns></returns>
Task<int> GetRegisterNumberByCompanyId(int companyId);
/// <summary>
/// 透過公司編號,取得該公司的權限池
/// </summary>
/// <param name="companyId"></param>
/// <returns></returns>
Task<List<CompanyAuthDataTable>> GetCompanyAuthByCompanyId(int companyId);
/// <summary>
/// 實際刪除公司權限池
/// </summary>
/// <param name="companyId"></param>
/// <returns></returns>
Task PurgeCompanyAuth(List<CompanyAuth> companyAuths);
/// <summary>
/// 實際刪除公司角色擁有的權限
/// </summary>
/// <param name="companyAuths"></param>
/// <returns></returns>
Task PurgeCompanyRoleAuth(int companyId, List<CompanyAuth> companyAuths);
/// <summary>
/// 新增公司權限池
/// </summary>
/// <param name="post"></param>
/// <returns></returns>
Task<int> AddCompanyAuthAsync(List<CompanyAuth> entity, List<string> properties);
/// <summary>
/// 創建公司自己的DB
/// </summary>
/// <param name="dbName"></param>
/// <returns></returns>
Task CreatCompanyDB(string dbName);
Task<List<string>> GetAllCompanyDBName();
Task AlterViewCompanyInv(List<string> db_names);
}
}