/// <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); } }