private void LoadAlarmUserInfos() { try { mListAlarmUserInfos.Clear(); if (AlarmItem == null) { return; } long alarmID = AlarmItem.SerialID; WebRequest webRequest = new WebRequest(); webRequest.Session = CurrentApp.Session; webRequest.Code = (int)S4410Codes.GetAlarmUserList; webRequest.ListData.Add(CurrentApp.Session.UserID.ToString()); webRequest.ListData.Add(alarmID.ToString()); Service44101Client client = new Service44101Client( WebHelper.CreateBasicHttpBinding(CurrentApp.Session), WebHelper.CreateEndpointAddress(CurrentApp.Session.AppServerInfo, "Service44101")); WebReturn webReturn = client.DoOperation(webRequest); if (!webReturn.Result) { ShowException(string.Format("WSFail.\t{0}\t{1}", webReturn.Code, webReturn.Message)); return; } if (webReturn.ListData == null) { ShowException(string.Format("ListData is null")); return; } OperationReturn optReturn; for (int i = 0; i < webReturn.ListData.Count; i++) { string strInfo = webReturn.ListData[i]; optReturn = XMLHelper.DeserializeObject <AlarmUserInfo>(strInfo); if (!optReturn.Result) { ShowException(string.Format("Fail.\t{0}\t{1}", optReturn.Code, optReturn.Message)); return; } AlarmUserInfo info = optReturn.Data as AlarmUserInfo; if (info == null) { ShowException(string.Format("AlarmUserInfo is null")); return; } mListAlarmUserInfos.Add(info); } CurrentApp.WriteLog("LoadAlarmUserInfos", string.Format("End.\t{0}", mListAlarmUserInfos.Count)); } catch (Exception ex) { ShowException(ex.Message); } }
private void SaveAlarmUserInfos() { try { if (AlarmItem == null) { return; } long alarmID = AlarmItem.SerialID; List <ObjItem> listItems = new List <ObjItem>(); GetCheckItems(mRootUserItem, ref listItems); List <AlarmUserInfo> listUserInfos = new List <AlarmUserInfo>(); for (int i = 0; i < listItems.Count; i++) { var item = listItems[i]; var objID = item.ObjID; var objType = item.ObjType; var temp = mListAlarmUserInfos.FirstOrDefault(a => a.UserID == objID); if (temp == null) { temp = new AlarmUserInfo(); temp.AlarmID = alarmID; temp.UserID = objID; temp.UserType = objType; temp.Creator = CurrentApp.Session.UserID; temp.CreateTime = DateTime.Now.ToUniversalTime(); } temp.Modifier = CurrentApp.Session.UserID; temp.ModifyTime = DateTime.Now.ToUniversalTime(); listUserInfos.Add(temp); } int count = listUserInfos.Count; WebRequest webRequest = new WebRequest(); webRequest.Session = CurrentApp.Session; webRequest.Code = (int)S4410Codes.SaveAlarmUser; webRequest.ListData.Add(CurrentApp.Session.UserID.ToString()); webRequest.ListData.Add(alarmID.ToString()); webRequest.ListData.Add(count.ToString()); OperationReturn optReturn; for (int i = 0; i < count; i++) { var userInfo = listUserInfos[i]; optReturn = XMLHelper.SeriallizeObject(userInfo); if (!optReturn.Result) { ShowException(string.Format("Fail.\t{0}\t{1}", optReturn.Code, optReturn.Message)); return; } webRequest.ListData.Add(optReturn.Data.ToString()); } bool isFail = true; string strMsg = string.Empty; BackgroundWorker worker = new BackgroundWorker(); worker.DoWork += (s, de) => { try { Service44101Client client = new Service44101Client(WebHelper.CreateBasicHttpBinding(CurrentApp.Session), WebHelper.CreateEndpointAddress(CurrentApp.Session.AppServerInfo, "Service44101")); WebReturn webReturn = client.DoOperation(webRequest); client.Close(); if (!webReturn.Result) { strMsg = string.Format("WSFail.\t{0}\t{1}", webReturn.Code, webReturn.Message); return; } if (webReturn.ListData == null) { strMsg = string.Format("Fail.\tListData is null"); return; } for (int i = 0; i < webReturn.ListData.Count; i++) { CurrentApp.WriteLog("SaveAlarmUserInfos", string.Format("{0}", webReturn.ListData[i])); } isFail = false; } catch (Exception ex) { strMsg = ex.Message; } }; worker.RunWorkerCompleted += (s, re) => { worker.Dispose(); if (isFail) { ShowException(strMsg); } else { ShowInformation(CurrentApp.GetLanguageInfo("4415N010", string.Format("Save Alarm User end."))); var parent = Parent as PopupPanel; if (parent != null) { parent.IsOpen = false; } } }; worker.RunWorkerAsync(); } catch (Exception ex) { ShowException(ex.Message); } }