Exemple #1
0
 private void _003CSignListCT_Loaded_003Eb__1()
 {
     try
     {
         InitUI();
         InitEvent();
     }
     catch (Exception ex)
     {
         LogTool.Debug(ex);
     }
     MouseTool.ShowArrow();
 }
        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
        }
        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();
            }
        }
Exemple #4
0
 public SignPadCT(string UserID = "", string UserName = "", string DeptID = "", string PicUrl = "", Home_GoBackTogSignPictureCT_Function callback1 = null)
 {
     MouseTool.ShowLoading();
     InitializeComponent();
     this.UserID   = UserID;
     this.UserName = UserName;
     this.DeptID   = DeptID;
     this.PicUrl   = PicUrl;
     this.Home_GoBackTogSignPictureCT_Event += callback1;
     sb             = (Storyboard)this.TryFindResource("sb");
     this.Loaded   += SignPadCT_Loaded;
     this.Unloaded += SignPadCT_Unloaded;
     //MouseTool.ShowArrow();
 }
Exemple #5
0
        public ConfirmWindow()
        {
            MouseTool.ShowLoading();
            InitializeComponent();
            base.Loaded  += new RoutedEventHandler(ConfirmWindow_Loaded);
            base.KeyDown += new KeyEventHandler(ConfirmWindow_KeyDown);
            Window window = Enumerable.FirstOrDefault(Enumerable.OfType <Home>(Application.Current.Windows));

            if (window != null)
            {
                base.Owner = window;
            }
            base.WindowStartupLocation = WindowStartupLocation.CenterScreen;
        }
Exemple #6
0
        private void GetUserData_DoAction(User user, DateTime date)
        {
            // 先判斷是否要invoke
            if (this.Dispatcher.CheckAccess() == false)
            {
                // 這裡是下載事件處理,優先權設定為ContextIdle => 列舉值為 3。 幕後作業完成後,會處理作業。
                this.Dispatcher.BeginInvoke(new Action <User, DateTime>(GetUserData_DoAction), user, date);
            }
            else
            {
                if (user != null)
                {
                    //if (user.MeetingList.Length < 1)
                    //    txtNothing.Visibility = Visibility.Visible;
                    InitUI(user.MeetingList, date);

                    DataTable dt = MSCE.GetDataTable("select ListDate from UserData where UserID =@1 and ListDate =@2"
                                                     , user.ID
                                                     , DateTool.MonthFirstDate(date).ToString("yyyyMMdd"));

                    if (dt.Rows.Count > 0)
                    {
                        MSCE.ExecuteNonQuery(@"UPDATE [UserData] SET 
                                                 [ListDate] = @1
		                                        ,[UserJson] = @2
		                                         where UserID = @3 and ListDate =@4"
                                             , DateTool.MonthFirstDate(date).ToString("yyyyMMdd")
                                             , JsonConvert.SerializeObject(user)
                                             , user.ID
                                             , DateTool.MonthFirstDate(date).ToString("yyyyMMdd"));
                    }
                    else
                    {
                        MSCE.ExecuteNonQuery(@"INSERT INTO [UserData] ([UserID],[ListDate],UserJson)
                                                            VALUES (@1,@2,@3)"
                                             , user.ID
                                             , DateTool.MonthFirstDate(date).ToString("yyyyMMdd")
                                             , JsonConvert.SerializeObject(user));
                    }

                    // 會議列表的上下一頁不要複寫Buton的JSON了
                    // HomeUserButtonAryJSON = JsonConvert.SerializeObject(user.EnableButtonList);
                }
                else
                {
                    AutoClosingMessageBox.Show("無法取得資料,請稍後再試");
                }
                MouseTool.ShowArrow();
            }
        }
