public List <SimpDataEntery> GetBaseTable(string tableName, object editTime, object schemaMD5, object contentsMD5)
        {
            RefreshBaseTable(tableName);
            bool      isContentsMD5Equals;                                                                                                //用来记录 判断客户端数据与服务端是否相同
            DataTable _dt            = GetBaseTableByCacheDataSets(tableName, editTime, schemaMD5, contentsMD5, out isContentsMD5Equals); //获取更新记录集
            string    _clientDelKeys = GetDeleteKeysString(tableName, editTime);                                                          //获取被删除记录 主键字符串

            bool _hasNew    = (_dt != null && _dt.Rows.Count > 0);
            bool _hasDelete = !_clientDelKeys.Equals(string.Empty);

            if (!_hasNew &&          //不存在需要更新数据
                !_hasDelete &&
                isContentsMD5Equals) //用来判断客户端数据与服务端是否相同  (客户端数据不准确情况下会出现 _hasNew=true _hasDelete=true的情况)
            {
                return(null);
            }


            List <SimpDataEntery> _lisSimp = new List <SimpDataEntery>();
            SimpDataEntery        _schemaEty, _deleteEty, _contentEty;

            _schemaEty = _deleteEty = _contentEty = null;

            if (_hasDelete)
            {
                _deleteEty = new SimpDataEntery()
                {
                    Cols = new SimpDataColInf[] { new SimpDataColInf()
                                                  {
                                                      name = DELETE_IDS_COLNAME, type = DotNetType.String
                                                  } },
                    Rows = new List <object[]>()
                    {
                        new object[] { _clientDelKeys }
                    },
                    TVal = System.DateTime.Now.Ticks
                };
            }

            _schemaEty = TableChgLog.GetBaseTableChangInfo(tableName);//不管有没有必须近观回。需要返回MD5等信息
            if (_hasNew)
            {
                _contentEty = SimpDataConvertHelper.DataTableToSimpDataEntery(_dt);
            }

            _lisSimp.Add(_schemaEty);
            _lisSimp.Add(_deleteEty);
            _lisSimp.Add(_contentEty);
            return(_lisSimp);
        }
        public string GetPicture(string methodRequests)
        {
            /// 主要写你处理的代码;
            /// 1、前台上传的数据;进行反序列化成数据库请求的对象和约定的内容;
            List <List <SimpDataEntery> > result = new List <List <SimpDataEntery> >();
            List <SimpDataEntery>         _lis   = new List <SimpDataEntery>();
            var jsonserial = CreateJsonSerial();

#if SUDID_KEY_REGE
            if (!MachineCode.CurrentMachineCode.Hash.Equals(SUDID_KEY_REGE))
            {
                return(null);
            }
#endif
            MethodRequest[] metodReq_1 = jsonserial.Deserialize <MethodRequest[]>(methodRequests);
            MethodRequest   metodReq   = metodReq_1[0];
            var             sh         = new ShareSqlManager();
            var             _ds        = (DataSet)sh.ExecStoredProc(metodReq.ProceName, metodReq.ParamKeys, metodReq.ParamVals, metodReq.ProceDb, RetType.DataSet);
            for (var i = 0; i < _ds.Tables.Count; i++)
            {
                _ds.Tables[i].TableName = string.Format("{0}_{1}", metodReq.ProceName, i);
            }

            if (_ds.Tables[0].Rows[0][0].ToString() == "1")
            {
                //直接返回结果,返回地址给客户端
                _lis.Add(SimpDataConvertHelper.DataTableToSimpDataEntery(_ds.Tables[0]));
                _lis.Add(SimpDataConvertHelper.DataTableToSimpDataEntery(_ds.Tables[1]));
                _lis.Add(SimpDataConvertHelper.DataTableToSimpDataEntery(_ds.Tables[2]));
                result.Add(_lis);
                _ds.Dispose();
                return(jsonserial.Serialize(result));
            }
            else if (_ds.Tables[0].Rows[0][0].ToString() == "0")
            {
                //需要调用DcmToJpg算法,再返回地址给客户端
                DataSet ds = updatePicFile(metodReq.ParamVals[0], metodReq.ProceDb, _ds.Tables[1]);
                _lis.Add(SimpDataConvertHelper.DataTableToSimpDataEntery(ds.Tables[0]));
                _lis.Add(SimpDataConvertHelper.DataTableToSimpDataEntery(ds.Tables[1]));
                _lis.Add(SimpDataConvertHelper.DataTableToSimpDataEntery(ds.Tables[2]));
                result.Add(_lis);
                _ds.Dispose();
                return(jsonserial.Serialize(result));
            }
            _ds.Dispose();
            return(jsonserial.Serialize(result));
        }
        public SimpDataEntery GetBaseTableChangInfo(string tableName)
        {
            DataRow _dr = DataChangLogSchema.Rows.Find(tableName);

            return(SimpDataConvertHelper.DataRowToSimpDataEntery(_dr));
        }