using BPA.SAAS.Manage.Application.Org.Dtos.Company;
using BPA.SAAS.Manage.Application.Org.Interface;
using BPA.SAAS.Manage.Core.Base;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace BPA.SAAS.Manage.Application.Org
{
    [ApiDescriptionSettings("Org", Tag = "加盟商信息")]
    public class CompanyServices: IDynamicApiController
    {
        ICompanyService _companyService;
        public CompanyServices(ICompanyService companyService)
        {
            _companyService=companyService;
        }
        /// <summary>
        /// 查询企业信息
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        [HttpPost("/api/company/companypage")]
        public async Task<PageUtil> CompanyPage(CompanyDtoPageInput input)
        {
            return await _companyService.CompanyPage(input);
        }
        /// <summary>
        /// 添加企业信息
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        [HttpPost("/api/company/add")]
        public async Task<bool> AddCompany(CompanyDtoInput input)
        {
            return await _companyService.AddCompany(input);
        }
        /// <summary>
        /// 修改企业信息
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        [HttpPost("/api/company/update")]
        public async Task<bool> UpdateCompany(CompanyDtoInput input)
        {
            return await _companyService.UpdateCompany(input);
        }
        /// <summary>
        /// 删除企业信息
        /// </summary>
        /// <param name="inputList"></param>
        /// <returns></returns>
        [HttpPost("/api/company/delete")]
        public async Task<bool> BatchDelCompany(List<string> inputList)
        {
            return await _companyService.BatchDelCompany(inputList);
        }
        /// <summary>
        /// 启用
        /// </summary>
        /// <param name="Id"></param>
        /// <returns></returns>
        [HttpGet("/api/company/enable")]
        public async Task<bool> Enable(string Id)
        {
            return await _companyService.Enable(Id);
        }
        /// <summary>
        /// 禁用
        /// </summary>
        /// <param name="Id"></param>
        /// <returns></returns>
        [HttpGet("/api/company/disable")]
        public async Task<bool> Disable(string Id)
        {
            return await _companyService.Disable(Id);
        }
    }
}