Exemple #7
0
        private void btnYes_MouseDown(object sender, MouseButtonEventArgs e)
        {
            if (StackLines.Count < 1 || txtPLS.Visibility == Visibility.Visible)
            {
                if (!PicUrl.Equals(""))
                {
                    MessageBox.Show("已簽名,欲重新簽名請先按x清除");
                }
                else
                {
                    MessageBox.Show("請簽名後上傳");
                }
                return;
            }
            string    text      = "";
            DataTable dataTable = MSCE.GetDataTable("select AllowIpRange from NowLogin");

            if (dataTable.Rows.Count > 0)
            {
                text = dataTable.Rows[0]["AllowIpRange"].ToString();
            }
            if (!text.Equals("") && !IpTool.CheckInNowWifi(text))
            {
                string courseOrMeeting_String = Settings.Default.CourseOrMeeting_String;
                AutoClosingMessageBox.Show(string.Format("您不在{0}室範圍內,無法使用此功能", courseOrMeeting_String.Equals("課程") ? "教" : courseOrMeeting_String));
                return;
            }
            string path = System.IO.Path.Combine(ClickOnceTool.GetFilePath(), Settings.Default.SignInFolder);

            path = System.IO.Path.Combine(path, MeetingID, UserID);
            Directory.CreateDirectory(path);
            string      str     = Guid.NewGuid().ToString();
            string      path2   = str + ".png";
            string      text2   = System.IO.Path.Combine(path, path2);
            Application current = Application.Current;

            CanvasTool.SaveCanvas(current.Windows[0], SignPad, 96, text2);
            MouseTool.ShowLoading();
            if (UserID.Equals("guest"))
            {
                UserID_Origin = UserID;
                UserID        = "";
            }
            else if (UserID.Equals("dept"))
            {
                UserID_Origin = UserID;
                UserID        = "";
            }
            GetSigninDataUpload.AsyncPOST(MeetingID, UserID, DeptID, text2, new Action <SigninDataUpload>(_003CbtnYes_MouseDown_003Eb__1f));
        }
Exemple #8
0
        //public string ResponseText { get; set; }

        public ConfirmWindow()
        {
            MouseTool.ShowLoading();
            InitializeComponent();
            this.Loaded  += ConfirmWindow_Loaded;
            this.KeyDown += ConfirmWindow_KeyDown;

            Window Home_Window = App.Current.Windows.OfType <Home>().FirstOrDefault();

            if (Home_Window != null)
            {
                this.Owner = Home_Window;
            }
            this.WindowStartupLocation = WindowStartupLocation.CenterScreen;
        }
Exemple #9
0
        //傳入request 和一個處理response的方法
        //方法的格式為 function(HttpWebResponse response)
        //方法會傳入一個參數 function(HttpWebResponse response)
        private void DoWithResponse(HttpWebRequest request, Action <HttpWebResponse> responseAction)
        {
            //定義一個無名方法 function() 無參數
            //作用是發起BeginGetResponse(callback,使用者定義物件)
            //這裡的callback也是lambda匿名方法,傳入使用者定義物件,
            //(主要處理回傳的使用用者定義物件)代表已經取得response後應該要做的事情
            //取得response的資料後,利用callback去做事件處理
            //以上是包裝成非同步的一系列方法
            Action wrapperAction = () =>
            {
                //完整版
                request.BeginGetResponse(new AsyncCallback((iar) =>
                {
                    var response = (HttpWebResponse)((HttpWebRequest)iar.AsyncState).EndGetResponse(iar);
                    responseAction(response);
                }), request);

                //簡化版
                //request.BeginGetResponse(iar =>
                //{
                //    var response = (HttpWebResponse)((HttpWebRequest)iar.AsyncState).EndGetResponse(iar);
                //    responseAction(response);
                //}, request);
            };

            //開始把包裝後的方法做非同步操作
            //因為已經排入invoke當中
            //做完後記得結束invoke
            wrapperAction.BeginInvoke(new AsyncCallback((iar) =>
            {
                var action = (Action)iar.AsyncState;
                try
                {
                    action.EndInvoke(iar);
                }
                catch (Exception ex)
                {
                    //AutoClosingMessageBox.Show(ex.Message);
                    AutoClosingMessageBox.Show("登入失敗,請重新登入");
                    LogTool.Debug(ex);
                    this.Dispatcher.Invoke(new Action(() =>
                    {
                        canLogin = true;
                        MouseTool.ShowArrow();
                    }));
                }
            }), wrapperAction);
        }
Exemple #10
0
 public MVWindow(Dictionary <string, BookVM> cbBooksData
                 , Home_OpenBookFromReader_Function callback, string FilePath, string FileID, string pageJson = "")
 {
     MouseTool.ShowLoading();
     InitializeComponent();
     this.cbBooksData = cbBooksData;
     this.Home_OpenBookFromReader_Event = callback;
     this.FilePath  = FilePath;
     this.FileID    = FileID;
     this.pageJson  = pageJson;
     this.Loaded   += MVWindow_Loaded;
     this.Unloaded += MVWindow_Unloaded;
     //this.Closing+=MVWindow_Closing;
     //this.Closed+=MVWindow_Closed;
     //MouseTool.ShowArrow();
 }
