using Microsoft.Extensions.Logging;
using SlnMesnac.Model.domain;
using SlnMesnac.Repository.service.@base;
using SlnMesnac.Serilog;
using System;
using System.Collections.Generic;
using System.Text;

#region << 版 本 注 释 >>
/*--------------------------------------------------------------------
* 版权所有 (c) 2024 WenJY 保留所有权利。
* CLR版本：4.0.30319.42000
* 机器名称：LAPTOP-E0N2L34V
* 命名空间：SlnMesnac.Repository.service.Impl
* 唯一标识：496f8d2b-70e3-4a05-ae18-a9b0fcd06b82
*
* 创建者：WenJY
* 电子邮箱：wenjy@mesnac.com
* 创建时间：2024-03-27 21:58:35
* 版本：V1.0.0
* 描述：
*
*--------------------------------------------------------------------
* 修改人：
* 时间：
* 修改说明：
*
* 版本：V1.0.0
*--------------------------------------------------------------------*/
#endregion << 版 本 注 释 >>
namespace SlnMesnac.Repository.service.Impl
{
    public class BaseUserServiceImpl : BaseServiceImpl<BaseUser>,IBaseUserService
    {
        private readonly SerilogHelper _logger;

        public BaseUserServiceImpl(Repository<BaseUser> rep, SerilogHelper logger) :base(rep)
        {
            _logger = logger;
        }


        public List<BaseUser> GetUsers()
        {
            List<BaseUser> users = null;
            try
            {
                users = base._rep.GetList();
            }
            catch (Exception ex)
            {
                _logger.Error($"获取用户信息异常{ex.Message}");
            }
            return users;
        }

        public bool InsertUsers(List<BaseUser> users)
        {
            bool result = false;
            try
            {
                base._rep.AsTenant().BeginTran();

                result = base._rep.InsertRange(users);

                base._rep.AsTenant().CommitTran();
            }
            catch (Exception ex)
            {
                base._rep.AsTenant().RollbackTran();
                _logger.Error($"用户信息添加异常:{ex.Message}");
            }
            return result;
        }
    }
}
