Exemple #1
0
        /// <summary>
        /// 出欠状態画面更新
        /// </summary>
        /// <param name="status"></param>
        private void UpdateAttendance(AttendanceStatusInfo status)
        {
            foreach (AttendanceControl ctrl in AttendanceStackPanel.Children)
            {
                if (ctrl.NameText.Text.Equals(status.name))
                {
                    switch (status.status)
                    {
                    case Status.ATTENDANCE:
                        ctrl.AttendanceButton.Background = Brushes.Green;
                        ctrl.AbsenceButton.Background    = Brushes.Gray;
                        ctrl.TardyButton.Background      = Brushes.Gray;
                        break;

                    case Status.ABSENCE:
                        ctrl.AttendanceButton.Background = Brushes.Gray;
                        ctrl.AbsenceButton.Background    = Brushes.Green;
                        ctrl.TardyButton.Background      = Brushes.Gray;
                        break;

                    case Status.ARRIVINGlLATE:
                        ctrl.AttendanceButton.Background = Brushes.Gray;
                        ctrl.AbsenceButton.Background    = Brushes.Gray;
                        ctrl.TardyButton.Background      = Brushes.Green;
                        break;

                    default:
                        throw new Exception("出勤ステータス異常");
                    }
                }
            }
        }
Exemple #2
0
        /// <summary>
        /// ステータス変更通知受信
        /// 変更された情報をもとに、表示を変更する
        /// </summary>
        /// <param name="name"></param>
        void ChangeStateNotify(AttendanceStatusInfo status)
        {
            //表示を更新する
            Console.WriteLine("ChangeStateNotify() name:" + status.name);

            this.Dispatcher.BeginInvoke(
                new Action(() => {
                UpdateAttendance(status);
            })
                );
        }
Exemple #3
0
        internal AttendanceStatus(List <string> names)
        {
            foreach (string name in names)
            {
                AttendanceStatusInfo addData = new AttendanceStatusInfo();
                addData.name          = name;
                addData.status        = Status.ABSENCE;
                addData.arrivalTime   = DateTime.MinValue;
                addData.remarksColumn = "";

                attendanceStatusList.Add(addData);
            }
        }
        /// <summary>
        /// NFC読み取り通知受信(delegate通知)
        /// </summary>
        /// <param name="status"></param>
        /// <param name="idm"></param>
        internal void ReadComplete(ReadTask.ReadStatus status, string idm)
        {
            try
            {
                //Console.WriteLine(MethodBase.GetCurrentMethod().Name + ", IDm(" + idm + ")");

                AttendanceStatusInfo info = dataManager.UpdateAttendanceStatus(idm);
                ChangeStateNotify(info);
            }
            catch (MemberListFileException e)
            {
                MessageBox.Show("登録されていないカードです");
            }
        }
Exemple #5
0
        internal AttendanceStatusInfo UpdateAttendanceStatus(string name, Status status)
        {
            for (int i = 0; i < attendanceStatusList.Count; i++)
            {
                if (attendanceStatusList[i].name.Equals(name))
                {
                    AttendanceStatusInfo info = attendanceStatusList[i];
                    info.status             = status;
                    attendanceStatusList[i] = info;
                    return(info);
                }
            }

            Console.WriteLine("UpdateAttendanceStatus() " + name);
            throw new MemberListFileException("更新対象のデータが存在しません");
        }