Exemple #11
0
            public void _003CChangeMeetingRoomWP_003Eb__b()
            {
                IEnumerable <MeetingRoom> enumerable = Enumerable.OfType <MeetingRoom>(_003C_003E4__this.MeetingRoomWP.Children);

                foreach (MeetingRoom item in enumerable)
                {
                    if (item.userMeeting.SeriesMeetingID.Equals(SeriesID))
                    {
                        item.Visibility = Visibility.Visible;
                    }
                    else
                    {
                        item.Visibility = Visibility.Collapsed;
                    }
                }
                MouseTool.ShowArrow();
            }
        public AddFolder(string UserID, string UserPWD, List <string> list, Window win)
        {
            MouseTool.ShowLoading();
            InitializeComponent();
            this.Loaded  += ConfirmWindow_Loaded;
            this.KeyDown += ConfirmWindow_KeyDown;
            //this.callback = callback;
            this.UserID  = UserID;
            this.UserPWD = UserPWD;
            this.list    = list;
            Window Home_Window = App.Current.Windows.OfType <Home>().FirstOrDefault();

            if (Home_Window != null)
            {
                this.Owner = win;
            }
            this.WindowStartupLocation = WindowStartupLocation.CenterScreen;
        }
Exemple #13
0
 private void GetSignOutUpload_DoAction(SignOut so)
 {
     if (!base.Dispatcher.CheckAccess())
     {
         base.Dispatcher.BeginInvoke(new Action <SignOut>(GetSignOutUpload_DoAction), so);
         return;
     }
     if (so != null && so.Reception.Status.ToLower().Trim().Equals("true"))
     {
         AutoClosingMessageBox.Show("簽退成功");
     }
     else
     {
         UserID = UserID_Origin;
         AutoClosingMessageBox.Show("簽退失敗");
     }
     MouseTool.ShowArrow();
 }
        private void InitSelectDB()
        {
            DataTable dataTable = MSCE.GetDataTable("select MeetingID,UserID from NowLogin");

            if (dataTable.Rows.Count > 0)
            {
                MeetingID = dataTable.Rows[0]["MeetingID"].ToString().Trim();
                UserID    = dataTable.Rows[0]["UserID"].ToString().Trim();
            }
            dataTable = MSCE.GetDataTable("select MeetingJson from MeetingData where MeetingID=@1 and UserID =@2", MeetingID, UserID);
            if (dataTable.Rows.Count > 0)
            {
                _003C_003Ec__DisplayClass3 _003C_003Ec__DisplayClass = new _003C_003Ec__DisplayClass3();
                _003C_003Ec__DisplayClass._003C_003E4__this = this;
                md = JsonConvert.DeserializeObject <MeetingData>(dataTable.Rows[0]["MeetingJson"].ToString());
                _003C_003Ec__DisplayClass.FileList = new List <MeetingDataDownloadFileFile>();
                try
                {
                    MeetingDataMeetingsFileFile[] fileList = md.MeetingsFile.FileList;
                    foreach (MeetingDataMeetingsFileFile meetingDataMeetingsFileFile in fileList)
                    {
                        MeetingDataDownloadFileFile meetingDataDownloadFileFile = new MeetingDataDownloadFileFile();
                        meetingDataDownloadFileFile.AgendaID = "record";
                        meetingDataDownloadFileFile.FileName = meetingDataMeetingsFileFile.FileName;
                        meetingDataDownloadFileFile.ID       = meetingDataMeetingsFileFile.ID;
                        meetingDataDownloadFileFile.Url      = meetingDataMeetingsFileFile.Url;
                        meetingDataDownloadFileFile.version  = meetingDataMeetingsFileFile.version;
                        _003C_003Ec__DisplayClass.FileList.Add(meetingDataDownloadFileFile);
                        HasRecordFile = true;
                    }
                }
                catch (Exception)
                {
                }
                _003C_003Ec__DisplayClass.FileList.AddRange(Enumerable.ToList(md.DownloadFile.DownloadFileList));
                All_FileCount = _003C_003Ec__DisplayClass.FileList.Count;
                base.Dispatcher.BeginInvoke(new Action(_003C_003Ec__DisplayClass._003CInitSelectDB_003Eb__2));
            }
            else
            {
                AutoClosingMessageBox.Show("無法取得資料,請稍後再試");
                MouseTool.ShowArrow();
            }
        }
