Пример #1
0
        private void Client_ReceivedDataSetResult(object sender, ReceivedDataSetResultEventArgs e)
        {
            if (!e.Result.Success)
            {
                Debug.Error("서버로부터 데이터를 수신하는데 실패하였습니다.");
            }

            if (RecentAttReq.Equals(e.Result.Requirement))
            {
                this.Dispatcher.Invoke(() =>
                {
                    if (e.Result.Data.Tables[0].Rows.Count > 0)
                    {
                        ProcessData(e.Result.Data.Tables[0]);
                        ShowData();
                    }

                    else
                    {
                        ShowEmpty();
                    }

                    this.IsEnabled         = true;
                    this.ToExcel.IsEnabled = true;
                });

                return;
            }
        }
        private void Client_ReceivedDataSetResult(object sender, ReceivedDataSetResultEventArgs e)
        {
            if (!e.Result.Success)
            {
                Debug.Error("서버로부터 데이터를 수신하는데 실패하였습니다.");
            }

            if (RecentTeachersReq.Equals(e.Result.Requirement))
            {
                this.Dispatcher.Invoke(() =>
                {
                    ProcessAndShowData(e.Result.Data.Tables[0]);

                    this.IsEnabled = true;
                });

                return;
            }
        }
        private void Client_ReceivedDataSetResult(object sender, ReceivedDataSetResultEventArgs e)
        {
            if (!e.Result.Success)
            {
                Debug.Error("서버로부터 데이터를 수신하는데 실패하였습니다.");
            }

            if (RecentAttReq.Equals(e.Result.Requirement))
            {
                this.Dispatcher.Invoke(() =>
                {
                    // 출석부가 이미 존재함. 준비 완료.
                    if (e.Result.Data.Tables[0].Rows.Count > 0)
                    {
                        ShowData(e.Result.Data.Tables[0]);

                        this.IsEnabled = true;

                        Set1.IsEnabled    = true;
                        Set2.IsEnabled    = true;
                        Set3.IsEnabled    = true;
                        Set4.IsEnabled    = true;
                        Set5.IsEnabled    = true;
                        Set6.IsEnabled    = true;
                        Save.IsEnabled    = false;
                        Cancel.IsEnabled  = false;
                        ToExcel.IsEnabled = true;

                        mEdited = new HashSet <int>();
                    }
                    // 출석부가 존재하지 않음. 학생 목록을 요청해서 새롭게 생성해야 함. (계정 권한에 관계없이 항상 추가)
                    else
                    {
                        TcpDataSetRequirement stuListReq = new TcpDataSetRequirement(new string[] { "*" }, "[학생 명단]", $"[학년]={mCurrentGrade.ToSQLString()} AND [반]={mCurrentClass.ToSQLString()}", null);
                        ParentWindow.Client.RequestDataSet(stuListReq);

                        RecentStuListReq = stuListReq;
                    }
                });

                return;
            }

            if (RecentStuListReq.Equals(e.Result.Requirement))
            {
                this.Dispatcher.Invoke(() =>
                {
                    // 학생 목록을 가져왔음. 이제 이를 이용하여 default 출석부 입력.
                    if (e.Result.Data.Tables[0].Rows.Count > 0)
                    {
                        ParentWindow.Client.InsertedData += Client_InsertedData;
                        InsertDefaultAttToServer(e.Result.Data.Tables[0]);
                    }
                    // 학생 목록 없음. 출석부 조회 불가.
                    else
                    {
                        ParentWindow.Dispatcher.Invoke(() => MessageBox.Show("서버에 해당 학급 학생명단이 입력되지 않았습니다. 서버에 학생명단을 입력한 뒤 다시 시도하십시오.", "학생 명단 없음", MessageBoxButton.OK, MessageBoxImage.Warning));
                        this.IsEnabled = true;

                        Set1.IsEnabled    = false;
                        Set2.IsEnabled    = false;
                        Set3.IsEnabled    = false;
                        Set4.IsEnabled    = false;
                        Set5.IsEnabled    = false;
                        Set6.IsEnabled    = false;
                        Save.IsEnabled    = false;
                        Cancel.IsEnabled  = false;
                        ToExcel.IsEnabled = false;

                        mTable?.Clear();
                        mOriginal?.Clear();
                    }
                });

                return;
            }
        }