Beispiel #1
0
        public void OnValidateOpen(ValidateOpenStatus validateStatus)
        {
            if (validateStatus == ValidateOpenStatus.LastDateNotClosed)
            {
                var dres = ShowMessageBox(MessageDialogType.Question, "WN0001", MSG_ED_CLOSE_ASK);
                if (dres == DialogResult.Yes)
                {
                    // goto 마감처리화면
                    // show Popup
                    var edForm = ChildManager.ShowForm(string.Empty, "WSWD.WmallPos.POS.ED.dll",
                                                       "WSWD.WmallPos.POS.ED.VC.POS_ED_P003", false, true);
                    edForm.Unload += new EventHandler(edForm_Unload);
                }
                else
                {
                    // 프로그램 종료
                    this.DialogResult = DialogResult.Ignore;
                }
            }
            else if (validateStatus == ValidateOpenStatus.NeedOpen)
            {
                // 개설한다
                var openForm = ChildManager.ShowForm(string.Empty, "WSWD.WmallPos.POS.SD.dll",
                                                     "WSWD.WmallPos.POS.SD.VC.POS_SD_P001");
                openForm.Unload += new EventHandler(openForm_Unload);
            }
            else
            {
                if (validateStatus == ValidateOpenStatus.UpdateEodFlagLogin)
                {
                    var res = ShowMessageBox(MessageDialogType.Question, "CODE",
                                             string.Format(MSG_OPENNED_CONT_ASK, DateTime.Today));
                    if (res == DialogResult.No)
                    {
                        // 프로그램 종료
                        this.DialogResult = DialogResult.Ignore;
                        return;
                    }

                    ConfigData.Current.AppConfig.PosInfo.EodFlag = "N";
                    ConfigData.Current.AppConfig.Save();
                }

                // 로그인한다
                GotoLogin();
            }
        }
Beispiel #2
0
        /// <summary>
        /// /// (4) 당일 개설 여부를 확인하여 개설 작업 자동 처리 한다.
        ///   - 프로그램 기동후 다음 조건을 만족하면 자동으로 개설 작업 진행 한다.
        ///      (CASE 1) CFG.영업일자 < 시스템 일자 AND CFG.정산완료 = 'Y' 이면 개설 처리
        ///      (CASE 2) CFG.매장형태=24시간운영 AND CFG.영업일자 = 시스템 일자 AND CFG.정산완료 = 'Y' 이면 개설 처리
        ///   - 만약 이전 영업일 마감정산이 안되었으면
        ///      IF 현재일자 > CFG.영업일자 AND CFG.정산여부 = 'N' THEN
        ///         ① 이전 영업일자 마감여부 확인 MessageBox 표시 (메시지:"이전 일자 마감 미처리 !!", 버튼: 예(정산) 아니오:(종료))
        ///         ② 예(정산) 이면 : 마감처리 회면 호출하여 처리
        ///         ③ 아니오(종료) 이면 : 프로그램 종료
        ///      END IF
        /// </summary>
        public void ValidateOnOpen()
        {
            ValidateOpenStatus validateStatus = ValidateOpenStatus.GotoLogin;

            int sysDate  = int.Parse(DateTime.Today.ToString("yyyyMMdd"));
            int saleDate = TypeHelper.ToInt32(ConfigData.Current.AppConfig.PosInfo.SaleDate);

            if (saleDate == 0)
            {
                validateStatus = ValidateOpenStatus.NeedOpen;
            }
            else
            {
                // 24시간운영일때
                if ("1".Equals(ConfigData.Current.AppConfig.PosInfo.StoreType))
                {
                    //2015.09.01정광호 수정----------------------------------------
                    //로직 변경
                    //if (!"Y".Equals(ConfigData.Current.AppConfig.PosInfo.EodFlag))
                    //{
                    //    validateStatus = ValidateOpenStatus.GotoLogin;
                    //}
                    //else
                    //{
                    //    validateStatus = ValidateOpenStatus.NeedOpen;
                    //}

                    if (!"Y".Equals(ConfigData.Current.AppConfig.PosInfo.EodFlag))
                    {
                        if (sysDate == saleDate)
                        {
                            validateStatus = ValidateOpenStatus.GotoLogin;
                        }
                        else if (sysDate > saleDate)
                        {
                            int nowDate     = TypeHelper.ToInt32(DateTime.Now.Hour);
                            int eodBaseDate = TypeHelper.ToInt32(ConfigData.Current.AppConfig.PosInfo.EodBaseHour.Length <= 0 || ConfigData.Current.AppConfig.PosInfo.EodBaseHour == "0" ?
                                                                 "1" : ConfigData.Current.AppConfig.PosInfo.EodBaseHour);

                            if (nowDate < eodBaseDate)
                            {
                                validateStatus = ValidateOpenStatus.GotoLogin;
                            }
                            else
                            {
                                validateStatus = ValidateOpenStatus.LastDateNotClosed;
                            }
                        }
                    }
                    else
                    {
                        validateStatus = ValidateOpenStatus.NeedOpen;
                    }
                    //-----------------------------------------------------------------
                }
                else
                {
                    if (!"Y".Equals(ConfigData.Current.AppConfig.PosInfo.EodFlag))
                    {
                        ///
                        /// IF CFG.SaleDate < 시스템알자
                        /// • 전일자 마감 처리 여부 확인 메시지 창에서 [아니오] 클릭하면 프로그램 종료한다.
                        /// • [마감] 클릭하면 전일자 마감 처리 실행 후 개설 작업 처리 한다.
                        ///
                        if (sysDate > saleDate)
                        {
                            validateStatus = ValidateOpenStatus.LastDateNotClosed;
                        }
                        else
                        {
                            validateStatus = ValidateOpenStatus.GotoLogin;
                        }
                    }
                    else
                    {
                        // 개설처리한다
                        if (sysDate > saleDate)
                        {
                            validateStatus = ValidateOpenStatus.NeedOpen;
                        }
                        else
                        {
                            /*
                             * "이미 yyyy/mm/dd 마감 처리하였습니다." "매출 등록 하시겠습니까?" 메시지 표시
                             *                  [예] 버튼 : AppConfig.EodFlag 'N'으로 업데이트 하고 SignOn 화면 호출
                             *                  [아니오] 버튼 : 프로그램 종료
                             * */
                            validateStatus = ValidateOpenStatus.UpdateEodFlagLogin;
                        }
                    }
                }
            }

            m_view.OnValidateOpen(validateStatus);
        }