Exemple #15
0
        private void ChangeMeetingRoomWP(string SeriesID)
        {
            NowSeriesID = SeriesID;

            //  其他系列會議按鈕不要hightlight
            IEnumerable <SeriesMenu> SeriesMenuList = SeriesMenuSP.Children.OfType <SeriesMenu>();

            foreach (SeriesMenu item in SeriesMenuList)
            {
                if (item.seriesDataSeriesMeetingSeries.ID.Equals(SeriesID) == false)
                {
                    item.btnImg.Source            = new BitmapImage(new Uri("images/icon_arrow.png", UriKind.Relative));
                    item.Background               = Brushes.Transparent;
                    item.txtSeriesName.Foreground = Brushes.Black;
                }
            }


            //下面這一段當會議很多的時候會很費時,要想辦法解決。
            //顯示符合的系列會議
            Task.Factory.StartNew(() =>
            {
                //如果沒有用DispatcherPriority,數量一多會卡住
                //this.Dispatcher.BeginInvoke(new Action(() =>
                this.Dispatcher.BeginInvoke(DispatcherPriority.SystemIdle, new Action(() =>
                {
                    //MeetingRoomWP.Visibility = Visibility.Collapsed;
                    IEnumerable <MeetingRoom> meetingRoomList = MeetingRoomWP.Children.OfType <MeetingRoom>();
                    foreach (MeetingRoom item in meetingRoomList)
                    {
                        if (item.userMeeting.SeriesMeetingID.Equals(SeriesID) == true)
                        {
                            item.Visibility = Visibility.Visible;
                        }
                        else
                        {
                            item.Visibility = Visibility.Collapsed;
                        }
                    }
                    //MeetingRoomWP.Visibility = Visibility.Visible;
                    MouseTool.ShowArrow();
                }));
            });
        }
        private void InitUI()
        {
            MouseTool.ShowLoading();

            switch (meetingUserType)
            {
            case MeetingUserType.議事管理人員:
                CateBtnS.Visibility    = Visibility.Visible;
                SearchInput.Visibility = Visibility.Visible;
                btnAddUser.Visibility  = Visibility.Visible;
                break;

            case MeetingUserType.與會人員:
                break;

            case MeetingUserType.代理人:
                break;

            case MeetingUserType.其它:
                break;
            }
            //this.btnIndex.Background = ColorTool.HexColorToBrush("#019fde");
            //this.txtIndex.Foreground = Brushes.White;

            // 非同步POST方法
            GetSigninData.AsyncPOST(MeetingID, (sid) => { GetSigninData_DoAction(sid); });
            //, (sid) => { this.Dispatcher.BeginInvoke(new Action<SigninData>(GetSigninData_DoAction), sid); });

            #region  步POST
            //SigninData sid=GetSigninData.POST(MeetingID);
            //if (sid != null)
            //{
            //    foreach (SigninDataUser item in sid.UserList)
            //    {
            //        SignRowSP.Children.Add(new SignRow(item));
            //    }
            //}
            //else
            //{
            //    AutoClosingMessageBox.Show("無法取得資料,請稍後再試");
            //}
            #endregion
        }
        private void InitEvent()
        {
            // 下載事件不能這麼快掛上去,要等全部FileRow產生完成,在掛上去
            // 不然如果在下載中,會阻塞到UI的產生
            FileDownloader fileDownloader = Singleton_FileDownloader.GetInstance(userMeeting.ID);

            Start_callback       = new MeetingRoom_DownloadFileStart_Function(MeetingRoom_DownloadFileStart_Callback);
            Progress_callback    = new MeetingRoom_DownloadProgressChanged_Function(MeetingRoom_DownloadProgressChanged_Callback);
            ErrorFinish_callback = new MeetingRoom_DownloadFileToErrorCompleted_Function(MeetingRoom_DownloadFileToErrorCompleted_Callback);

            fileDownloader.MeetingRoom_DownloadFileStart_Event            += Start_callback;
            fileDownloader.MeetingRoom_DownloadProgressChanged_Event      += Progress_callback;
            fileDownloader.MeetingRoom_DownloadFileToErrorCompleted_Event += ErrorFinish_callback;


            this.MouseLeftButtonDown += MeetingRoom_MouseLeftButtonDown;

            btnSeries.MouseEnter          += (sender, e) => { MouseTool.ShowHand(); };
            btnSeries.MouseLeave          += (sender, e) => { MouseTool.ShowArrow(); };
            btnSeries.MouseLeftButtonDown += btnSeries_MouseLeftButtonDown;

            btnDelete.MouseEnter          += (sender, e) => { MouseTool.ShowHand(); };
            btnDelete.MouseLeave          += (sender, e) => { MouseTool.ShowArrow(); };
            btnDelete.MouseLeftButtonDown += btnDelete_MouseLeftButtonDown;

            btnRefresh.MouseEnter          += (sender, e) => { MouseTool.ShowHand(); };
            btnRefresh.MouseLeave          += (sender, e) => { MouseTool.ShowArrow(); };
            btnRefresh.MouseLeftButtonDown += btnDownload_btnPausing_MouseLeftButtonDown;

            btnDownload.MouseEnter          += (sender, e) => { MouseTool.ShowHand(); };
            btnDownload.MouseLeave          += (sender, e) => { MouseTool.ShowArrow(); };
            btnDownload.MouseLeftButtonDown += btnDownload_btnPausing_MouseLeftButtonDown;

            // 要變成暫停下載
            btnPause.MouseEnter          += (sender, e) => { MouseTool.ShowHand(); };
            btnPause.MouseLeave          += (sender, e) => { MouseTool.ShowArrow(); };
            btnPause.MouseLeftButtonDown += btnPause_MouseLeftButtonDown;

            // 要變成繼續下載
            btnPausing.MouseEnter          += (sender, e) => { MouseTool.ShowHand(); };
            btnPausing.MouseLeave          += (sender, e) => { MouseTool.ShowArrow(); };
            btnPausing.MouseLeftButtonDown += btnDownload_btnPausing_MouseLeftButtonDown;
        }
 private void LawListCT_Loaded(object sender, RoutedEventArgs e)
 {
     InitSelectDB();
     // 只要是 CT 主要畫面,優先權設定為Send,因為設定Normal,按鈕的出現會感覺卡卡的。
     //this.Dispatcher.BeginInvoke(DispatcherPriority.Send,new Action(() =>
     this.Dispatcher.BeginInvoke(new Action(() =>
     {
         try
         {
             InitUI();
             InitEvent();
         }
         catch (Exception ex)
         {
             LogTool.Debug(ex);
         }
         MouseTool.ShowArrow();
     }));
 }
        public OKFolder(string FolderName, Window win)
        {
            MouseTool.ShowLoading();
            InitializeComponent();
            this.Loaded  += ConfirmWindow_Loaded;
            this.KeyDown += ConfirmWindow_KeyDown;
            //this.callback = callback;
            this.win        = win;
            this.FolderName = FolderName;
            //this.tbPinCode.Text = FolderName;
            Window Home_Window = App.Current.Windows.OfType <Home>().FirstOrDefault();

            if (Home_Window != null)
            {
                this.Owner = win;
            }
            this.WindowStartupLocation = WindowStartupLocation.CenterScreen;
            //tbPinCode.SelectAll();
        }
