Example #1
0
        /// <summary> 获取上传协议
        /// </summary>
        /// <param name="dr">数据行</param>
        /// <param name="dbName">帐套</param>
        /// <returns></returns>
        private static AnnounceProtocol GetProtocol(DataRow dr, string dbName)
        {
            AnnounceProtocol protocol = new AnnounceProtocol();

            protocol.StationId = GlobalStaticObj_Server.Instance.StationID;
            //根据表名得到子消息ID
            protocol.SubMessageId = SubMessageId;
            protocol.TimeSpan     = TimeHelper.GetTimeInMillis();
            //Json对象
            string json = JsonHelper.DataTableToJson(dr, protocol.StationId, dbName, true);

            json          = BaseCodeHelper.EnCode(json);
            protocol.Json = json;
            return(protocol);
        }
Example #2
0
 /// <summary> 操作数据
 /// </summary>
 /// <param name="dt">数据表</param>
 /// <param name="operation">操作类别</param>
 /// <param name="dbName">帐套</param>
 private static void Operation(DataTable dt, string operation, string dbName)
 {
     if (dt == null)
     {
         return;
     }
     foreach (DataRow dr in dt.Rows)
     {
         AnnounceProtocol protocol = GetProtocol(dr, dbName);
         if (protocol != null)
         {
             protocol.Operation = operation;
             ServiceAgent.AddSendQueue(protocol);
         }
     }
 }
Example #3
0
        /// <summary> 获取上传协议
        /// </summary>
        /// <param name="dt">数据表</param>
        /// <param name="dbName">帐套</param>
        /// <returns></returns>
        private static List <AnnounceProtocol> GetUploadDataProtocol(DataTable dt, string dbName)
        {
            List <AnnounceProtocol> protocols = new List <AnnounceProtocol>();

            if (dt != null)
            {
                AnnounceProtocol protocol = null;
                foreach (DataRow dr in dt.Rows)
                {
                    protocol = GetProtocol(dr, dbName);
                    if (protocol != null)
                    {
                        protocols.Add(protocol);
                    }
                }
            }
            return(protocols);
        }
Example #4
0
 /// <summary> 处理收到的公告信息
 /// </summary>
 /// <param name="protocol"></param>
 public static void Deal(AnnounceProtocol protocol)
 {
     //保存至数据库,并返回成功/失败信息
     ThreadPool.QueueUserWorkItem(new WaitCallback(SaveData), protocol);
 }
Example #5
0
 /// <summary> 接收保存数据
 /// </summary>
 /// <param name="state"></param>
 /// <returns></returns>
 private static void SaveData(object state)
 {
     if (state is AnnounceProtocol)
     {
         AnnounceProtocol protocol = state as AnnounceProtocol;
         DataTable        dt       = JsonHelper.JsonToDataTable(protocol.Json, TableName, true);
         if (dt == null || dt.Rows.Count == 0)
         {
             return;
         }
         bool   result = false;
         string id     = "announcement_id";
         Dictionary <string, string> dicFileds = new Dictionary <string, string>();
         foreach (DataColumn dc in dt.Columns)
         {
             if (dc.ColumnName != id)
             {
                 dicFileds.Add(dc.ColumnName, dt.Rows[0][dc.ColumnName].ToString());
             }
         }
         if (protocol.Operation.Equals(DataSources.EnumOperationType.Add.ToString("d")))
         {
             if (dt.Columns.Contains(id))
             {
                 dicFileds.Add(id, dt.Rows[0][id].ToString());
             }
             foreach (string db in AutoTask.GetDatabaseList())
             {
                 //添加数据
                 result = DBHelper.Submit_AddOrEdit("添加云平台公告信息", db, dt.TableName, "", "", dicFileds);
             }
         }
         else if (protocol.Operation.Equals(DataSources.EnumOperationType.Update.ToString("d")))
         {
             if (dt.Columns.Contains(id))
             {
                 foreach (string db in AutoTask.GetDatabaseList())
                 {
                     //修改数据
                     result = DBHelper.Submit_AddOrEdit("修改云平台公告信息", db, dt.TableName, id, dt.Rows[0][id].ToString(), dicFileds);
                 }
             }
         }
         ResultProtocol rp = new ResultProtocol();
         rp.StationId        = protocol.StationId;
         rp.SerialNumber     = protocol.SerialNumber;
         rp.MessageId        = protocol.MessageId;
         rp.SubMessageId     = protocol.SubMessageId;
         rp.TimeSpan         = protocol.TimeSpan;
         rp.SerialNumberLock = true;
         if (result)
         {
             rp.Result = DataSources.EnumResultType.Success.ToString("d");
         }
         else
         {
             rp.Result = DataSources.EnumResultType.Fail.ToString("d");
         }
         ServiceAgent.AddSendQueue(rp);
     }
 }