using MySqlX.XDevAPI.Common;
using OASystem.Domain.Dtos;
using OASystem.Domain.Entities.System;
using OASystem.Domain.ViewModels.System;
using OASystem.Infrastructure.Repositories.System;

namespace OASystem.API.Controllers
{
    /// <summary>
    /// 系统设置
    /// </summary>
    [Route("[controller]/[action]")]
    public class SystemController : ControllerBase
    {
        readonly Sys_DepartmentRepository _sysDepRep;
        readonly IMapper _mapper;

        public SystemController(Sys_DepartmentRepository sysDepRep, IMapper mapper)
        {
            _sysDepRep = sysDepRep;
            _mapper = mapper;
        }


        //[Authorize]
        [HttpPost]
        [ProducesResponseType(typeof(LoginView), StatusCodes.Status200OK)]
        public async Task<IActionResult> fnQueryDepartment(Sys_DepartmentDto dto)
        {
            _sysDepRep.BeginTran();
            var result = _sysDepRep.QueryDto<Sys_Department,Sys_DepartmentView>(s => s.CompanyId == dto.CompanyId).ToList();
            foreach (var item in result)
            {
                item.a = "123";
            }
            //string sql = "select * from Sys_Department where CompanyId='2'";
            //var result2 = _sysDepRep.GetListBySqlWithNolock(sql);
            //List<Sys_DepartmentView> dep = _mapper.Map<List<Sys_DepartmentView>>(result2);
           
            return Ok(JsonView(0, "调用完成:", result));
        }
    }
}