/// <summary>
        /// 数据库还原
        /// </summary>
        /// <param name="doubleWay"></param>
        /// <returns></returns>
        public async Task <OperateStatus> SystemDataBaseRestore(SystemDataBaseBackUpDoubleWay doubleWay)
        {
            OperateStatus        operateStatus = new OperateStatus();
            SystemDataBaseBackUp baseBackUp    = await GetByIdAsync(doubleWay.Id);

            SystemDataBase systemDataBase = await _systemDataBaseRepository.GetByIdAsync(baseBackUp.DataBaseId);

            //开始进行数据库备份操作
            DbBackUpAndRestore.Uid                 = systemDataBase.UserId;
            DbBackUpAndRestore.Database            = systemDataBase.CatalogName;
            DbBackUpAndRestore.Pwd                 = systemDataBase.Password;
            DbBackUpAndRestore.Server              = systemDataBase.DataSource;
            DbBackUpAndRestore.BackUpOrRestorePath = baseBackUp.Path; //程序根目录地址
            try
            {
                //查询所有备份表信息
                IList <SystemDataBaseBackUp> dataBaseBackUps = (await GetAllEnumerableAsync()).ToList();
                if (DbBackUpAndRestore.Operate(false))
                {
                    //删除备份表
                    await DeleteAllAsync();

                    //更换备份表还原时间
                    var ups = dataBaseBackUps.Where(s => s.BackUpId == baseBackUp.BackUpId).FirstOrDefault();
                    if (ups != null)
                    {
                        ups.RestoreTime = DateTime.Now;
                    }
                    //批量插入备份表信息
                    operateStatus = await InsertMultipleAsync(dataBaseBackUps);
                }
                else
                {
                    operateStatus.Message = Chs.Error;
                }
            }
            catch (Exception ex)
            {
                operateStatus.Message = ex.Message;
            }
            return(operateStatus);
        }
        /// <summary>
        /// 数据库备份
        /// </summary>
        /// <param name="doubleWay"></param>
        /// <returns></returns>
        public async Task <OperateStatus> SystemDataBaseBackUp(SystemDataBaseBackUpDoubleWay doubleWay)
        {
            OperateStatus  operateStatus  = new OperateStatus();
            SystemDataBase systemDataBase = await _systemDataBaseRepository.GetByIdAsync(doubleWay.DataBaseId);

            string bakPath = "\\DataUsers\\DataBaseBackUps\\" + systemDataBase.CatalogName + DateTime.Now.ToString("yyyyMMddhhssmm") + ".bak";

            //开始进行数据库备份操作
            DbBackUpAndRestore.Uid                 = systemDataBase.UserId;
            DbBackUpAndRestore.Database            = systemDataBase.CatalogName;
            DbBackUpAndRestore.Pwd                 = systemDataBase.Password;
            DbBackUpAndRestore.Server              = systemDataBase.DataSource;
            DbBackUpAndRestore.BackUpOrRestorePath = doubleWay.BackUpOrRestorePath + bakPath; //程序根目录地址
            try
            {
                if (DbBackUpAndRestore.Operate())
                {
                    //添加备份记录
                    SystemDataBaseBackUp backUp = new SystemDataBaseBackUp()
                    {
                        BackUpId   = CombUtil.NewComb(),
                        BackUpTime = DateTime.Now,
                        DataBaseId = doubleWay.DataBaseId,
                        From       = (byte)EnumFrom.手动,
                        Name       = systemDataBase.CatalogName + DateTime.Now.ToString("yyyyMMddhhssmm") + ".bak",
                        Path       = DbBackUpAndRestore.BackUpOrRestorePath,
                        Size       = FileUtil.GetFileSize(DbBackUpAndRestore.BackUpOrRestorePath)
                    };
                    operateStatus = await InsertAsync(backUp);
                }
                else
                {
                    operateStatus.Message = Chs.Error;
                }
            }
            catch (Exception ex)
            {
                operateStatus.Message = ex.Message;
            }
            return(operateStatus);
        }