コード例 #1
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);
     }
 }