Ejemplo n.º 1
0
        private void SaveAnswerToUDT()
        {
            List <UDTSingleRecordDef> iDataList  = new List <UDTSingleRecordDef>();
            List <UDTSingleRecordDef> uDataList  = new List <UDTSingleRecordDef>();
            List <UDTSemesterDataDef> isDataList = new List <UDTSemesterDataDef>();
            List <UDTSemesterDataDef> usDataList = new List <UDTSemesterDataDef>();

            //原住民血統
            if (_udtSrFlp05 == null)
            {
                _udtSrFlp05           = new UDTSingleRecordDef();
                _udtSrFlp05.StudentID = _intStudentID;
            }
            _udtSrFlp05.Key = enumKey.本人概況_原住民血統.ToString();

            if (radioButton1.Checked)
            {
                _udtSrFlp05.Data   = radioButton1.Text;
                _udtSrFlp05.Remark = txtParents.Text + "_" + txtGroupName.Text;
            }
            else
            {
                _udtSrFlp05.Data   = radioButton2.Text;
                _udtSrFlp05.Remark = "";
            }


            if (string.IsNullOrEmpty(_udtSrFlp05.UID))
            {
                iDataList.Add(_udtSrFlp05);
            }
            else
            {
                uDataList.Add(_udtSrFlp05);
            }

            // 血型
            if (_udtSrFlp01 == null)
            {
                _udtSrFlp01           = new UDTSingleRecordDef();
                _udtSrFlp01.StudentID = _intStudentID;
            }
            _udtSrFlp01.Key = enumKey.本人概況_血型.ToString();
            foreach (Control c in flp01.Controls)
            {
                if (c is RadioButton)
                {
                    _udtSrFlp01.Remark = "";
                    RadioButton rb = c as RadioButton;
                    if (rb.Checked)
                    {
                        _udtSrFlp01.Data = rb.Name;

                        foreach (Control cr in flp01.Controls)
                        {
                            if (cr is TextBox)
                            {
                                if (cr.Name == rb.Name)
                                {
                                    _udtSrFlp01.Remark = cr.Text;
                                }
                            }
                        }
                    }
                }
            }
            if (string.IsNullOrEmpty(_udtSrFlp01.UID))
            {
                iDataList.Add(_udtSrFlp01);
            }
            else
            {
                uDataList.Add(_udtSrFlp01);
            }

            // 宗教
            if (_udtSrFlp02 == null)
            {
                _udtSrFlp02           = new UDTSingleRecordDef();
                _udtSrFlp02.StudentID = _intStudentID;
            }

            _udtSrFlp02.Key = enumKey.本人概況_宗教.ToString();
            foreach (Control c in flp02.Controls)
            {
                if (c is RadioButton)
                {
                    _udtSrFlp02.Remark = "";
                    RadioButton rb = c as RadioButton;
                    if (rb.Checked)
                    {
                        _udtSrFlp02.Data = rb.Name;

                        foreach (Control cr in flp02.Controls)
                        {
                            if (cr is TextBox)
                            {
                                if (cr.Name == rb.Name)
                                {
                                    _udtSrFlp02.Remark = cr.Text;
                                }
                            }
                        }
                    }
                }
            }
            if (string.IsNullOrEmpty(_udtSrFlp02.UID))
            {
                iDataList.Add(_udtSrFlp02);
            }
            else
            {
                uDataList.Add(_udtSrFlp02);
            }

            if (iDataList.Count > 0)
            {
                UDTTransfer.ABUDTSingleRecordInsert(iDataList);
            }

            if (uDataList.Count > 0)
            {
                UDTTransfer.ABUDTSingleRecordUpdate(uDataList);
            }


            // 寫入 身高
            if (_udtSdDg01 == null)
            {
                _udtSdDg01           = new UDTSemesterDataDef();
                _udtSdDg01.StudentID = _intStudentID;
                _udtSdDg01.Key       = enumKey.本人概況_身高.ToString();
            }
            List <string> tmpData1 = new List <string>();

            for (int i = 1; i <= 12; i++)
            {
                if (dg01.Rows[_Dg01RowIdx].Cells[i].Value != null)
                {
                    tmpData1.Add(dg01.Rows[_Dg01RowIdx].Cells[i].Value.ToString());
                }
                else
                {
                    tmpData1.Add("");
                }
            }
            _udtSdDg01.S1a = tmpData1[0];
            _udtSdDg01.S1b = tmpData1[1];
            _udtSdDg01.S2a = tmpData1[2];
            _udtSdDg01.S2b = tmpData1[3];
            _udtSdDg01.S3a = tmpData1[4];
            _udtSdDg01.S3b = tmpData1[5];
            _udtSdDg01.S4a = tmpData1[6];
            _udtSdDg01.S4b = tmpData1[7];
            _udtSdDg01.S5a = tmpData1[8];
            _udtSdDg01.S5b = tmpData1[9];
            _udtSdDg01.S6a = tmpData1[10];
            _udtSdDg01.S6b = tmpData1[11];

            if (string.IsNullOrEmpty(_udtSdDg01.UID))
            {
                isDataList.Add(_udtSdDg01);
            }
            else
            {
                usDataList.Add(_udtSdDg01);
            }

            // 體重
            if (_udtSdDg02 == null)
            {
                _udtSdDg02           = new UDTSemesterDataDef();
                _udtSdDg02.StudentID = _intStudentID;
                _udtSdDg02.Key       = enumKey.本人概況_體重.ToString();
            }
            List <string> tmpData2 = new List <string>();

            for (int i = 1; i <= 12; i++)
            {
                if (dg01.Rows[_Dg02RowIdx].Cells[i].Value != null)
                {
                    tmpData2.Add(dg01.Rows[_Dg02RowIdx].Cells[i].Value.ToString());
                }
                else
                {
                    tmpData2.Add("");
                }
            }
            _udtSdDg02.S1a = tmpData2[0];
            _udtSdDg02.S1b = tmpData2[1];
            _udtSdDg02.S2a = tmpData2[2];
            _udtSdDg02.S2b = tmpData2[3];
            _udtSdDg02.S3a = tmpData2[4];
            _udtSdDg02.S3b = tmpData2[5];
            _udtSdDg02.S4a = tmpData2[6];
            _udtSdDg02.S4b = tmpData2[7];
            _udtSdDg02.S5a = tmpData2[8];
            _udtSdDg02.S5b = tmpData2[9];
            _udtSdDg02.S6a = tmpData2[10];
            _udtSdDg02.S6b = tmpData2[11];

            if (string.IsNullOrEmpty(_udtSdDg02.UID))
            {
                isDataList.Add(_udtSdDg02);
            }
            else
            {
                usDataList.Add(_udtSdDg02);
            }

            if (isDataList.Count > 0)
            {
                UDTTransfer.ABUDTSemesterDataInsert(isDataList);
            }

            if (usDataList.Count > 0)
            {
                UDTTransfer.ABUDTSemesterDataUpdate(usDataList);
            }


            List <UDTMultipleRecordDef> delData    = new List <UDTMultipleRecordDef>();
            List <UDTMultipleRecordDef> InsertData = new List <UDTMultipleRecordDef>();

            delData = _udtMrFlp01Dict.Values.ToList();

            if (delData.Count > 0)
            {
                UDTTransfer.ABUDTMultipleRecordDelete(delData);
            }

            foreach (Control c in flp03.Controls)
            {
                if (c is CheckBox)
                {
                    CheckBox cb = c as CheckBox;
                    if (cb.Checked)
                    {
                        UDTMultipleRecordDef data = new UDTMultipleRecordDef();
                        data.StudentID = _intStudentID;
                        data.Key       = enumKey.本人概況_生理缺陷.ToString();
                        data.Data      = cb.Name;
                        data.Remark    = "";
                        foreach (Control cr in flp03.Controls)
                        {
                            if (cr is TextBox)
                            {
                                if (cr.Name == cb.Name)
                                {
                                    data.Remark = cr.Text;
                                }
                            }
                        }


                        InsertData.Add(data);
                    }
                }
            }
            if (InsertData.Count > 0)
            {
                UDTTransfer.ABUDTMultipleRecordInsert(InsertData);
            }


            delData.Clear();
            InsertData.Clear();

            delData = _udtMrFlp02Dict.Values.ToList();

            if (delData.Count > 0)
            {
                UDTTransfer.ABUDTMultipleRecordDelete(delData);
            }

            foreach (Control c in flp04.Controls)
            {
                if (c is CheckBox)
                {
                    CheckBox cb = c as CheckBox;
                    if (cb.Checked)
                    {
                        UDTMultipleRecordDef data = new UDTMultipleRecordDef();
                        data.StudentID = _intStudentID;
                        data.Key       = enumKey.本人概況_曾患特殊疾病.ToString();
                        data.Data      = cb.Name;
                        data.Remark    = "";

                        foreach (Control cr in flp04.Controls)
                        {
                            if (cr is TextBox)
                            {
                                if (cr.Name == cb.Name)
                                {
                                    data.Remark = cr.Text;
                                }
                            }
                        }

                        InsertData.Add(data);
                    }
                }
            }
            if (InsertData.Count > 0)
            {
                UDTTransfer.ABUDTMultipleRecordInsert(InsertData);
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 設定儲存資料
        /// </summary>
        private void SetData()
        {
            // 刪除舊資料
            _deleteMultipleRecordList = _dataMDict.Values.ToList();
            UDTTransfer.ABUDTMultipleRecordDelete(_deleteMultipleRecordList);
            _InsertMultipleRecordDict.Clear();

            // 儲存資料
            for (int idx = 0; idx < 4; idx++)
            {
                FlowLayoutPanel flp     = _flpList[idx];
                string          KeyName = _KeyNameList[idx];

                foreach (Control cr in flp.Controls)
                {
                    if (cr is CheckBox)
                    {
                        CheckBox cb = cr as CheckBox;
                        if (cb.Checked)
                        {
                            UDTMultipleRecordDef data1 = new UDTMultipleRecordDef();
                            data1.StudentID = _intStudentID;
                            data1.Key       = GroupName + "_" + KeyName;
                            data1.Data      = cb.Name;
                            data1.Remark    = "";

                            // 處理備註資料
                            foreach (Control t in flp.Controls)
                            {
                                if (t is TextBox)
                                {
                                    if (t.Name == cb.Name)
                                    {
                                        data1.Remark = t.Text;
                                    }
                                }
                            }

                            string insertKey = data1.Key + "_" + cb.Name;
                            if (!_InsertMultipleRecordDict.ContainsKey(insertKey))
                            {
                                _InsertMultipleRecordDict.Add(insertKey, data1);
                            }
                        }
                    }
                }
            }

            // 新增至 UDT
            if (_InsertMultipleRecordDict.Count > 0)
            {
                UDTTransfer.ABUDTMultipleRecordInsert(_InsertMultipleRecordDict.Values.ToList());
            }

            // 讀存資料
            List <UDTPriorityDataDef> insertData = new List <UDTPriorityDataDef>();
            List <UDTPriorityDataDef> updateData = new List <UDTPriorityDataDef>();

            // 將來就業
            UDTPriorityDataDef p1 = dgPriority.Columns[1].Tag as UDTPriorityDataDef;

            if (p1 == null)
            {
                p1           = new UDTPriorityDataDef();
                p1.Key       = GroupName + "_" + _keyName5;
                p1.StudentID = _intStudentID;
            }
            if (dgPriority.Rows[0].Cells[1].Value != null)
            {
                p1.P1 = dgPriority.Rows[0].Cells[1].Value.ToString();
            }
            else
            {
                p1.P1 = "";
            }
            if (dgPriority.Rows[1].Cells[1].Value != null)
            {
                p1.P2 = dgPriority.Rows[1].Cells[1].Value.ToString();
            }
            else
            {
                p1.P2 = "";
            }
            if (dgPriority.Rows[2].Cells[1].Value != null)
            {
                p1.P3 = dgPriority.Rows[2].Cells[1].Value.ToString();
            }
            else
            {
                p1.P3 = "";
            }

            if (string.IsNullOrEmpty(p1.UID))
            {
                insertData.Add(p1);
            }
            else
            {
                updateData.Add(p1);
            }

            // 就業地區
            UDTPriorityDataDef p2 = dgPriority.Columns[2].Tag as UDTPriorityDataDef;

            if (p2 == null)
            {
                p2           = new UDTPriorityDataDef();
                p2.Key       = GroupName + "_" + _keyName6;
                p2.StudentID = _intStudentID;
            }
            if (dgPriority.Rows[0].Cells[2].Value != null)
            {
                p2.P1 = dgPriority.Rows[0].Cells[2].Value.ToString();
            }
            else
            {
                p2.P1 = "";
            }
            if (dgPriority.Rows[1].Cells[2].Value != null)
            {
                p2.P2 = dgPriority.Rows[1].Cells[2].Value.ToString();
            }
            else
            {
                p2.P2 = "";
            }
            if (dgPriority.Rows[2].Cells[2].Value != null)
            {
                p2.P3 = dgPriority.Rows[2].Cells[2].Value.ToString();
            }
            else
            {
                p2.P3 = "";
            }

            if (string.IsNullOrEmpty(p2.UID))
            {
                insertData.Add(p2);
            }
            else
            {
                updateData.Add(p2);
            }

            if (insertData.Count > 0)
            {
                UDTTransfer.ABUDTPriorityDataInsert(insertData);
            }

            if (updateData.Count > 0)
            {
                UDTTransfer.ABUDTPriorityDataUpdate(updateData);
            }
        }