c#数据上传和数据重装(数据压缩和解压)

换了工作后适应了一段时间后来项目又急,一直没有时间来记录学习的心得,今天忙里偷闲,整理一下。

这段时间做了一个将数据上传到服务器进行数据同步,本地数据损坏时还需要进行数据重装。因为数据比较大,上传前要进行数据的压缩,传到服务器要进行数据的解压。

1,数据上传

       需要上传到后台的表都需要添加一个标志字段updatestate(0代表新增的数据;1代表已经上传的数据;2代表上传后又进行修改的数据)。

       把一个表的数据整理成一个JArray,把所有表的JArray添加到一个JObject转化成json,

       

       举例:         
JArray array5 = new JArray(); int length5 = posConfig.Count(); for (int i = 0; i < length5; i++) { smartpos.wpos.App.DAL.CSPos.PosConfig s = posConfig[i]; JObject jsonObject = new JObject(); jsonObject.Add("package_name", s.packagename); jsonObject.Add("pos_confg_version", s.posconfgversion == null ? "0" : s.posconfgversion); jsonObject.Add("config", s.config); jsonObject.Add("ls_dirty", s.isdirty == true ? 1 : 0); jsonObject.Add("create_at", s.createat == null ? lastCreatAt : s.createat.ToString()); jsonObject.Add("create_by", s.createby == null ? "null" : s.createby); jsonObject.Add("last_update_at", s.lastupdateat == null ? lastCreatAt : s.lastupdateat.ToString()); jsonObject.Add("last_update_by", s.lastupdateby == null ? "null" : s.lastupdateby); jsonObject.Add("is_deleted", s.isdeleted == true ? 1 : 0); jsonObject.Add("tenant_id", tenantId); jsonObject.Add("branch_id", branchId); jsonObject.Add("local_id", s.id); jsonObject.Add("version", 0); jsonObject.Add("pos_id", posid); if (s.updatestate == 0) { jsonObject.Add("operation_type", "insert"); } else if (s.updatestate == 2) { jsonObject.Add("operation_type", "update"); } array5.Add(jsonObject); if (array5.Count() >= 10) { break; } } if (length5 > 0) { _object.Add("pos_config", array5); }

    

原文地址:https://www.cnblogs.com/janeaiai/p/6381756.html