Exemple #20
0
    public void robotSimulServe(object arg)
    {
        serveType = (int)arg;
        IntPtr roboWin = FindWindow(null, "Robo-Pong 3050XL");

        if (roboWin == IntPtr.Zero)
        {
            Invoke("serve", 0);
            return;
        }
        Rectangle rect = MouseTool.GetWindowRect(roboWin);

        if (rect.Width == 0)
        {
            Invoke("serve", 0);
            return;
        }
        serveCount = 0;
        foreground = GetForegroundWindow();
        Point p = new Point();

        p.X = (int)(rect.Width * 0.1f);
        p.Y = (int)(rect.Height * 0.76f);
        if (foreground != roboWin)
        {
            MouseTool.SetForegroundWindow(roboWin);
        }
        MouseTool.ClickOnPoint(roboWin, p, true);
        // time from newgy app until serve: about 10.15
        // time from serve until bounce on user side: about 0.4649997
        //Invoke("serve", 10.15f);
        //Invoke("serveMultiple", 10.15f);

        StartCoroutine(InvokeRealtimeCoroutine(serveMultiple, firstDelay));
        EventManager.TriggerEvent("ConutdownUntilServe", firstDelay);
        if (foreground != roboWin)
        {
            //Invoke("robotSimulServePostWork", 0.5f);
            StartCoroutine(InvokeRealtimeCoroutine(robotSimulServePostWork, 0.5f));
        }
    }
        private void GetUserFolder_DoAction(XML2.FolderData fd)
        {
            //先判斷是否要invoke
            if (this.Dispatcher.CheckAccess() == false)
            {
                // 這裡是下載事件處理,優先權設定為ContextIdle => 列舉值為 3。 幕後作業完成後,會處理作業。
                this.Dispatcher.BeginInvoke(new Action <XML2.FolderData>(GetUserFolder_DoAction), fd);
            }
            else
            {
                if (fd != null)
                {
                    this.VM       = fd;
                    txtTitle.Text = fd.Folder.Name;
                    txtCount.Text = $"收藏共 {fd.Folder.FileList.Count}個檔案";
                    int i = 0;

                    if (fd.Folder.FileList.File != null && fd.Folder.FileList.File.Length > 0)
                    {
                        foreach (XML2.FolderDataFolderFileListFile item in fd.Folder.FileList.File)
                        {
                            i++;
                            WP.Children.Add(new FileRoom(UserID, UserPWD, item, DelCallback, FolderID));
                        }
                    }

                    //foreach (XML2.FolderDataFolderList item in fd.Folder.FileList)
                    //{
                    //    i++;
                    //    WP.Children.Add(new FileRoom(UserID, UserPWD, item));
                    //}

                    SaveData(fd);
                }
                else
                {
                    AutoClosingMessageBox.Show("無法取得資料,請稍後再試");
                }
                MouseTool.ShowArrow();
            }
        }
        private void InitEvent()
        {
            this.MouseEnter += (sender, e) => {
                MouseTool.ShowHand();
                if (this.btnImg.Source.ToString().Contains("images/icon_arrow_active.png") == false)
                {
                    this.Background = ColorTool.HexColorToBrush("#f1f5f6");
                }
                //lblMousehover.Visibility = Visibility.Visible;
            };
            this.MouseLeave += (sender, e) => {
                MouseTool.ShowArrow();
                if (this.btnImg.Source.ToString().Contains("images/icon_arrow_active.png") == false)
                {
                    this.Background = Brushes.Transparent;
                }
                //lblMousehover.Visibility = Visibility.Collapsed;
            };

            this.MouseLeftButtonDown += SeriesMenu_MouseLeftButtonDown;
        }
        private void InitEvent()
        {
            LawDownloader lawDownloader = Singleton_LawDownloader.GetInstance();

            Start_callback      += new LawListCT_DownloadFileStart_Function(LawListCT_DownloadFileStart_Callback);
            Progress_callback   += new LawListCT_DownloadProgressChanged_Function(LawListCT_DownloadProgressChanged_Callback);
            Finish_callback     += new LawListCT_DownloadFileCompleted_Function(LawListCT_DownloadFileCompleted_Callback);
            UnZip_callback      += new LawListCT_UnZip_Function(LawListCT_UnZip_Callback);
            UnZipError_callback += new LawListCT_UnZipError_Function(LawListCT_UnZipError_Callback);
            GetBookVMs_ByMeetingFileCate_callback = new LawListCT_GetBookVMs_ByMeetingFileCate_Function(LawListCT_GetBookVMs_ByMeetingFileCate_Callback);

            lawDownloader.LawListCT_DownloadFileStart_Event       += Start_callback;
            lawDownloader.LawListCT_DownloadProgressChanged_Event += Progress_callback;
            lawDownloader.LawListCT_DownloadFileCompleted_Event   += Finish_callback;
            lawDownloader.LawListCT_UnZip_Event      += UnZip_callback;
            lawDownloader.LawListCT_UnZipError_Event += UnZipError_callback;

            txtKeyword.MouseEnter += (sender, e) => { MouseTool.ShowIBeam(); txtKeyword.Focus(); };
            txtKeyword.MouseLeave += (sender, e) => { MouseTool.ShowArrow(); }; //Keyboard.ClearFocus();
            txtKeyword.KeyUp      += txtKeyword_KeyUp;
            txtKeyword.Focus();
        }
 private void GetUserFolder_DoAction(FolderData fd)
 {
     //先判斷是否要invoke
     if (this.Dispatcher.CheckAccess() == false)
     {
         // 這裡是下載事件處理,優先權設定為ContextIdle => 列舉值為 3。 幕後作業完成後,會處理作業。
         this.Dispatcher.BeginInvoke(new Action <FolderData>(GetUserFolder_DoAction), fd);
     }
     else
     {
         if (fd != null)
         {
             txtCount.Text = $"共有 {fd.FolderList.Count}個資料夾";
             int i = 0;
             if (fd.FolderList.Folder != null)
             {
                 foreach (FolderDataFolderListFolder item in fd.FolderList.Folder)
                 {
                     i++;
                     WP.Children.Add(new FolderRoom(UserID, UserPWD, item, dictEvent, DelCallback, RenameCallback, () => {
                         return(WP.Children.OfType <FolderRoom>().Select(item2 => item2.VM.Name).ToList());
                     }));
                     //WP2.Children.Add(new FolderRow(UserID, UserPWD, item, dictEvent));
                     //LawRowSP.Children.Add(new LawRow(UserID, UserName, UserPWD
                     //                                , IsLastRow, item
                     //                                , LawListCT_HangTheDownloadEvent_Callback
                     //                                , LawListCT_IsAllLawRowFinished_AddInitUIFinished_Callback
                     //                                , LawListCT_GetBookVMs_ByMeetingFileCate_Callback));
                 }
             }
             SaveData(fd);
         }
         else
         {
             AutoClosingMessageBox.Show("無法取得資料,請稍後再試");
         }
         MouseTool.ShowArrow();
     }
 }
        private void InitUI()
        {
            MouseTool.ShowLoading();
            // 非同步POST方法
            GetSigninData.AsyncPOST(MeetingID, (sid) => { GetSigninData_DoAction(sid); });
            //, (sid) => { this.Dispatcher.BeginInvoke(new Action<SigninData>(GetSigninData_DoAction), sid); });

            #region  步POST
            //SigninData sid=GetSigninData.POST(MeetingID);
            //if (sid != null)
            //{
            //    foreach (SigninDataUser item in sid.UserList)
            //    {
            //        SignRowSP.Children.Add(new SignRow(item));
            //    }
            //}
            //else
            //{
            //    AutoClosingMessageBox.Show("無法取得資料,請稍後再試");
            //}
            #endregion
        }
        private void GetMeetingData_DoAction(MeetingData md, Image btnImage)
        {
            Action action = null;
            _003C_003Ec__DisplayClass25 _003C_003Ec__DisplayClass = new _003C_003Ec__DisplayClass25();

            _003C_003Ec__DisplayClass.md = md;
            _003C_003Ec__DisplayClass._003C_003E4__this = this;
            if (!base.Dispatcher.CheckAccess())
            {
                base.Dispatcher.BeginInvoke(new Action <MeetingData, Image>(GetMeetingData_DoAction), _003C_003Ec__DisplayClass.md, btnImage);
                return;
            }
            if (_003C_003Ec__DisplayClass.md != null)
            {
                TaskFactory factory = Task.Factory;
                if (action == null)
                {
                    action = new Action(_003C_003Ec__DisplayClass._003CGetMeetingData_DoAction_003Eb__23);
                }
                factory.StartNew(action);
                btnImage.Visibility = Visibility.Collapsed;
                if (btnImage.Name.Equals(btnDownload.Name))
                {
                    txtPercent.Text = "0 %";
                    pb.Value        = pb.Minimum;
                }
                txtPercent.Foreground = Brushes.Black;
                pb.Foreground         = Brushes.Orange;
                pb.Background         = Brushes.Black;
                txtPercent.Visibility = Visibility.Visible;
                pb.Visibility         = Visibility.Visible;
                btnPause.Visibility   = Visibility.Visible;
            }
            else
            {
                AutoClosingMessageBox.Show("無法取得資料,請稍後再試");
            }
            MouseTool.ShowArrow();
        }
