Пример #1
0
        /// <summary>
        /// 根據DB資料創建面談資料TabPages
        /// </summary>
        /// <param name="dt"></param>
        private void CreateInterviewPages(DataTable dt)
        {
            ////在聯繫狀況儲存完,更新頁面時,不要影響面談資料
            if (tabControl1.TabCount > 1)
            {
                return;
            }

            if (dt.Rows.Count == 0)
            {
                //this.tabControl1.TabPages.Add("+");
                return;
            }

            foreach (DataRow dr in dt.Rows)
            {
                InterviewId.Add(dr[0].ToString());
                TabPage tabPage = new TabPage
                {
                    Text       = "面談資料" + tabControl1.TabCount,
                    Name       = "Interview" + tabControl1.TabCount,
                    AutoScroll = true,
                };
                InterviewDataControl newInterview = new InterviewDataControl(dr[0].ToString(), Contact_Id);
                newInterview.BtnClick        += DelInterview_BtnClick;
                newInterview.ConfirmBtnClick += UpdateTime_ConfirmBtnClick;
                tabControl1.TabPages.Add(tabPage);
                tabPage.Controls.Add(newInterview);
            }

            //this.tabControl1.TabPages.Add("+");
        }
Пример #2
0
        /// <summary>
        /// 新增一個面談資料頁面TabPage
        /// </summary>
        private void NewInterviewPage()
        {
            TabPage tabPage = new TabPage
            {
                Text       = "面談資料" + tabControl1.TabCount,
                Name       = "Interview" + tabControl1.TabCount,
                AutoScroll = true
            };
            InterviewDataControl newInterview = new InterviewDataControl();

            newInterview.BtnClick        += DelInterview_BtnClick;
            newInterview.ConfirmBtnClick += UpdateTime_ConfirmBtnClick;
            newInterview.SetInfo(NameTxt.Text, SexCombo.SelectedItem.ToString(), MailTxt.Text, PhoneTxt.Text, Contact_Id);
            tabControl1.TabPages.Add(tabPage);
            tabPage.Controls.Add(newInterview);
        }
Пример #3
0
        private void ImportLink_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            if (tabControl1.SelectedIndex == 0)
            {
                return;
            }

            DialogResult result = MessageBox.Show("將會覆蓋此面談資料,是否繼續?", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);

            if (result != DialogResult.Yes)
            {
                return;
            }

            OpenFileDialog ofd = new OpenFileDialog
            {
                Title            = "請選擇欲上傳的面談資料Excel",
                Filter           = @"Excel Files|*.xlsx",
                Multiselect      = false,
                RestoreDirectory = true
            };

            if (ofd.ShowDialog() == DialogResult.OK)
            {
                InterviewDataControl interviewDataControl = new InterviewDataControl();
                TabPage tabPage = tabControl1.TabPages["Interview" + tabControl1.SelectedIndex];
                foreach (Control c in tabPage.Controls)
                {
                    if (c is InterviewDataControl)
                    {
                        interviewDataControl = (InterviewDataControl)c;
                        interviewDataControl.GetdataByExcel(ofd.FileName);
                        break;
                    }
                }
            }
        }
Пример #4
0
        /// <summary>
        /// 再切換頁面時,如果有改動的資料尚未儲存,則跳出警告
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void tabControl1_Selecting(object sender, TabControlCancelEventArgs e)
        {
            if (this.Page != 0)
            {
                ////面談資料頁面間轉換要檢查是否有存檔
                InterviewDataControl interviewDataControl = new InterviewDataControl();
                TabPage tabPage = tabControl1.TabPages["Interview" + Page];

                foreach (Control c in tabPage.Controls)
                {
                    if (c is InterviewDataControl)
                    {
                        interviewDataControl = (InterviewDataControl)c;
                        interviewDataControl.InterviewPageChange(e);
                        break;
                    }
                }

                return;
            }

            ////如果聯繫ID等於空則代表沒有此聯繫基本資料
            if (Contact_Id == string.Empty)
            {
                MessageBox.Show("沒有填寫聯繫資料", "警告");
                e.Cancel = true;
                return;
            }

            ////UI聯繫基本資料
            ContactInfo infoUI = new ContactInfo
            {
                Name             = NameTxt.Text.Trim(),
                Mail             = MailTxt.Text.Trim(),
                CellPhone        = PhoneTxt.Text.Trim(),
                Cooperation_Mode = CooperationCombo.SelectedItem.ToString().Trim().Equals("--請選擇--") ? string.Empty : CooperationCombo.SelectedItem.ToString().Trim(),
                Place            = PlaceTxt.Text.Trim(),
                Skill            = SkillTxt.Text.Trim(),
                Sex    = (SexCombo.SelectedItem.ToString().Equals("--請選擇--")) ? string.Empty : SexCombo.SelectedItem.ToString().Trim(),
                Status = (StatusCombo.SelectedItem.ToString().Equals("--請選擇--")) ? string.Empty : StatusCombo.SelectedItem.ToString().Trim(),
                Year   = YearTxt.Text
            };
            ////DB聯繫基本資料
            List <ContactInfo> infoDB = ContactInfoDB.DataTableToList <ContactInfo>();
            ////比對是否一樣
            var isdifference = (from DB in infoDB
                                where DB.Name.Trim() == infoUI.Name &&
                                DB.Mail.Trim() == infoUI.Mail &&
                                DB.CellPhone.Trim() == infoUI.CellPhone &&
                                DB.Cooperation_Mode.Trim() == infoUI.Cooperation_Mode &&
                                DB.Place.Trim() == infoUI.Place &&
                                DB.Skill.Trim() == infoUI.Skill &&
                                DB.Sex.Trim() == infoUI.Sex &&
                                DB.Status.Trim() == infoUI.Status &&
                                DB.Year.Trim() == infoUI.Year
                                select DB).ToList();
            ////UI代碼資料
            List <string> codeUIList = new List <string>();

            if (CodeTxt.Count == 1 && CodeTxt[0].Text == string.Empty)
            {
            }
            else
            {
                foreach (TextBox code in CodeTxt)
                {
                    codeUIList.Add(code.Text);
                }
            }
            ////DB代碼資料
            List <string> codeDBList = new List <string>();

            foreach (DataRow dr in CodeDB.Rows)
            {
                codeDBList.Add(dr[0].ToString());
            }
            ////UI聯繫狀況資料
            string ContactStatusUIList = JsonConvert.SerializeObject(ContactStatusUI, Formatting.Indented);
            ////UI聯繫狀況資料
            string ContactStatusDBList = JsonConvert.SerializeObject(ContactStatusDB, Formatting.Indented);

            if (isdifference.Count == 0 || !codeDBList.SequenceEqual(codeUIList) || !ContactStatusUIList.Equals(ContactStatusDBList))
            {
                DialogResult result = MessageBox.Show("資料尚未儲存,您確定要離開嗎?", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
                if (result == DialogResult.No)
                {
                    e.Cancel = true;
                }

                return;
            }
        }