示例#1
0
        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);
            }
        }
示例#2
0
        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);
            }
        }