Exemple #27
0
        public AlterFolder(string UserID, string UserPWD, string FolderID, string FolderName, List <string> list)
        {
            MouseTool.ShowLoading();
            InitializeComponent();
            this.Loaded  += ConfirmWindow_Loaded;
            this.KeyDown += ConfirmWindow_KeyDown;
            //this.callback = callback;
            this.UserID         = UserID;
            this.UserPWD        = UserPWD;
            this.list           = list;
            this.FolderID       = FolderID;
            this.FolderName     = FolderName;
            this.tbPinCode.Text = FolderName;
            Window Home_Window = App.Current.Windows.OfType <Home>().FirstOrDefault();

            if (Home_Window != null)
            {
                this.Owner = Home_Window;
            }
            this.WindowStartupLocation = WindowStartupLocation.CenterScreen;
            tbPinCode.SelectAll();
        }
        private void InitEvent()
        {
            btnNO.MouseEnter          += (sender, e) => { MouseTool.ShowHand(); };
            btnNO.MouseLeave          += (sender, e) => { MouseTool.ShowArrow(); };
            btnNO.MouseLeftButtonDown += (sender, e) => { this.DialogResult = false;  this.Close(); };

            btnYes.MouseEnter          += (sender, e) => { MouseTool.ShowHand(); };
            btnYes.MouseLeave          += (sender, e) => { MouseTool.ShowArrow(); };
            btnYes.MouseLeftButtonDown += (sender, e) =>
            {
                if (ReConfirm)
                {
                    MessageBoxResult messageBoxResult = System.Windows.MessageBox.Show($"確定刪除「{FolderName}」資料夾及所有檔案資料?", "刪除 資料夾", System.Windows.MessageBoxButton.YesNo);
                    if (messageBoxResult == MessageBoxResult.Yes)
                    {
                        CallWS();
                    }
                }
                else
                {
                    CallWS();
                }
            };

            //tbPinCode.MouseEnter += (sender, e) => { MouseTool.ShowIBeam(); };
            //tbPinCode.MouseLeave += (sender, e) => { MouseTool.ShowArrow(); };

            //tbPinCode.PreviewKeyDown += tbPinCode_PreviewKeyDown;
            //tbPinCode.Focus();

            //btnPinCodeClear.MouseEnter += (sender, e) => { MouseTool.ShowHand(); };
            //btnPinCodeClear.MouseLeave += (sender, e) => { MouseTool.ShowArrow(); };
            //btnPinCodeClear.Click += (sender, e) =>
            //{
            //    tbPinCode.Text = "";
            //    btnPinCodeClear.Visibility = Visibility.Collapsed;
            //};
        }
        private void GetSigninData_DoAction(SigninData sid)
        {
            //先判斷是否要invoke
            if (this.Dispatcher.CheckAccess() == false)
            {
                // 這裡是下載事件處理,優先權設定為ContextIdle => 列舉值為 3。 幕後作業完成後,會處理作業。
                this.Dispatcher.BeginInvoke(new Action <SigninData>(GetSigninData_DoAction), sid);
            }
            else
            {
                if (sid != null)
                {
                    Task.Factory.StartNew(() =>
                    {
                        this.Dispatcher.BeginInvoke(new Action(() =>
                        {
                            //int i = 0;
                            foreach (SigninDataUser item in sid.UserList)
                            {
                                //i++;
                                bool EnableTxtPLSSigned = false;
                                if (DateTime.Now >= BeginTime.AddHours(-1) && DateTime.Now < EndTime.AddHours(1))
                                {
                                    EnableTxtPLSSigned = true;
                                }
                                SignRowSP.Children.Add(new SignRow_Mix(item, meetingUserType, EnableTxtPLSSigned));
                            }
                        }));
                    });
                }
                else
                {
                    AutoClosingMessageBox.Show("無法取得資料,請稍後再試");
                }

                MouseTool.ShowArrow();
            }
        }
