コード例 #1
0
        public void _003CAsyncPOST_003Eb__0(HttpWebResponse response)
        {
            LawData obj = null;

            try
            {
                string text = "";
                using (Stream stream = response.GetResponseStream())
                {
                    using (StreamReader streamReader = new StreamReader(stream, Encoding.UTF8))
                    {
                        text = streamReader.ReadToEnd();
                    }
                }
                if (!text.Equals(""))
                {
                    obj = XmlHelper.XmlDeserialize <LawData>(text, Encoding.UTF8);
                }
            }
            catch (Exception ex)
            {
                if (ErrorAction != null)
                {
                    ErrorAction();
                }
                LogTool.Debug(ex);
            }
            DoAction(obj);
        }
コード例 #2
0
        private void InitUI()
        {
            Action <LawData> action = null;

            MouseTool.ShowLoading();
            LawCT_Title.Text = Settings.Default.LawButtonName;
            new HttpRequest();
            if (NetworkTool.CheckNetwork() > 0)
            {
                if (action == null)
                {
                    action = new Action <LawData>(_003CInitUI_003Eb__1b);
                }
                GetLawData.AsyncPOST(action);
                return;
            }
            DataTable dataTable = MSCE.GetDataTable("select LawJson from LawData");

            if (dataTable.Rows.Count > 0)
            {
                LawData ld = JsonConvert.DeserializeObject <LawData>(dataTable.Rows[0]["LawJson"].ToString());
                GetLawData_DoAction(ld);
            }
            else
            {
                AutoClosingMessageBox.Show("無法取得資料,請稍後再試");
                MouseTool.ShowArrow();
            }
        }
コード例 #3
0
        private void GetLawData_DoAction(LawData ld)
        {
            //先判斷是否要invoke
            if (this.Dispatcher.CheckAccess() == false)
            {
                // 這裡是下載事件處理,優先權設定為ContextIdle => 列舉值為 3。 幕後作業完成後,會處理作業。
                this.Dispatcher.BeginInvoke(new Action <LawData>(GetLawData_DoAction), ld);
            }
            else
            {
                if (ld != null)
                {
                    Task.Factory.StartNew(() =>
                    {
                        this.Dispatcher.BeginInvoke(new Action(() =>
                        {
                            int i = 0;
                            foreach (LawDataLaw item in ld.LawList)
                            {
                                i++;
                                bool IsLastRow = (i == ld.LawList.Length);
                                LawRowSP.Children.Add(new LawRow(UserID, UserName, UserPWD
                                                                 , IsLastRow, item
                                                                 , LawListCT_HangTheDownloadEvent_Callback
                                                                 , LawListCT_IsAllLawRowFinished_AddInitUIFinished_Callback
                                                                 , LawListCT_GetBookVMs_ByMeetingFileCate_Callback));
                            }
                        }));
                    });

                    DataTable dt = MSCE.GetDataTable("select LawJson from LawData");

                    if (dt.Rows.Count > 0)
                    {
                        MSCE.ExecuteNonQuery(@"UPDATE [LawData] SET [LawJson] = @1"
                                             , JsonConvert.SerializeObject(ld));
                    }
                    else
                    {
                        MSCE.ExecuteNonQuery(@"INSERT INTO [LawData] ([LawJson])
                                                            VALUES (@1)"
                                             , JsonConvert.SerializeObject(ld));
                    }
                }
                else
                {
                    AutoClosingMessageBox.Show("無法取得資料,請稍後再試");
                }
                MouseTool.ShowArrow();
            }
        }
コード例 #4
0
        private void InitUI()
        {
            MouseTool.ShowLoading();
            //LawCT_Title.Text = MyPL.Properties.Settings.Default.LawButtonName;
            txtTitle.Text = ButtonName;
            //Network.HttpRequest hr = new Network.HttpRequest();
            if (1 == 1 || NetworkTool.CheckNetwork() > 0)
            {
                // 非同步POST方法
                //GetLawData.AsyncPOST((ld) => { GetLawData_DoAction(ld); });
                GetUserFolder.AsyncPOST(UserID, UserPWD, (fd) => { GetUserFolder_DoAction(fd); });
                //, () => { this.Dispatcher.BeginInvoke(new Action(() => { AutoClosingMessageBox.Show("無法取得資料,請稍後再試"); })); });
            }
            else
            {
                DataTable dt = MSCE.GetDataTable("select LawJson from LawData");


                if (dt.Rows.Count > 0)
                {
                    LawData ld = JsonConvert.DeserializeObject <LawData>(dt.Rows[0]["LawJson"].ToString());
                    GetLawData_DoAction(ld);
                }
                else
                {
                    AutoClosingMessageBox.Show("無法取得資料,請稍後再試");
                    MouseTool.ShowArrow();
                }
            }



            #region  步POST
            //LawData lawData = GetLawData.POST();

            //if (lawData != null)
            //{
            //    int i=0;
            //    foreach (LawDataLaw item in lawData.LawList)
            //    {
            //        i++;
            //        bool IsLastRow= (i==lawData.LawList.Length);
            //        LawRowSP.Children.Add(new LawRow(item,IsLastRow, LawListCT_HangTheDownloadEvent_Callback));
            //    }
            //}
            //else
            //{
            //    AutoClosingMessageBox.Show("無法取得資料,請稍後再試");
            //}
            #endregion
        }
コード例 #5
0
    public static LawData POST()
    {
        LawData result = null;

        try
        {
            string url  = WsTool.GetUrl();
            string text = HttpTool.CreateRequest(url + "/LawData", "POST");
            if (text.Equals(""))
            {
                return(result);
            }
            result = XmlHelper.XmlDeserialize <LawData>(text, Encoding.UTF8);
            return(result);
        }
        catch (Exception ex)
        {
            LogTool.Debug(ex);
            return(result);
        }
    }
コード例 #6
0
        private void GetLawData_DoAction(LawData ld)
        {
            Action action = null;
            _003C_003Ec__DisplayClass20 _003C_003Ec__DisplayClass = new _003C_003Ec__DisplayClass20();

            _003C_003Ec__DisplayClass.ld = ld;
            _003C_003Ec__DisplayClass._003C_003E4__this = this;
            if (!base.Dispatcher.CheckAccess())
            {
                base.Dispatcher.BeginInvoke(new Action <LawData>(GetLawData_DoAction), _003C_003Ec__DisplayClass.ld);
                return;
            }
            if (_003C_003Ec__DisplayClass.ld != null)
            {
                TaskFactory factory = Task.Factory;
                if (action == null)
                {
                    action = new Action(_003C_003Ec__DisplayClass._003CGetLawData_DoAction_003Eb__1d);
                }
                factory.StartNew(action);
                DataTable dataTable = MSCE.GetDataTable("select LawJson from LawData");
                if (dataTable.Rows.Count > 0)
                {
                    MSCE.ExecuteNonQuery("UPDATE [LawData] SET [LawJson] = @1", JsonConvert.SerializeObject(_003C_003Ec__DisplayClass.ld));
                }
                else
                {
                    MSCE.ExecuteNonQuery("INSERT INTO [LawData] ([LawJson])\r\n                                                            VALUES (@1)", JsonConvert.SerializeObject(_003C_003Ec__DisplayClass.ld));
                }
            }
            else
            {
                AutoClosingMessageBox.Show("無法取得資料,請稍後再試");
            }
            MouseTool.ShowArrow();
        }
コード例 #7
0
 private void _003CInitUI_003Eb__1b(LawData ld)
 {
     GetLawData_DoAction(ld);
 }