Exemple #30
0
 private void SeriesMeetingCT_Loaded(object sender, RoutedEventArgs e)
 {
     Task.Factory.StartNew(() =>
     {
         InitSelectDB();
         // 只要是 Row 列表內容畫面,優先權設定為Background => 列舉值為 4。 所有其他非閒置作業都完成之後,就會處理作業。
         // 另外這裡比較特別 因為優先權要比AgendaRow高,所以我設定為Input => 列舉值為 5。 做為輸入相同的優先權處理作業。
         //this.Dispatcher.BeginInvoke(DispatcherPriority.Send, new Action(() =>
         this.Dispatcher.BeginInvoke(new Action(() =>
         {
             try
             {
                 InitUI();
                 InitEvent();
             }
             catch (Exception ex)
             {
                 LogTool.Debug(ex);
             }
             MouseTool.ShowArrow();
         }));
     });
 }
Exemple #31
0
 private void BeginMoveMapWithMouse()
 {
     movingMapWithMouseNow = true;
       previousMouseTool = currentMouseTool;
       currentMouseTool = MouseTool.MoveMap;
       canvasPanel.Cursor = GetCursor(currentMouseTool);
       preventScrollEvents = true;
       mouseDownScrollbarValues = new Point(scrX.Value, scrY.Value);
 }
Exemple #32
0
        public static Cursor GetCursor(MouseTool mouseTool)
        {
            // Cursors should be saved with 1 bit per pixel.
              // First make png image in Photoshop, then open it in GIF Movie Gear and select Frame > Edit Pixels.
              // This reduces the bpp number. Save as .cur file.
              var resources = new ComponentResourceManager(typeof(Canvas));

              switch (mouseTool)
              {
            case MouseTool.ZoomIn:
              return new Cursor(new MemoryStream((byte[])resources.GetObject("ZoomIn")));
            case MouseTool.ZoomOut:
              return new Cursor(new MemoryStream((byte[])resources.GetObject("ZoomOut")));
            case MouseTool.Cut:
              return new Cursor(new MemoryStream((byte[])resources.GetObject("Cut")));
            case MouseTool.MoveMap:
              return new Cursor(new MemoryStream((byte[])resources.GetObject("MoveMap")));
            case MouseTool.AdjustRoute:
              return new Cursor(new MemoryStream((byte[])resources.GetObject("AdjustRoute")));
            case MouseTool.Lap:
              return new Cursor(new MemoryStream((byte[])resources.GetObject("Lap")));
            case MouseTool.Pointer:
              return Cursors.Default;
            default:
              return Cursors.Default;
              }
        }
Exemple #33
0
 private void EndMoveMapWithMouse()
 {
     currentMouseTool = previousMouseTool;
       canvasPanel.Cursor = GetCursor(currentMouseTool);
       movingMapWithMouseNow = false;
 }