Exemple #1
0
        /// <summary>
        /// 즐겨찾기 적용 버튼 클릭 이벤트
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private async void ImgBookmarkApply_PreviewMouseLeftButtonUp(object sender, MouseButtonEventArgs e)
        {
            try
            {
                //// 현재 화면의 즐겨찾기를 해제하시겠습니까?
                //this.BaseClass.MsgQuestion("ASK_DEL_FVRT");
                //if (this.BaseClass.BUTTON_CONFIRM_YN == false) { return; }

                bool isRtnValue = true;

                #region + 데이터 저장
                using (BaseDataAccess da = new BaseDataAccess())
                {
                    try
                    {
                        // 트랜잭션 시작
                        da.BeginTransaction();

                        // 즐겨찾기 해제
                        isRtnValue = await this.DeleteSP_MENU_FVRT_DEL(da);


                        if (isRtnValue == true)
                        {
                            // 저장된 경우 트랜잭션을 커밋처리한다.
                            da.CommitTransaction();

                            //// CMPT - 완료 되었습니다.
                            //this.BaseClass.MsgInfo("CMPT");

                            await this.GetSP_MENU_FVRT_INQ();
                        }
                        else
                        {
                            // ERR_SAVE - 저장 중 오류가 발생 했습니다.
                            this.BaseClass.MsgError("ERR_SAVE");
                        }
                    }
                    catch { throw; }
                    finally
                    {
                        if (da.TransactionState_Oracle == BaseEnumClass.TransactionState_ORACLE.TransactionStarted)
                        {
                            da.RollbackTransaction();
                        }
                    }
                }
                #endregion

                // 유저컨트롤에서 발생한 이벤트를 부모창으로 전달
                // 즐겨찾기 변경 완료 여부 전달
                this.UserControlCallEvent();
            }
            catch (Exception err)
            {
                this.BaseClass.Error(err);
            }
        }
Exemple #2
0
        /// <summary>
        /// 즐겨찾기 해제 버튼 클릭 이벤트
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private async void ImgBookmarkCanncellation_PreviewMouseLeftButtonUp(object sender, MouseButtonEventArgs e)
        {
            try
            {
                //// 현재 화면을 즐겨찾기에 등록하시겠습니까?
                //this.BaseClass.MsgQuestion("ASK_REG_FVRT");
                //if (this.BaseClass.BUTTON_CONFIRM_YN == false) { return; }

                bool isRtnValue = true;

                #region + 데이터 저장
                using (BaseDataAccess da = new BaseDataAccess())
                {
                    try
                    {
                        // 트랜잭션 시작
                        da.BeginTransaction();

                        // 즐겨찾기 반영
                        isRtnValue = await this.InsertSP_MENU_FVRT_INS(da);

                        if (isRtnValue == true)
                        {
                            // 저장된 경우 트랜잭션을 커밋처리한다.
                            da.CommitTransaction();

                            //// CMPT - 완료 되었습니다.
                            //this.BaseClass.MsgInfo("CMPT");

                            await this.GetSP_MENU_FVRT_INQ();
                        }
                        else
                        {
                            da.RollbackTransaction();
                            // ERR_SAVE - 저장 중 오류가 발생 했습니다.
                            this.BaseClass.MsgError("ERR_SAVE");
                        }
                    }
                    catch { throw; }
                }
                #endregion

                // 유저컨트롤에서 발생한 이벤트를 부모창으로 전달
                // 즐겨찾기 변경 완료 여부 전달
                this.UserControlCallEvent();
            }
            catch (Exception err)
            {
                this.BaseClass.Error(err);
            }
        }
Exemple #3
0
        /// <summary>
        /// 박스유형관리 저장 버튼 클릭 이벤트
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private async void BtnSave_First_PreviewMouseLeftButtonUp(object sender, MouseButtonEventArgs e)
        {
            try
            {
                if (this.CheckGridRowSelected() == false)
                {
                    return;
                }

                // ASK_SAVE - 저장하시겠습니까?
                this.BaseClass.MsgQuestion("ASK_SAVE");
                if (this.BaseClass.BUTTON_CONFIRM_YN == false)
                {
                    return;
                }

                bool isRtnValue = false;

                this.BoxTypeMgntList.ForEach(p => p.ClearError());

                var strMessage = "{0} 이(가) 입력되지 않았습니다.";

                foreach (var item in this.BoxTypeMgntList)
                {
                    if (item.IsNew || item.IsUpdate)
                    {
                        if (string.IsNullOrWhiteSpace(item.CST_CD) == true)
                        {
                            item.CellError("CST_CD", string.Format(strMessage, this.GetLabelDesc("CST_CD")));
                            return;
                        }

                        if (string.IsNullOrWhiteSpace(item.CST_NM) == true)
                        {
                            item.CellError("CST_NM", string.Format(strMessage, this.GetLabelDesc("CST_NM")));
                            return;
                        }

                        if (string.IsNullOrWhiteSpace(item.BOX_TYPE_CD) == true)
                        {
                            item.CellError("BOX_TYPE_CD", string.Format(strMessage, this.GetLabelDesc("BOX_TYPE_CD")));
                            return;
                        }

                        if (string.IsNullOrWhiteSpace(item.BOX_TYPE_NM) == true)
                        {
                            item.CellError("BOX_TYPE_NM", string.Format(strMessage, this.GetLabelDesc("BOX_TYPE_NM")));
                            return;
                        }
                    }
                }

                var liSelectedRowData = this.BoxTypeMgntList.Where(p => p.IsSelected == true).ToList();

                using (BaseDataAccess da = new BaseDataAccess())
                {
                    try
                    {
                        // 상태바 (아이콘) 실행
                        this.loadingScreen.IsSplashScreenShown = true;

                        da.BeginTransaction();

                        foreach (var item in liSelectedRowData)
                        {
                            if (item.IsNew == true)
                            {
                                isRtnValue = await this.InsertSP_BOX_TYPE_INS(da, item);
                            }
                            else
                            {
                                isRtnValue = await this.UpdateSP_BOX_TYPE_UPD(da, item);
                            }

                            if (isRtnValue == false)
                            {
                                break;
                            }
                        }

                        if (isRtnValue == true)
                        {
                            // 저장된 경우
                            da.CommitTransaction();

                            this.BaseClass.MsgInfo("CMPT_SAVE"); //CMPT_SAVE : 저장되었습니다.

                            await this.GetSP_BOX_TYPE_LIST_INQ();

                            foreach (var item in liSelectedRowData)
                            {
                                item.IsSaved    = true;
                                item.IsSelected = false;
                            }

                            //저장된 데이터 포함하여 데이터 조회
                            DataSet dsRtnValue = await this.GetSP_BOX_TYPE_LIST_INQ();

                            this.BoxTypeMgntList = new ObservableCollection <BoxTypeMgnt>();
                            this.BoxTypeMgntList.ToObservableCollection(dsRtnValue.Tables[0]);

                            this.gridMaster.ItemsSource = this.BoxTypeMgntList;
                        }
                        else
                        {
                            // 오류 발생하여 저장 실패한 경우
                            da.RollbackTransaction();
                        }
                    }
                    catch
                    {
                        if (da.TransactionState_Oracle == BaseEnumClass.TransactionState_ORACLE.TransactionStarted)
                        {
                            da.RollbackTransaction();
                        }
                        this.BaseClass.MsgInfo("ERR_SAVE"); //ERR_SAVE : 저장 중 오류가 발생했습니다.
                        throw;
                    }
                    finally
                    {
                        // 상태바 (아이콘) 제거
                        this.loadingScreen.IsSplashScreenShown = false;
                    }
                }
            }
            catch (Exception err)
            {
                this.BaseClass.Error(err);
            }
        }
        /// <summary>
        /// 저장 함수
        /// </summary>
        /// <returns></returns>
        private bool SaveEmsEqpMngr()
        {
            using (BaseDataAccess da = new BaseDataAccess())
            {
                try
                {
                    string _SUCCESS_CODE = "100";
                    var    _saveItems    = EmsEqpMngrList.Where(f => f.IsUpdate || f.IsNew).ToList();

                    //if (0 == _saveItems.Count)
                    if (this.EmsEqpMngrList.Where(p => p.IsSelected).Count() == 0)
                    {
                        // ERR_NO_SELECT - 선택된 데이터가 없습니다.
                        this.BaseClass.MsgError("ERR_NO_SELECT");
                        return(false);
                    }

                    // ERR_NOT_INPUT - {0}이(가) 입력되지 않았습니다.
                    string strInputMessage = this.BaseClass.GetResourceValue("ERR_NOT_INPUT", BaseEnumClass.ResourceType.MESSAGE);

                    // ASK_SAVE - 저장 하시겠습니까?
                    this.BaseClass.MsgQuestion("ASK_SAVE");
                    if (this.BaseClass.BUTTON_CONFIRM_YN == false)
                    {
                        return(false);
                    }

                    foreach (var item in _saveItems)
                    {
                        if (item.IsSelected == false)
                        {
                            continue;
                        }

                        if (string.IsNullOrWhiteSpace(item.EQP_MNGR_ID))
                        {
                            item.CellError("USER_ID", string.Format(strInputMessage, this.BaseClass.GetResourceValue("ID")));
                            return(false);
                        }

                        if (1 < EmsEqpMngrList.Where(f => f.EQP_MNGR_ID == item.EQP_MNGR_ID).ToList().Count)
                        {
                            // ERR_EXISTS_ID - ID가 존재합니다.
                            this.BaseClass.MsgError("ERR_EXISTS_ID");
                            return(false);
                        }
                    }

                    var _USER_ID = this.BaseClass.UserID;

                    da.BeginTransaction();

                    foreach (var item in _saveItems)
                    {
                        var param = new Dictionary <string, object>
                        {
                            { "P_CENTER_CD", this.BaseClass.CenterCD },
                            { "P_EQP_MNGR_ID", item.EQP_MNGR_ID },      // ID
                            { "P_MNGR_NM", item.MNGR_NM },              // 이름
                            { "P_MNGR_TEL_NO", item.MNGR_TEL_NO },      // 전화
                            { "P_VNDR_NM", item.VNDR_NM },              // 회사명
                            { "P_EMPL_DEV_CD", item.EMPL_DEV_CD },      // 고용 구분
                            { "P_USE_YN", item.USE_YN },
                            { "P_USER_ID", _USER_ID }
                        };

                        var    strOutParam = new[] { "P_RESULT" };
                        string callProc    = "PK_EMS_EBSE001.SP_EMS_EQP_MNGR_SAVE";

                        var outData = da.GetSpDataSet(
                            callProc                    // 호출 프로시저
                            , param                     // Input 파라메터
                            , strOutParam               // Output 파라메터
                            );

                        if (outData.Tables[0].Rows.Count > 0)
                        {
                            if (outData.Tables[0].Rows[0]["CODE"].ToString() != _SUCCESS_CODE)
                            {
                                _SUCCESS_CODE = "0";
                                da.RollbackTransaction();
                                BaseClass.MsgInfo(outData.Tables[0].Rows[0]["MSG"].ToString(), BaseEnumClass.CodeMessage.MESSAGE);
                                break;
                            }
                        }
                        else
                        {
                            _SUCCESS_CODE = "0";
                            da.RollbackTransaction();
                            this.BaseClass.MsgInfo("ERR_INPUT_TYPE");
                            break;
                        }
                    }

                    if (_SUCCESS_CODE == "100")
                    {
                        da.CommitTransaction();
                        return(true);
                    }
                }
                catch (Exception ex)
                {
                    da.RollbackTransaction();
                    this.BaseClass.Error(ex);
                    this.BaseClass.MsgError(ex.Message, BaseEnumClass.CodeMessage.MESSAGE);
                }

                return(false);
            }
        }
        /// <summary>
        /// 저장 버튼 이벤트
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void BtnSave_PreviewMouseLeftButtonUp(object sender, MouseButtonEventArgs e)
        {
            try
            {
                bool isRtnValue = false;

                this.BaseClass.MsgQuestion("ASK_CHANGE_DATA_SAVE");
                if (this.BaseClass.BUTTON_CONFIRM_YN == true)
                {
                    using (BaseDataAccess da = new BaseDataAccess())
                    {
                        try
                        {
                            // 상태바 (아이콘) 실행
                            this.loadingScreen.IsSplashScreenShown = true;

                            da.BeginTransaction();

                            //PK_C1022_GAN.SP_CELL_MST_SAVE
                            isRtnValue = this.SetSP_CELL_MST_SAVE(da);

                            if (isRtnValue == true)
                            {
                                // 저장된 경우
                                da.CommitTransaction();

                                // 상태바 (아이콘) 제거
                                this.loadingScreen.IsSplashScreenShown = false;

                                // 저장되었습니다.
                                BaseClass.MsgInfo("CMPT_SAVE");
                            }
                            else
                            {
                                // 오류 발생하여 저장 실패한 경우
                                da.RollbackTransaction();
                            }
                        }
                        catch
                        {
                            if (da.TransactionState_Oracle == BaseEnumClass.TransactionState_ORACLE.TransactionStarted)
                            {
                                da.RollbackTransaction();
                            }

                            BaseClass.MsgError("ERR_SAVE");
                            throw;
                        }
                        finally
                        {
                            // 상태바 (아이콘) 제거
                            this.loadingScreen.IsSplashScreenShown = false;

                            // 재조회
                            CellInfoSearch();
                        }
                    }
                }
            }
            catch (Exception err)
            {
                this.BaseClass.Error(err);
            }
        }
        /// <summary>
        /// Confirm
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnStockConfirm_Click(object sender, MouseButtonEventArgs e)
        {
            EmsStock target = gridMain.SelectedItem as EmsStock;

            if (null == target)
            {
                return;
            }

            if ("CMPT" == target.INSP_STAT_CD)
            {
                // 이미 확정된 항목입니다.
                this.BaseClass.MsgError("EMS_ALREADY_F");
                return;
            }

            var strConDate   = target.STOCK_INSP_DT.ToString("yyyy-MM-dd");
            var strConString = this.BaseClass.GetResourceValue("EMS_REF_FF");    // 재고 조사를 확정합니다.

            var strMessage = this.BaseClass.GetResourceValue("ASK_EMS_CONF_COND", BaseEnumClass.ResourceType.MESSAGE);

            this.BaseClass.MsgQuestion(string.Format(strMessage, strConDate), BaseEnumClass.CodeMessage.MESSAGE);

            //this.BaseClass.MsgQuestion($"{strConDate}{strConString}", BaseEnumClass.CodeMessage.MESSAGE);
            if (this.BaseClass.BUTTON_CONFIRM_YN != true)
            {
                return;
            }

            if (!StockDetailSave(true))
            {
                return;
            }

            using (BaseDataAccess da = new BaseDataAccess())
            {
                try
                {
                    string _SUCCESS_CODE = "100";

                    var _USER_ID = this.BaseClass.UserID;

                    da.BeginTransaction();


                    var param = new Dictionary <string, object>
                    {
                        { "P_CENTER_CD", this.BaseClass.CenterCD },
                        { "P_STOCK_INSP_DT", new DateTime(target.STOCK_INSP_DT.Year, target.STOCK_INSP_DT.Month, target.STOCK_INSP_DT.Day) },
                        { "P_INSP_STAT_CD", "CMPT" },   // 확정 (value : F -> CMPT로 수정)
                        { "P_USER_ID", _USER_ID }
                    };

                    var    strOutParam = new[] { "P_RESULT" };
                    string callProc    = "PK_EMS_ESPA002.SP_EMS_STOCK_FIX";

                    var outData = da.GetSpDataSet(
                        callProc                           // 호출 프로시저
                        , param                            // Input 파라메터
                        , strOutParam                      // Output 파라메터
                        );

                    if (outData.Tables[0].Rows.Count > 0)
                    {
                        if (outData.Tables[0].Rows[0]["CODE"].ToString() != _SUCCESS_CODE)
                        {
                            _SUCCESS_CODE = "0";
                            da.RollbackTransaction();
                            BaseClass.MsgInfo(outData.Tables[0].Rows[0]["MSG"].ToString(), BaseEnumClass.CodeMessage.MESSAGE);
                        }
                    }
                    else
                    {
                        _SUCCESS_CODE = "0";
                        da.RollbackTransaction();
                        this.BaseClass.MsgError("ERR_INPUT_TYPE");
                    }

                    if (_SUCCESS_CODE == "100")
                    {
                        da.CommitTransaction();

                        //this.ChangeStatusLabelEvent(HelperClass.GetMessageByCountryCode("CMPT_SAVE_DATA"));

                        // 확정되었습니다.
                        this.BaseClass.MsgInfo("CMPT_CONF");

                        focused_handle = gridMain.View.FocusedRowHandle;
                        SearchStock();
                    }
                }
                catch (Exception ex)
                {
                    da.RollbackTransaction();
                    this.BaseClass.Error(ex);
                    this.BaseClass.MsgError(ex.Message, BaseEnumClass.CodeMessage.MESSAGE);
                }
            }
        }
        /// <summary>
        /// 저장 함수
        /// </summary>
        /// <returns></returns>
        bool StockDetailSave(bool from_confirm = false)
        {
            bool result = false;

            using (BaseDataAccess da = new BaseDataAccess())
            {
                try
                {
                    string _SUCCESS_CODE = "100";

                    var _USER_ID = this.BaseClass.UserID;

                    var _stockSave = StockList.Where(f => f.IsUpdate).ToList();

                    if (0 < _stockSave.Count)
                    {
                        da.BeginTransaction();

                        foreach (var item in _stockSave)
                        {
                            var param = new Dictionary <string, object>
                            {
                                { "P_CENTER_CD", this.BaseClass.CenterCD },
                                { "P_STOCK_INSP_DT", item.STOCK_INSP_DT.ToString("yyyyMMdd") }, // new DateTime(item.STOCK_INSP_DT.Year, item.STOCK_INSP_DT.Month, item.STOCK_INSP_DT.Day) }, // 재고 조사 일자
                                { "P_NOTE", item.NOTE },                                        // 비고
                                { "P_USER_ID", _USER_ID }
                            };

                            var    strOutParam = new[] { "P_RESULT" };
                            string callProc    = "PK_EMS_ESPA002_01P.SP_EMS_STOCK_INSP_DT_UPDATE";

                            var outData = da.GetSpDataSet(
                                callProc                           // 호출 프로시저
                                , param                            // Input 파라메터
                                , strOutParam                      // Output 파라메터
                                );

                            if (outData.Tables[0].Rows.Count > 0)
                            {
                                if (outData.Tables[0].Rows[0]["CODE"].ToString() != _SUCCESS_CODE)
                                {
                                    _SUCCESS_CODE = "0";
                                    da.RollbackTransaction();
                                    BaseClass.MsgInfo(outData.Tables[0].Rows[0]["MSG"].ToString(), BaseEnumClass.CodeMessage.MESSAGE);

                                    return(false);
                                }
                            }
                            else
                            {
                                _SUCCESS_CODE = "0";
                                da.RollbackTransaction();
                                this.BaseClass.MsgError("ERR_INPUT_TYPE");

                                return(false);
                            }
                        }

                        if (_SUCCESS_CODE == "100")
                        {
                            result = true;
                        }
                        else
                        {
                            da.RollbackTransaction();
                            return(false);
                        }
                    }


                    var _saveItems = CurrentStockDetail.Where(f => f.IsUpdate).ToList();

                    if (0 == _saveItems.Count)
                    {
                        if (result)
                        {
                            da.CommitTransaction();
                        }

                        return(result ? true : from_confirm);
                    }

                    if (!result)
                    {
                        da.BeginTransaction();
                    }

                    foreach (var item in _saveItems)
                    {
                        var param = new Dictionary <string, object>
                        {
                            { "P_CENTER_CD", this.BaseClass.CenterCD },
                            { "P_STOCK_INSP_DT", item.STOCK_INSP_DT.Replace("-", string.Empty) }, //new DateTime(item.STOCK_INSP_DT.Year, item.STOCK_INSP_DT.Month, item.STOCK_INSP_DT.Day) }, // 재고 조사 일자
                            { "P_PART_ID", item.PART_ID },                                        // ID
                            { "P_INSP_QTY", item.INSP_QTY },                                      // 재고 조사 수량
                            { "P_WH_NOTE", item.NOTE },                                           // 비고
                            { "P_USER_ID", _USER_ID }
                        };

                        var    strOutParam = new[] { "P_RESULT" };
                        string callProc    = "PK_EMS_ESPA002.SP_EMS_STOCK_DETAIL_UPDATE";

                        var outData = da.GetSpDataSet(
                            callProc                           // 호출 프로시저
                            , param                            // Input 파라메터
                            , strOutParam                      // Output 파라메터
                            );

                        if (outData.Tables[0].Rows.Count > 0)
                        {
                            if (outData.Tables[0].Rows[0]["CODE"].ToString() != _SUCCESS_CODE)
                            {
                                _SUCCESS_CODE = "0";
                                da.RollbackTransaction();
                                BaseClass.MsgInfo(outData.Tables[0].Rows[0]["MSG"].ToString(), BaseEnumClass.CodeMessage.MESSAGE);
                                break;
                            }
                        }
                        else
                        {
                            _SUCCESS_CODE = "0";
                            da.RollbackTransaction();
                            this.BaseClass.MsgError("ERR_INPUT_TYPE");
                            break;
                        }
                    }

                    if (_SUCCESS_CODE == "100")
                    {
                        da.CommitTransaction();
                        //this.ChangeStatusLabelEvent(HelperClass.GetMessageByCountryCode("CMPT_SAVE_DATA"));

                        return(true);
                    }
                }
                catch (Exception ex)
                {
                    result = false;

                    da.RollbackTransaction();
                    this.BaseClass.MsgError(ex.Message, BaseEnumClass.CodeMessage.MESSAGE);
                }
            }

            return(result);
        }
Exemple #8
0
        /// <summary>
        /// 삭제 함수
        /// </summary>
        private void DelChkList()
        {
            var _delItems = ChkRstList.Where(f => f.IsChecked).ToList();

            if (0 < _delItems.Count)
            {
                var    _USER_ID      = this.BaseClass.UserID;
                string _SUCCESS_CODE = "100";

                using (BaseDataAccess da = new BaseDataAccess())
                {
                    try
                    {
                        da.BeginTransaction();

                        foreach (var item in _delItems)
                        {
                            if (!item.IsNew)
                            {
                                var param = new Dictionary <string, object>
                                {
                                    { "P_CENTER_CD", this.BaseClass.CenterCD },
                                    { "P_CHK_ID", CurrentChkID },
                                    { "P_EQP_ID", item.EQP_ID }
                                };

                                var    strOutParam = new[] { "P_RESULT" };
                                string callProc    = "PK_EMS_ECHK001_04P.SP_EMS_EQP_RST_DELETE";

                                var outData = da.GetSpDataSet(
                                    callProc                         // 호출 프로시저
                                    , param                          // Input 파라메터
                                    , strOutParam                    // Output 파라메터
                                    );

                                if (outData.Tables[0].Rows.Count > 0)
                                {
                                    if (outData.Tables[0].Rows[0]["CODE"].ToString() != _SUCCESS_CODE)
                                    {
                                        _SUCCESS_CODE = "0";
                                        da.RollbackTransaction();
                                        BaseClass.MsgInfo(outData.Tables[0].Rows[0]["MSG"].ToString(), BaseEnumClass.CodeMessage.MESSAGE);
                                        break;
                                    }
                                }
                                else
                                {
                                    _SUCCESS_CODE = "0";
                                    da.RollbackTransaction();
                                    this.BaseClass.MsgError("ERR_INPUT_TYPE");
                                    break;
                                }
                            }
                        }

                        if (_SUCCESS_CODE == "100")
                        {
                            da.CommitTransaction();

                            foreach (var item in _delItems)
                            {
                                ChkRstList.Remove(item);
                            }

                            gridMain.RefreshData();
                        }
                    }
                    catch (Exception ex)
                    {
                        da.RollbackTransaction();
                        this.BaseClass.MsgError(ex.Message, BaseEnumClass.CodeMessage.MESSAGE);
                    }
                }
            }
        }
        /// <summary>
        /// 저장 함수
        /// </summary>
        void SaveChkPlan()
        {
            using (BaseDataAccess da = new BaseDataAccess())
            {
                try
                {
                    string _SUCCESS_CODE = "100";

                    var _USER_ID = this.BaseClass.UserID;

                    da.BeginTransaction();

                    //DateTime dt         = new DateTime(chkDate.DateTime.Year, chkDate.DateTime.Month, chkDate.DateTime.Day);
                    var strChkDate   = this.BaseClass.GetCalendarValue(this.chkDate);
                    var strChkDptDev = this.BaseClass.ComboBoxSelectedKeyValue(this.cboChkDptDev);


                    var param = new Dictionary <string, object>
                    {
                        { "P_CENTER_CD", this.BaseClass.CenterCD },
                        { "P_CHK_ID", (-1 == CurrentChkID) ? 0 : CurrentChkID },    // 일련번호
                        { "P_CHK_PLAN_NM", tbxChkName.Text.Trim() },                // 점검 명
                        { "P_CHK_DEV_CD", strChkDptDev },                           // 점검구분
                        { "P_CHK_PLAN_DT", strChkDate },                            // 점검읿자
                        { "P_USER_ID", _USER_ID }
                    };

                    var    strOutParam = new[] { "P_RESULT" };
                    string callProc    = "PK_EMS_ECHK001_01P.SP_EMS_CHK_PLAN_INFO_SAVE";

                    var outData = da.GetSpDataSet(
                        callProc                             // 호출 프로시저
                        , param                              // Input 파라메터
                        , strOutParam                        // Output 파라메터
                        );

                    if (outData.Tables[0].Rows.Count > 0)
                    {
                        if (outData.Tables[0].Rows[0]["CODE"].ToString() != _SUCCESS_CODE)
                        {
                            da.RollbackTransaction();
                            BaseClass.MsgError(outData.Tables[0].Rows[0]["MSG"].ToString(), BaseEnumClass.CodeMessage.MESSAGE);
                        }
                    }
                    else
                    {
                        _SUCCESS_CODE = "0";
                        da.RollbackTransaction();
                        this.BaseClass.MsgError("ERR_INPUT_TYPE");
                    }

                    if ("0" != _SUCCESS_CODE)
                    {
                        int chk_id = int.Parse(outData.Tables[0].Rows[0]["CHK_ID"].ToString());

                        var chkd = ChkPbsList.Where(P => P.IsSelected).ToList();

                        if (null == CheckedPbsList || 0 == CheckedPbsList.Count)
                        {
                            // 기 체크된 항목 없음
                            //
                            foreach (var item in chkd)
                            {
                                var paramP = new Dictionary <string, object>
                                {
                                    { "P_CENTER_CD", this.BaseClass.CenterCD },
                                    { "P_CHK_ID", chk_id },
                                    { "P_PBS_ID", item.PBS_ID },
                                    { "P_ISCHECK", 1 },
                                    { "P_USER_ID", _USER_ID }
                                };

                                var    strOutParamP = new[] { "P_RESULT" };
                                string callProcP    = "PK_EMS_ECHK001_01P.SP_EMS_CHK_PLAN_PBS_SAVE";

                                var outDataP = da.GetSpDataSet(
                                    callProcP                         // 호출 프로시저
                                    , paramP                          // Input 파라메터
                                    , strOutParamP                    // Output 파라메터
                                    );

                                if (outDataP.Tables[0].Rows.Count > 0)
                                {
                                    if (outDataP.Tables[0].Rows[0]["CODE"].ToString() != _SUCCESS_CODE)
                                    {
                                        _SUCCESS_CODE = "0";
                                        da.RollbackTransaction();
                                        BaseClass.MsgInfo(outData.Tables[0].Rows[0]["MSG"].ToString(), BaseEnumClass.CodeMessage.MESSAGE);
                                        break;
                                    }
                                }
                                else
                                {
                                    _SUCCESS_CODE = "0";
                                    da.RollbackTransaction();
                                    this.BaseClass.MsgError("ERR_INPUT_TYPE");
                                    break;
                                }
                            }
                        }
                        else
                        {
                            // 새로 체크된(추가) 항목 추룰
                            //
                            var add = chkd.Except(CheckedPbsList).ToList();

                            // 체크 해제된(삭제) 항목 추룰
                            //
                            var removed = CheckedPbsList.Except(chkd).ToList();


                            // 추가 항목 처리
                            //
                            foreach (var item in add)
                            {
                                var paramP = new Dictionary <string, object>
                                {
                                    { "P_CENTER_CD", this.BaseClass.CenterCD },
                                    { "P_CHK_ID", chk_id },
                                    { "P_PBS_ID", item.PBS_ID },
                                    { "P_ISCHECK", 1 },
                                    { "P_USER_ID", _USER_ID }
                                };

                                var    strOutParamP = new[] { "P_RESULT" };
                                string callProcP    = "PK_EMS_ECHK001_01P.SP_EMS_CHK_PLAN_PBS_SAVE";

                                var outDataP = da.GetSpDataSet(
                                    callProcP                         // 호출 프로시저
                                    , paramP                          // Input 파라메터
                                    , strOutParamP                    // Output 파라메터
                                    );

                                if (outDataP.Tables[0].Rows.Count > 0)
                                {
                                    if (outDataP.Tables[0].Rows[0]["CODE"].ToString() != _SUCCESS_CODE)
                                    {
                                        _SUCCESS_CODE = "0";
                                        da.RollbackTransaction();
                                        BaseClass.MsgError(outData.Tables[0].Rows[0]["MSG"].ToString(), BaseEnumClass.CodeMessage.MESSAGE);
                                        break;
                                    }
                                }
                                else
                                {
                                    _SUCCESS_CODE = "0";
                                    da.RollbackTransaction();
                                    this.BaseClass.MsgError("ERR_INPUT_TYPE");
                                    break;
                                }
                            }

                            // 삭제 항목 처리
                            //
                            foreach (var item in removed)
                            {
                                var paramP = new Dictionary <string, object>
                                {
                                    { "P_CENTER_CD", this.BaseClass.CenterCD },
                                    { "P_CHK_ID", chk_id },
                                    { "P_PBS_ID", item.PBS_ID },
                                    { "P_ISCHECK", 0 },
                                    { "P_USER_ID", _USER_ID }
                                };

                                var    strOutParamP = new[] { "P_RESULT" };
                                string callProcP    = "PK_EMS_ECHK001_01P.SP_EMS_CHK_PLAN_PBS_SAVE";

                                var outDataP = da.GetSpDataSet(
                                    callProcP                         // 호출 프로시저
                                    , paramP                          // Input 파라메터
                                    , strOutParamP                    // Output 파라메터
                                    );

                                if (outDataP.Tables[0].Rows.Count > 0)
                                {
                                    if (outDataP.Tables[0].Rows[0]["CODE"].ToString() != _SUCCESS_CODE)
                                    {
                                        _SUCCESS_CODE = "0";
                                        da.RollbackTransaction();
                                        BaseClass.MsgError(outData.Tables[0].Rows[0]["MSG"].ToString(), BaseEnumClass.CodeMessage.MESSAGE);
                                        break;
                                    }
                                }
                                else
                                {
                                    _SUCCESS_CODE = "0";
                                    da.RollbackTransaction();
                                    this.BaseClass.MsgError("ERR_INPUT_TYPE");
                                    break;
                                }
                            }
                        }

                        if (_SUCCESS_CODE == "100")
                        {
                            da.CommitTransaction();
                            //this.ChangeStatusLabelEvent(HelperClass.GetMessageByCountryCode("CMPT_SAVE_DATA"));

                            this.BaseClass.MsgInfo("CMPT_SAVE");
                            IsSaved = true;
                            this.Close();
                        }
                    }
                }
                catch (Exception ex)
                {
                    da.RollbackTransaction();
                    this.BaseClass.MsgError(ex.Message, BaseEnumClass.CodeMessage.MESSAGE);
                }
            }
        }
        /// <summary>
        /// 삭제 함수
        /// </summary>
        private void DelChkListMst()
        {
            //var _delItems = MasterChkList.Where(f => f.IsChecked).ToList();
            var _delItems = MasterChkList.Where(f => f.IsSelected).ToList();

            if (0 < _delItems.Count)
            {
                using (BaseDataAccess da = new BaseDataAccess())
                {
                    string _SUCCESS_CODE = "100";

                    try
                    {
                        this.BaseClass.MsgQuestion("ASK_DEL");
                        if (this.BaseClass.BUTTON_CONFIRM_YN == false)
                        {
                            return;
                        }

                        var _USER_ID = this.BaseClass.UserID;

                        da.BeginTransaction();

                        foreach (var item in _delItems)
                        {
                            if (item.IsNew != true)
                            {
                                var param = new Dictionary <string, object>
                                {
                                    { "P_CENTER_CD", this.BaseClass.CenterCD },
                                    { "P_CHK_NO", item.CHK_NO },
                                    { "P_USER_ID", _USER_ID }
                                };

                                var    strOutParam = new[] { "P_RESULT" };
                                string callProc    = "PK_EMS_EBSE007.SP_EMS_CHK_LIST_MST_DELETE";

                                var outData = da.GetSpDataSet(
                                    callProc                         // 호출 프로시저
                                    , param                          // Input 파라메터
                                    , strOutParam                    // Output 파라메터
                                    );

                                if (outData.Tables[0].Rows.Count > 0)
                                {
                                    if (outData.Tables[0].Rows[0]["CODE"].ToString() != _SUCCESS_CODE)
                                    {
                                        _SUCCESS_CODE = "0";
                                        da.RollbackTransaction();
                                        BaseClass.MsgInfo(outData.Tables[0].Rows[0]["MSG"].ToString(), BaseEnumClass.CodeMessage.MESSAGE);
                                        break;
                                    }
                                }
                                else
                                {
                                    _SUCCESS_CODE = "0";
                                    da.RollbackTransaction();
                                    this.BaseClass.MsgError("ERR_INPUT_TYPE");
                                    break;
                                }
                            }
                        }

                        if (_SUCCESS_CODE == "100")
                        {
                            da.CommitTransaction();

                            this.BaseClass.MsgInfo("CMPT_DEL");

                            foreach (var item in _delItems)
                            {
                                //if (item.IsNew != true)
                                MasterChkList.Remove(item);
                            }

                            gridMain.RefreshData();
                            //this.ChangeStatusLabelEvent(HelperClass.GetMessageByCountryCode("CMPT_DELETE"));
                        }
                    }
                    catch (Exception ex)
                    {
                        da.RollbackTransaction();
                        this.BaseClass.MsgError(ex.Message, BaseEnumClass.CodeMessage.MESSAGE);
                    }
                }
            }
            else
            {
                //this.BaseClass.MsgError("")
            }
        }
        /// <summary>
        /// 저장 함수
        /// </summary>
        /// <returns></returns>
        private bool SaveChkListMst()
        {
            using (BaseDataAccess da = new BaseDataAccess())
            {
                try
                {
                    string _SUCCESS_CODE = "100";
                    var    _saveItems    = MasterChkList.Where(f => f.IsUpdate || f.IsNew).ToList();

                    //if (0 == _saveItems.Count)
                    //{
                    //    return false;
                    //}

                    if (this.MasterChkList.Where(p => p.IsSelected).Count() == 0)
                    {
                        // ERR_NO_SELECT - 선택된 데이터가 없습니다.
                        this.BaseClass.MsgError("ERR_NO_SELECT");
                        return(false);
                    }

                    var _USER_ID = this.BaseClass.UserID;

                    this.BaseClass.MsgQuestion("ASK_SAVE");
                    if (this.BaseClass.BUTTON_CONFIRM_YN == false)
                    {
                        return(false);
                    }

                    da.BeginTransaction();

                    foreach (var item in _saveItems)
                    {
                        if (item.IsSelected == false)
                        {
                            continue;
                        }

                        var param = new Dictionary <string, object>
                        {
                            { "P_CENTER_CD", this.BaseClass.CenterCD },
                            { "P_CHK_NO", item.CHK_NO },                        // 순번
                            { "P_CHK_CONTENT", item.CHK_CONTENT },              // 내용
                            { "P_CHK_NOTE", item.CHK_NOTE },                    // 비고
                            { "P_USER_ID", _USER_ID }
                        };

                        var    strOutParam = new[] { "P_RESULT" };
                        string callProc    = "PK_EMS_EBSE007.SP_EMS_CHK_LIST_MST_SAVE";

                        var outData = da.GetSpDataSet(
                            callProc                             // 호출 프로시저
                            , param                              // Input 파라메터
                            , strOutParam                        // Output 파라메터
                            );

                        if (outData.Tables[0].Rows.Count > 0)
                        {
                            if (outData.Tables[0].Rows[0]["CODE"].ToString() != _SUCCESS_CODE)
                            {
                                _SUCCESS_CODE = "0";
                                da.RollbackTransaction();
                                BaseClass.MsgInfo(outData.Tables[0].Rows[0]["MSG"].ToString(), BaseEnumClass.CodeMessage.MESSAGE);
                                break;
                            }
                        }
                        else
                        {
                            _SUCCESS_CODE = "0";
                            da.RollbackTransaction();
                            this.BaseClass.GetResourceValue("ERR_INPUT_TYPE");
                            break;
                        }
                    }

                    if (_SUCCESS_CODE == "100")
                    {
                        da.CommitTransaction();
                        //this.ChangeStatusLabelEvent(HelperClass.GetMessageByCountryCode("CMPT_SAVE_DATA"));
                        this.BaseClass.MsgInfo("CMPT_SAVE");
                        return(true);
                    }
                }
                catch (Exception ex)
                {
                    da.RollbackTransaction();
                    this.BaseClass.MsgError(ex.Message, BaseEnumClass.CodeMessage.MESSAGE);
                }

                return(false);
            }
        }
        /// <summary>
        /// 삭제 함수
        /// </summary>
        private void DelEmsEqpMngr()
        {
            EmsPartByEqp item = gridPart.SelectedItem as EmsPartByEqp;

            if (null != item)
            {
                using (BaseDataAccess da = new BaseDataAccess())
                {
                    string _SUCCESS_CODE = "100";

                    try
                    {
                        var _USER_ID = this.BaseClass.UserID;

                        da.BeginTransaction();

                        //foreach (var item in _delItems)
                        {
                            if (item.IsNew != true)
                            {
                                var param = new Dictionary <string, object>
                                {
                                    { "P_CENTER_CD", this.BaseClass.CenterCD },
                                    { "P_EQP_ID", CurrEqpInfo.EQP_ID },
                                    { "P_PART_SERIAL_NO", item.PART_SERIAL_NO },
                                    { "P_USER_ID", _USER_ID }
                                };

                                var    strOutParam = new[] { "P_RESULT" };
                                string callProc    = "PK_EMS_EBSE004_02P.SP_EMS_EQP_DETAIL_DELETE";

                                var outData = da.GetSpDataSet(
                                    callProc                         // 호출 프로시저
                                    , param                          // Input 파라메터
                                    , strOutParam                    // Output 파라메터
                                    );

                                if (outData.Tables[0].Rows.Count > 0)
                                {
                                    if (outData.Tables[0].Rows[0]["CODE"].ToString() != _SUCCESS_CODE)
                                    {
                                        _SUCCESS_CODE = "0";
                                        da.RollbackTransaction();
                                        BaseClass.MsgInfo(outData.Tables[0].Rows[0]["MSG"].ToString(), BaseEnumClass.CodeMessage.MESSAGE);
                                    }
                                }
                                else
                                {
                                    _SUCCESS_CODE = "0";
                                    da.RollbackTransaction();
                                    this.BaseClass.MsgError("ERR_INPUT_TYPE");
                                    //break;
                                }
                            }
                        }

                        if (_SUCCESS_CODE == "100")
                        {
                            da.CommitTransaction();

                            PartByEqpList.Remove(item);

                            gridPart.RefreshData();
                        }
                    }
                    catch (Exception ex)
                    {
                        da.RollbackTransaction();
                        this.BaseClass.Error(ex);
                        this.BaseClass.MsgError(ex.Message, BaseEnumClass.CodeMessage.MESSAGE);
                    }
                }
            }
            else
            {
                this.BaseClass.MsgError("ERR_NO_DEL");
            }
        }
        /// <summary>
        /// 저장 함수
        /// </summary>
        private void PartByEqpSave()
        {
            using (BaseDataAccess da = new BaseDataAccess())
            {
                try
                {
                    string _SUCCESS_CODE = "100";
                    var    _saveItems    = PartByEqpList.Where(f => f.IsUpdate || f.IsNew).ToList();

                    if (0 == _saveItems.Count)
                    {
                        return;
                    }

                    var _USER_ID = this.BaseClass.UserID;

                    da.BeginTransaction();

                    foreach (var item in _saveItems)
                    {
                        var param = new Dictionary <string, object>
                        {
                            { "P_CENTER_CD", this.BaseClass.CenterCD },
                            { "P_EQP_ID", CurrEqpInfo.EQP_ID },                                                         // 설비 ID
                            { "P_PART_SERIAL_NO", item.PART_SERIAL_NO },
                            { "P_INST_DT", new DateTime(item.INST_DT.Year, item.INST_DT.Month, item.INST_DT.Day) },     // 설치 일자
                            { "P_INST_QTY", item.INST_QTY },                                                            // 설치 수량
                            { "P_PART_ID", item.PART_ID },                                                              // 부품 ID
                            { "P_PART_NM", item.PART_NM },
                            { "P_USER_ID", _USER_ID }
                        };

                        var    strOutParam = new[] { "P_RESULT" };
                        string callProc    = "PK_EMS_EBSE004_02P.SP_EMS_EQP_DETAIL_SAVE";

                        var outData = da.GetSpDataSet(
                            callProc                             // 호출 프로시저
                            , param                              // Input 파라메터
                            , strOutParam                        // Output 파라메터
                            );

                        if (outData.Tables[0].Rows.Count > 0)
                        {
                            if (outData.Tables[0].Rows[0]["CODE"].ToString() != _SUCCESS_CODE)
                            {
                                _SUCCESS_CODE = "0";
                                da.RollbackTransaction();
                                BaseClass.MsgError(outData.Tables[0].Rows[0]["MSG"].ToString(), BaseEnumClass.CodeMessage.MESSAGE);
                                break;
                            }
                        }
                        else
                        {
                            _SUCCESS_CODE = "0";
                            da.RollbackTransaction();
                            this.BaseClass.MsgError("ERR_INPUT_TYPE");
                            break;
                        }
                    }

                    if (_SUCCESS_CODE == "100")
                    {
                        da.CommitTransaction();
                        //this.ChangeStatusLabelEvent(HelperClass.GetMessageByCountryCode("CMPT_SAVE_DATA"));

                        this.BaseClass.MsgInfo("CMPT_SAVE");
                        this.Close();
                    }
                }
                catch (Exception ex)
                {
                    da.RollbackTransaction();
                    this.BaseClass.Error(ex);
                    this.BaseClass.MsgError(ex.Message, BaseEnumClass.CodeMessage.MESSAGE);
                }
            }
        }
        /// <summary>
        /// 저장 버튼 클릭 이벤트
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private async void BtnSAVE_PreviewMouseLeftButtonUp(object sender, MouseButtonEventArgs e)
        {
            try
            {
                // 그리드 내 체크박스 선택 여부 체크
                if (this.CheckGridRowSelected() == false)
                {
                    return;
                }

                bool isRtnValue = false;

                // ERR_NOT_INPUT - {0}이(가) 입력되지 않았습니다.
                string strInputMessage = this.BaseClass.GetResourceValue("ERR_NOT_INPUT", BaseEnumClass.ResourceType.MESSAGE);
                // ERR_NOT_SELECT - {0}이(가) 선택되지 않았습니다.
                string strSelectMessage = this.BaseClass.GetResourceValue("ERR_NOT_SELECT", BaseEnumClass.ResourceType.MESSAGE);

                #region 권한 관리 마스터 데이터
                this.RoleMgntList.ForEach(p => p.ClearError());

                foreach (var item in this.RoleMgntList)
                {
                    if (item.IsNew || item.IsUpdate)
                    {
                        if (string.IsNullOrWhiteSpace(item.ROLE_CD) == true)
                        {
                            item.CellError("USER_ID", string.Format(strInputMessage, this.BaseClass.GetResourceValue("USER_ID")));
                            return;
                        }

                        if (string.IsNullOrWhiteSpace(item.ROLE_CD) == true)
                        {
                            item.CellError("ROLE_CD", string.Format(strSelectMessage, this.BaseClass.GetResourceValue("ROLE_CD")));
                            return;
                        }
                    }
                }
                #endregion

                // ASK_SAVE - 저장 하시겠습니까?
                this.BaseClass.MsgQuestion("ASK_SAVE");
                if (this.BaseClass.BUTTON_CONFIRM_YN == false)
                {
                    return;
                }

                #region 권한별 메뉴 리스트 데이터
                this.MenuListByRoleList.ForEach(p => p.ClearError());

                foreach (var item in this.MenuListByRoleList)
                {
                    if (item.IsUpdate)
                    {
                        if (string.IsNullOrWhiteSpace(item.ROLE_MENU_CD) == true)
                        {
                            item.CellError("ROLE_MENU_CD", string.Format(strSelectMessage, this.BaseClass.GetResourceValue("ROLE_MENU_CD")));
                            return;
                        }
                    }
                }
                #endregion

                var liSelectedHrdData = this.RoleMgntList.Where(p => p.IsSelected == true).ToList();
                var liUpdateDtlData   = this.MenuListByRoleList.Where(p => p.IsUpdate == true).ToList();

                #region + 데이터 저장
                using (BaseDataAccess da = new BaseDataAccess())
                {
                    try
                    {
                        // 상태바 (아이콘) 실행
                        this.loadingScreen.IsSplashScreenShown = true;

                        // 트랜잭션 시작
                        da.BeginTransaction();

                        #region 권한관리 마스터 데이터 저장
                        foreach (var item in liSelectedHrdData)
                        {
                            isRtnValue = await this.SaveSP_ROLE_HDR_INS(da, item);

                            if (isRtnValue == false)
                            {
                                break;
                            }
                        }
                        #endregion

                        //if (isRtnValue == true)
                        //{
                        #region 권한별 메뉴 리스트
                        foreach (var item in liUpdateDtlData)
                        {
                            if (item.IsUpdate == true)
                            {
                                isRtnValue = await this.SaveSP_ROLE_DTL_SAVE(da, item);

                                if (isRtnValue == false)
                                {
                                    break;
                                }
                            }
                        }
                        #endregion
                        //}

                        if (isRtnValue == true)
                        {
                            // 저장된 경우 트랜잭션을 커밋처리한다.
                            da.CommitTransaction();
                            // 상태바 (아이콘) 제거
                            this.loadingScreen.IsSplashScreenShown = false;
                            // CMPT_SAVE - 저장 되었습니다.
                            this.BaseClass.MsgInfo("CMPT_SAVE");

                            // 사용자 리스트를 재조회한다.
                            this.BtnSEARCH_PreviewMouseLeftButtonUp(null, null);
                        }
                        else
                        {
                            // ERR_SAVE - 저장 중 오류가 발생 했습니다.
                            this.BaseClass.MsgError("ERR_SAVE");
                        }
                    }
                    catch { throw; }
                    finally
                    {
                        // 상태바 (아이콘) 실행
                        this.loadingScreen.IsSplashScreenShown = false;

                        if (da.TransactionState_MSSQL == BaseEnumClass.TransactionState_MSSQL.TransactionStarted)
                        {
                            da.RollbackTransaction();
                        }
                    }
                }
                #endregion
            }
            catch (Exception err)
            {
                this.BaseClass.Error(err);
            }
        }
Exemple #15
0
        /// <summary>
        /// 권역 관리 저장 버튼 클릭 이벤트
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private async void BtnSave_PreviewMouseLeftButtonUp(object sender, MouseButtonEventArgs e)
        {
            try
            {
                bool isRtnValue = false;

                // 그리드 내 체크박스 선택 여부 체크
                if (this.CheckGridRowSelected() == false)
                {
                    return;
                }

                this.RegionMgmtList.ForEach(p => p.ClearError());

                // ERR_NOT_INPUT - {0}이(가) 입력되지 않았습니다.
                string strInputMessage = this.BaseClass.GetResourceValue("ERR_NOT_INPUT", BaseEnumClass.ResourceType.MESSAGE);

                foreach (var item in this.RegionMgmtList)
                {
                    if (item.IsNew || item.IsUpdate)
                    {
                        if (string.IsNullOrWhiteSpace(item.RGN_CD) == true)
                        {
                            item.CellError("RGN_CD", string.Format(strInputMessage, this.BaseClass.GetResourceValue("RGN_CD")));
                            return;
                        }
                    }
                }

                // ASK_SAVE - 저장하시겠습니까?
                this.BaseClass.MsgQuestion("ASK_SAVE");
                if (this.BaseClass.BUTTON_CONFIRM_YN == false)
                {
                    return;
                }

                var liSelectedRowData = this.RegionMgmtList.Where(p => p.IsSelected == true).ToList();

                using (BaseDataAccess da = new BaseDataAccess())
                {
                    try
                    {
                        // 상태바 (아이콘) 실행
                        this.loadingScreen.IsSplashScreenShown = true;

                        da.BeginTransaction();

                        foreach (var item in liSelectedRowData)
                        {
                            isRtnValue = await this.SaveRGN_LIST_SAVE(da, item);

                            if (isRtnValue == false)
                            {
                                break;
                            }
                        }

                        if (isRtnValue == true)
                        {
                            // 저장된 경우 트랜잭션을 커밋처리한다.
                            da.CommitTransaction();

                            // CMPT_SAVE - 저장 되었습니다.
                            this.BaseClass.MsgInfo("CMPT_SAVE");

                            this.BtnSearch_First_PreviewMouseLeftButtonUp(null, null);
                        }
                        else
                        {
                            // 오류 발생하여 저장 실패한 경우 트랜잭션을 롤백처리한다.
                            da.RollbackTransaction();
                        }
                    }
                    catch
                    {
                        if (da.TransactionState_Oracle == BaseEnumClass.TransactionState_ORACLE.TransactionStarted)
                        {
                            da.RollbackTransaction();
                        }

                        // ERR_SAVE - 저장 중 오류가 발생 했습니다.
                        this.BaseClass.MsgError("ERR_SAVE");
                        throw;
                    }
                    finally
                    {
                        if (da.TransactionState_Oracle == BaseEnumClass.TransactionState_ORACLE.TransactionStarted)
                        {
                            da.RollbackTransaction();
                        }

                        // 상태바 (아이콘) 제거
                        this.loadingScreen.IsSplashScreenShown = false;
                    }
                }
            }
            catch (Exception err)
            {
                this.BaseClass.Error(err);
            }
        }
Exemple #16
0
        private void btnConfirm_Click(object sender, MouseButtonEventArgs e)
        {
            if (null == CurreentRst || 1 > CurreentRst.CHK_ID)
            {
                return;
            }

            // CHOO
            this.BaseClass.MsgQuestion("점검 내용을 확정합니다.", BaseEnumClass.CodeMessage.MESSAGE);

            if (this.BaseClass.BUTTON_CONFIRM_YN != true)
            {
                return;
            }

            if (!alreadySave)
            {
                if (!SaveRst())
                {
                    return;
                }
            }

            using (BaseDataAccess da = new BaseDataAccess())
            {
                try
                {
                    string _SUCCESS_CODE = "100";

                    var _USER_ID = this.BaseClass.UserID;

                    da.BeginTransaction();


                    var param = new Dictionary <string, object>
                    {
                        { "P_CENTER_CD", this.BaseClass.CenterCD },
                        { "P_CHK_ID", CurreentRst.CHK_ID },
                        { "P_CHK_STAT_CD", "F" },
                        { "P_USER_ID", _USER_ID }
                    };

                    var    strOutParam = new[] { "P_RESULT" };
                    string callProc    = "PK_EMS_ECHK001_04P.SP_EMS_EQP_RST_FIX";

                    var outData = da.GetSpDataSet(
                        callProc                             // 호출 프로시저
                        , param                              // Input 파라메터
                        , strOutParam                        // Output 파라메터
                        );

                    if (outData.Tables[0].Rows.Count > 0)
                    {
                        if (outData.Tables[0].Rows[0]["CODE"].ToString() != _SUCCESS_CODE)
                        {
                            _SUCCESS_CODE = "0";
                            da.RollbackTransaction();
                            BaseClass.MsgInfo(outData.Tables[0].Rows[0]["MSG"].ToString(), BaseEnumClass.CodeMessage.MESSAGE);
                        }
                    }
                    else
                    {
                        _SUCCESS_CODE = "0";
                        da.RollbackTransaction();
                        this.BaseClass.MsgError("ERR_INPUT_TYPE");
                    }

                    if (_SUCCESS_CODE == "100")
                    {
                        da.CommitTransaction();

                        //this.ChangeStatusLabelEvent(HelperClass.GetMessageByCountryCode("CMPT_SAVE_DATA"));

                        // CMPT_CONFIRM - 확정되었습니다.
                        this.BaseClass.MsgInfo("CMPT_CONFIRM");

                        IsSaved = true;
                        this.Close();
                    }
                }
                catch (Exception ex)
                {
                    da.RollbackTransaction();
                    this.BaseClass.Error(ex);
                    this.BaseClass.MsgError(ex.Message, BaseEnumClass.CodeMessage.MESSAGE);
                }
            }
        }
Exemple #17
0
        /// <summary>
        /// 저장 함수
        /// </summary>
        /// <returns></returns>
        bool SaveRst()
        {
            if (null == tbxManager.Tag || string.IsNullOrEmpty(tbxManager.Tag.ToString()))
            {
                // INFO_SEL_MUST - 담당자를 선택하세요.
                this.BaseClass.MsgInfo("INFO_SEL_MUST");
                return(false);
            }

            using (BaseDataAccess da = new BaseDataAccess())
            {
                try
                {
                    string _SUCCESS_CODE = "100";

                    var _USER_ID = this.BaseClass.UserID;

                    da.BeginTransaction();

                    foreach (var item in ChkFileList)
                    {
                        if (!item.IsNew)
                        {
                            continue;
                        }

                        if (!System.IO.File.Exists(item.APPD_FILE_NM))
                        {
                            _SUCCESS_CODE = "0";
                            da.RollbackTransaction();
                            // ERR_NOT_EXISTS_TRANS_FILE - 전송파일이 존재하지 않습니다.
                            this.BaseClass.MsgError("ERR_NOT_EXISTS_TRANS_FILE");
                            break;
                        }

                        string aName = System.IO.Path.GetFileName(item.APPD_FILE_NM);
                        string aExt  = System.IO.Path.GetExtension(aName);

                        string cpy = item.APPD_FILE_NM.Replace(aName, item.APPD_FILE_GUID + aExt);

                        try
                        {
                            System.IO.File.Copy(item.APPD_FILE_NM, cpy);
                        }
                        catch (Exception)
                        {
                            _SUCCESS_CODE = "0";
                            da.RollbackTransaction();
                            // ERR_FAIL_TRANS_FILE_PROC - 전송 파일 구성이 실패하였습니다.
                            this.BaseClass.MsgError("ERR_FAIL_TRANS_FILE_PROC");
                            break;
                        }

                        try
                        {
                            WebClient myWebClient = new WebClient();

                            byte[] responseArray = myWebClient.UploadFile(EmsSession.Instance.FileUploadUrl,
                                                                          "POST",
                                                                          cpy);

                            string responseUpload = System.Text.Encoding.ASCII.GetString(responseArray);

                            myWebClient.Dispose();

                            if (!responseUpload.Contains("Complete."))
                            {
                                _SUCCESS_CODE = "0";
                                da.RollbackTransaction();
                                // ERR_FAIL_FILE_TRANS - 파일 전송이 실패하였습니다.
                                this.BaseClass.MsgError("ERR_FAIL_FILE_TRANS");
                                break;
                            }

                            System.IO.File.Delete(cpy);
                        }
                        catch (Exception)
                        {
                            _SUCCESS_CODE = "0";
                            da.RollbackTransaction();

                            // ERR_FAIL_FILE_TRANS - 파일 전송이 실패하였습니다.
                            this.BaseClass.MsgError("ERR_FAIL_FILE_TRANS");
                            break;
                        }

                        var param = new Dictionary <string, object>
                        {
                            { "P_CENTER_CD", this.BaseClass.CenterCD },
                            { "P_APPD_FILE_GROUP_CD", item.APPD_FILE_GROUP_CD },                // File Group
                            { "P_APPD_FILE_GUID", item.APPD_FILE_GUID },                        // File GUID
                            { "P_APPD_FILE_NM", aName },                                        // File Name
                            { "P_APPD_FILE_DEV_CD", item.APPD_FILE_DEV_CD }                     // File 구분
                        };

                        var    strOutParam = new[] { "P_RESULT" };
                        string callProc    = "PK_EMS_COM001.SP_EMS_COM_APPD_FILE_SAVE";

                        var outData = da.GetSpDataSet(
                            callProc                             // 호출 프로시저
                            , param                              // Input 파라메터
                            , strOutParam                        // Output 파라메터
                            );

                        if (outData.Tables[0].Rows.Count > 0)
                        {
                            if (outData.Tables[0].Rows[0]["CODE"].ToString() != _SUCCESS_CODE)
                            {
                                _SUCCESS_CODE = "0";
                                da.RollbackTransaction();
                                BaseClass.MsgInfo(outData.Tables[0].Rows[0]["MSG"].ToString(), BaseEnumClass.CodeMessage.MESSAGE);
                                break;
                            }
                        }
                        else
                        {
                            _SUCCESS_CODE = "0";
                            da.RollbackTransaction();
                            this.BaseClass.MsgError("ERR_INPUT_TYPE");
                            break;
                        }
                    }

                    if (_SUCCESS_CODE == "100")
                    {
                        var strCheckDate = dtCheck.DateTime.ToString("yyyyMMdd");

                        var param = new Dictionary <string, object>
                        {
                            { "P_CENTER_CD", this.BaseClass.CenterCD },
                            { "P_CHK_ID", CurrentChkID },                   // 점검 번호
                            { "P_CHK_DT", strCheckDate },                   // new DateTime(dtCheck.DateTime.Year, dtCheck.DateTime.Month, dtCheck.DateTime.Day) },  // 일시
                            { "P_CHK_MNGR_ID", tbxManager.Tag.ToString() }, // 담당자
                            { "P_CHK_RST", tbxInfoRst.Text.Trim() },        // 결과
                            { "P_USER_ID", _USER_ID }
                        };

                        var    strOutParam = new[] { "P_RESULT" };
                        string callProc    = "PK_EMS_ECHK001_04P.SP_EMS_EQP_RST_INFO_SAVE";

                        var outData = da.GetSpDataSet(
                            callProc                             // 호출 프로시저
                            , param                              // Input 파라메터
                            , strOutParam                        // Output 파라메터
                            );

                        if (outData.Tables[0].Rows.Count > 0)
                        {
                            if (outData.Tables[0].Rows[0]["CODE"].ToString() != _SUCCESS_CODE)
                            {
                                _SUCCESS_CODE = "0";
                                da.RollbackTransaction();
                                BaseClass.MsgInfo(outData.Tables[0].Rows[0]["MSG"].ToString(), BaseEnumClass.CodeMessage.MESSAGE);
                                return(false);
                            }
                        }
                        else
                        {
                            _SUCCESS_CODE = "0";
                            da.RollbackTransaction();
                            this.BaseClass.MsgError("ERR_INPUT_TYPE");
                            return(false);
                        }
                    }

                    if (_SUCCESS_CODE == "100")
                    {
                        foreach (var item in ChkRstList)
                        {
                            if (!item.IsNew && !item.IsUpdate)
                            {
                                continue;
                            }

                            var param = new Dictionary <string, object>
                            {
                                { "P_CENTER_CD", this.BaseClass.CenterCD },
                                { "P_CHK_ID", CurrentChkID },                       // 점검 번호
                                { "P_EQP_ID", item.EQP_ID },                        // 설비 ID
                                { "P_CHK_TRG_YN", item.CHK_TRGT_YN },               // 점검 대상 여부
                                { "P_CHK_YN", item.CHK_YN },                        // 점검 여부
                                { "P_CHK_RST_NOTE", item.CHK_RST_NOTE },            // 점검 결과
                                { "P_USER_ID", _USER_ID }
                            };

                            var    strOutParam = new[] { "P_RESULT" };
                            string callProc    = "PK_EMS_ECHK001_04P.SP_EMS_EQP_RST_LIST_SAVE";

                            var outData = da.GetSpDataSet(
                                callProc                             // 호출 프로시저
                                , param                              // Input 파라메터
                                , strOutParam                        // Output 파라메터
                                );

                            if (outData.Tables[0].Rows.Count > 0)
                            {
                                if (outData.Tables[0].Rows[0]["CODE"].ToString() != _SUCCESS_CODE)
                                {
                                    _SUCCESS_CODE = "0";
                                    da.RollbackTransaction();
                                    BaseClass.MsgInfo(outData.Tables[0].Rows[0]["MSG"].ToString(), BaseEnumClass.CodeMessage.MESSAGE);
                                    break;
                                }
                            }
                            else
                            {
                                _SUCCESS_CODE = "0";
                                da.RollbackTransaction();
                                this.BaseClass.MsgError("ERR_INPUT_TYPE");
                                break;
                            }
                        }
                    }

                    if (_SUCCESS_CODE == "100")
                    {
                        da.CommitTransaction();
                        //this.ChangeStatusLabelEvent(HelperClass.GetMessageByCountryCode("CMPT_SAVE_DATA"));

                        return(true);
                    }
                }
                catch (Exception ex)
                {
                    da.RollbackTransaction();
                    this.BaseClass.Error(ex);
                    this.BaseClass.MsgError(ex.Message, BaseEnumClass.CodeMessage.MESSAGE);
                }

                return(false);
            }
        }
        /// <summary>
        /// 부품삭제
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void PartDel_Click(object sender, MouseButtonEventArgs e)
        {
            var _delItems = ChkPlanInfoList.Where(f => f.IsChecked).ToList();

            if (0 < _delItems.Count)
            {
                foreach (var item in _delItems)
                {
                    if (0 < item.ORG_INST_QTY)
                    {
                        // "당초 설치수량이 있으면 삭제할 수 없습니다."
                        string strNoDel = this.BaseClass.GetResourceValue("EMS_QTY_NODEL");
                        BaseClass.MsgInfo(strNoDel, BaseEnumClass.CodeMessage.MESSAGE);
                        return;
                    }
                }

                //var _USER_ID = this.BaseInfo.user_id.ToString();
                string _SUCCESS_CODE = "100";

                using (BaseDataAccess da = new BaseDataAccess())
                {
                    try
                    {
                        da.BeginTransaction();

                        foreach (var item in _delItems)
                        {
                            if (!item.IsNew)
                            {
                                var param = new Dictionary <string, object>
                                {
                                    { "P_CENTER_CD", this.BaseClass.CenterCD },
                                    { "P_CHK_ID", CurrentChkID },
                                    { "P_EQP_ID", item.EQP_ID },
                                    { "P_PART_SERIAL_NO", item.PART_SERIAL_NO }
                                };

                                var    strOutParam = new[] { "P_RESULT" };
                                string callProc    = "PK_EMS_ECHK001_05P.SP_EMS_EQP_RST_PART_DELETE";

                                var outData = da.GetSpDataSet(
                                    callProc                         // 호출 프로시저
                                    , param                          // Input 파라메터
                                    , strOutParam                    // Output 파라메터
                                    );

                                if (outData.Tables[0].Rows.Count > 0)
                                {
                                    if (outData.Tables[0].Rows[0]["CODE"].ToString() != _SUCCESS_CODE)
                                    {
                                        _SUCCESS_CODE = "0";
                                        da.RollbackTransaction();
                                        BaseClass.MsgInfo(outData.Tables[0].Rows[0]["MSG"].ToString(), BaseEnumClass.CodeMessage.MESSAGE);
                                        break;
                                    }
                                }
                                else
                                {
                                    _SUCCESS_CODE = "0";
                                    da.RollbackTransaction();
                                    BaseClass.MsgInfo("INPUT_TYPE_ERR");
                                    break;
                                }
                            }
                        }

                        if (_SUCCESS_CODE == "100")
                        {
                            da.CommitTransaction();

                            foreach (var item in _delItems)
                            {
                                ChkPlanInfoList.Remove(item);
                            }

                            gridMain.RefreshData();
                        }
                    }
                    catch (Exception ex)
                    {
                        da.RollbackTransaction();
                        this.BaseClass.MsgError(ex.Message, BaseEnumClass.CodeMessage.MESSAGE);
                    }
                }
            }
        }
Exemple #19
0
        /// <summary>
        /// 화일 삭제 함수
        /// </summary>
        private void DelAttachList()
        {
            var _delItems = ChkFileList.Where(f => f.IsChecked).ToList();

            if (0 < _delItems.Count)
            {
                var    _USER_ID      = this.BaseClass.UserID;
                string _SUCCESS_CODE = "100";

                using (BaseDataAccess da = new BaseDataAccess())
                {
                    try
                    {
                        da.BeginTransaction();

                        foreach (var item in _delItems)
                        {
                            if (item.IsNew != true)
                            {
                                var param = new Dictionary <string, object>
                                {
                                    { "P_CENTER_CD", this.BaseClass.CenterCD },
                                    { "P_APPD_FILE_GUID", item.APPD_FILE_GUID },
                                    { "P_USER_ID", _USER_ID }
                                };

                                var    strOutParam = new[] { "P_RESULT" };
                                string callProc    = "PK_EMS_COM001.SP_EMS_COM_APPD_FILE_DELETE";

                                var outData = da.GetSpDataSet(
                                    callProc                       // 호출 프로시저
                                    , param                        // Input 파라메터
                                    , strOutParam                  // Output 파라메터
                                    );

                                if (outData.Tables[0].Rows.Count > 0)
                                {
                                    if (outData.Tables[0].Rows[0]["CODE"].ToString() != _SUCCESS_CODE)
                                    {
                                        _SUCCESS_CODE = "0";
                                        da.RollbackTransaction();
                                        BaseClass.MsgInfo(outData.Tables[0].Rows[0]["MSG"].ToString(), BaseEnumClass.CodeMessage.MESSAGE);
                                        break;
                                    }
                                }
                                else
                                {
                                    _SUCCESS_CODE = "0";
                                    da.RollbackTransaction();
                                    this.BaseClass.MsgError("ERR_INPUT_TYPE");
                                    break;
                                }
                            }
                        }

                        if (_SUCCESS_CODE == "100")
                        {
                            da.CommitTransaction();

                            foreach (var item in _delItems)
                            {
                                //if (item.IsNew != true)
                                ChkFileList.Remove(item);
                            }

                            gridFile.RefreshData();
                            //this.ChangeStatusLabelEvent(HelperClass.GetMessageByCountryCode("CMPT_DELETE"));
                        }
                    }
                    catch (Exception ex)
                    {
                        da.RollbackTransaction();
                        this.BaseClass.MsgError(ex.Message, BaseEnumClass.CodeMessage.MESSAGE);
                    }
                }
            }
        }
        /// <summary>
        /// 저장 함수
        /// </summary>
        /// <returns></returns>
        bool EqpPartReferInfoSave()
        {
            using (BaseDataAccess da = new BaseDataAccess())
            {
                try
                {
                    string _SUCCESS_CODE = "100";

                    var _USER_ID = this.BaseClass.UserID;

                    da.BeginTransaction();

                    foreach (var item in ChkFileList)
                    {
                        if (!item.IsNew)
                        {
                            continue;
                        }

                        if (!System.IO.File.Exists(item.APPD_FILE_NM))
                        {
                            _SUCCESS_CODE = "0";
                            da.RollbackTransaction();
                            // "전송 파일이 존재하지 않습니다."
                            this.BaseClass.MsgError("EMS_FILE_NOWHERE");
                            break;
                        }

                        string aName = System.IO.Path.GetFileName(item.APPD_FILE_NM);
                        string aExt  = System.IO.Path.GetExtension(aName);

                        string cpy = item.APPD_FILE_NM.Replace(aName, item.APPD_FILE_GUID + aExt);

                        try
                        {
                            System.IO.File.Copy(item.APPD_FILE_NM, cpy);
                        }
                        catch (Exception)
                        {
                            _SUCCESS_CODE = "0";
                            da.RollbackTransaction();

                            // "전송 파일 구성에 실패하였습니다."
                            this.BaseClass.MsgError("EMS_FILE_NOT");
                            break;
                        }

                        try
                        {
                            WebClient myWebClient = new WebClient();

                            byte[] responseArray = myWebClient.UploadFile(EmsSession.Instance.FileUploadUrl,
                                                                          "POST",
                                                                          cpy);

                            string responseUpload = System.Text.Encoding.ASCII.GetString(responseArray);

                            myWebClient.Dispose();

                            if (!responseUpload.Contains("Complete."))
                            {
                                _SUCCESS_CODE = "0";
                                da.RollbackTransaction();

                                // "파일 전송에 실패하였습니다."
                                this.BaseClass.MsgError("EMS_FILETRANS_FAIL");
                                break;
                            }

                            System.IO.File.Delete(cpy);
                        }
                        catch (Exception)
                        {
                            _SUCCESS_CODE = "0";
                            da.RollbackTransaction();

                            // "파일 전송에 실패하였습니다."
                            this.BaseClass.MsgError("EMS_FILETRANS_FAIL");
                            break;
                        }

                        var param = new Dictionary <string, object>
                        {
                            { "P_CENTER_CD", this.BaseClass.CenterCD },
                            { "P_APPD_FILE_GROUP_CD", item.APPD_FILE_GROUP_CD },        // File Group
                            { "P_APPD_FILE_GUID", item.APPD_FILE_GUID },                // File GUID
                            { "P_APPD_FILE_NM", aName },                                // File Name
                            { "P_APPD_FILE_DEV_CD", item.APPD_FILE_DEV_CD }             // File 구분
                        };

                        var    strOutParam = new[] { "P_RESULT" };
                        string callProc    = "PK_EMS_COM001.SP_EMS_COM_APPD_FILE_SAVE";

                        var outData = da.GetSpDataSet(
                            callProc                             // 호출 프로시저
                            , param                              // Input 파라메터
                            , strOutParam                        // Output 파라메터
                            );

                        if (outData.Tables[0].Rows.Count > 0)
                        {
                            if (outData.Tables[0].Rows[0]["CODE"].ToString() != _SUCCESS_CODE)
                            {
                                _SUCCESS_CODE = "0";
                                da.RollbackTransaction();
                                BaseClass.MsgInfo(outData.Tables[0].Rows[0]["MSG"].ToString(), BaseEnumClass.CodeMessage.MESSAGE);
                                break;
                            }
                        }
                        else
                        {
                            _SUCCESS_CODE = "0";
                            da.RollbackTransaction();
                            this.BaseClass.MsgError("INPUT_TYPE_ERR");
                            break;
                        }
                    }

                    if (_SUCCESS_CODE == "100")
                    {
                        foreach (var item in ChkPlanInfoList)
                        {
                            if (!item.IsNew && !item.IsUpdate)
                            {
                                continue;
                            }

                            if (0 < item.ORG_INST_QTY && 0 < item.FALL_QTY && 0 < item.EXCHG_QTY)
                            {
                                if (item.FALL_QTY + item.EXCHG_QTY > item.ORG_INST_QTY)
                                {
                                    QtyErrorAction();
                                    da.RollbackTransaction();
                                    break;
                                }
                            }

                            var param = new Dictionary <string, object>
                            {
                                { "P_CENTER_CD", this.BaseClass.CenterCD },
                                { "P_CHK_ID", CurrentChkID },                                                                           // 점검 번호
                                { "P_CHK_DT", CurrentChkDt },                                                                           // 점검 일자
                                { "P_EQP_ID", item.EQP_ID },                                                                            // 설비 ID
                                { "P_PART_ID", item.PART_ID },                                                                          // 부품 ID
                                { "P_PART_SERIAL_NO", item.PART_SERIAL_NO },                                                            // 부품 SERIAL
                                { "P_ORG_INST_DT", new DateTime(item.ORG_INST_DT.Year, item.ORG_INST_DT.Month, item.ORG_INST_DT.Day) }, // 최초 설치일
                                { "P_EXCHG_QTY", item.EXCHG_QTY },                                                                      // 교체수량
                                { "P_NEW_INST_QTY", item.NEW_INST_QTY },                                                                // 설치수량
                                { "P_FALL_QTY", item.FALL_QTY },                                                                        // 폐기수량
                                { "P_WORK_NOTE", (null == item.WORK_NOTE) ? "" : item.WORK_NOTE },                                      // 작업내용
                                { "P_USER_ID", _USER_ID }
                            };

                            var    strOutParam = new[] { "P_RESULT" };
                            string callProc    = "PK_EMS_ECHK001_05P.SP_EMS_EQP_PART_REPR_INFO_SAVE";

                            var outData = da.GetSpDataSet(
                                callProc                             // 호출 프로시저
                                , param                              // Input 파라메터
                                , strOutParam                        // Output 파라메터
                                );

                            if (outData.Tables[0].Rows.Count > 0)
                            {
                                if (outData.Tables[0].Rows[0]["CODE"].ToString() != _SUCCESS_CODE)
                                {
                                    _SUCCESS_CODE = "0";
                                    da.RollbackTransaction();
                                    BaseClass.MsgInfo(outData.Tables[0].Rows[0]["MSG"].ToString(), BaseEnumClass.CodeMessage.MESSAGE);
                                    break;
                                }
                            }
                            else
                            {
                                _SUCCESS_CODE = "0";
                                da.RollbackTransaction();
                                this.BaseClass.MsgError("INPUT_TYPE_ERR");
                                break;
                            }
                        }
                    }

                    if (_SUCCESS_CODE == "100")
                    {
                        da.CommitTransaction();
                        //this.ChangeStatusLabelEvent(HelperClass.GetMessageByCountryCode("CMPT_SAVE_DATA"));

                        return(true);
                    }
                }
                catch (Exception ex)
                {
                    da.RollbackTransaction();
                    this.BaseClass.MsgError(ex.Message, BaseEnumClass.CodeMessage.MESSAGE);
                }

                return(false);
            }
        }
        /// <summary>
        /// 삭제
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnDel_Click(object sender, MouseButtonEventArgs e)
        {
            EmsStock target = gridMain.SelectedItem as EmsStock;

            if (null == target)
            {
                return;
            }

            if ("CMPT" == target.INSP_STAT_CD)
            {
                // 미확정 항목만 삭제 됩니다.
                this.BaseClass.MsgError("EMS_NOF_DEL");
                return;
            }

            var strConDate   = target.STOCK_INSP_DT.ToString("yyyy-MM-dd");
            var strConString = this.BaseClass.GetResourceValue("EMS_REFHIS_DEL");      // 재고 조사 이력을 삭제합니다.

            this.BaseClass.MsgQuestion($"{strConDate} : {strConString}", BaseEnumClass.CodeMessage.MESSAGE);
            if (this.BaseClass.BUTTON_CONFIRM_YN != true)
            {
                return;
            }

            using (BaseDataAccess da = new BaseDataAccess())
            {
                string _SUCCESS_CODE = "100";

                try
                {
                    da.BeginTransaction();

                    var _USER_ID         = this.BaseClass.UserID;
                    var strStockInspDate = target.STOCK_INSP_DT.ToString("yyyyMMdd");


                    var param = new Dictionary <string, object>
                    {
                        { "P_CENTER_CD", this.BaseClass.CenterCD },
                        //{ "P_STOCK_INSP_DT", new DateTime(target.STOCK_INSP_DT.Year, target.STOCK_INSP_DT.Month, target.STOCK_INSP_DT.Day) },
                        { "P_STOCK_INSP_DT", strStockInspDate },
                        { "P_USER_ID", _USER_ID }
                    };

                    var    strOutParam = new[] { "P_RESULT" };
                    string callProc    = "PK_EMS_ESPA002.SP_EMS_STOCK_DELETE";

                    var outData = da.GetSpDataSet(
                        callProc                       // 호출 프로시저
                        , param                        // Input 파라메터
                        , strOutParam                  // Output 파라메터
                        );

                    if (outData.Tables[0].Rows.Count > 0)
                    {
                        if (outData.Tables[0].Rows[0]["CODE"].ToString() != _SUCCESS_CODE)
                        {
                            _SUCCESS_CODE = "0";
                            da.RollbackTransaction();
                            BaseClass.MsgInfo(outData.Tables[0].Rows[0]["MSG"].ToString(), BaseEnumClass.CodeMessage.MESSAGE);
                        }
                    }
                    else
                    {
                        _SUCCESS_CODE = "0";
                        da.RollbackTransaction();
                        this.BaseClass.MsgError("ERR_INPUT_TYPE");
                    }

                    if (_SUCCESS_CODE == "100")
                    {
                        da.CommitTransaction();

                        StockList.Remove(target);

                        gridMain.RefreshData();
                        //this.ChangeStatusLabelEvent(HelperClass.GetMessageByCountryCode("CMPT_DELETE"));
                    }
                }
                catch (Exception ex)
                {
                    da.RollbackTransaction();
                    this.BaseClass.MsgError(ex.Message, BaseEnumClass.CodeMessage.MESSAGE);
                }
            }
        }
Exemple #22
0
        /// <summary>
        /// 확인 버튼 클릭 이벤트
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private async void BtnConfr_PreviewMouseLeftButtonUp(object sender, MouseButtonEventArgs e)
        {
            try
            {
                //// 그리드 내 체크박스 선택 여부 체크
                //if (this.CheckGridRowSelected() == false) { return; }

                // ASK_CONF - 확정 처리를 하시겠습니까?
                this.BaseClass.MsgQuestion("ASK_CONF");
                if (this.BaseClass.BUTTON_CONFIRM_YN == false)
                {
                    return;
                }

                bool isRtnValue = true;

                using (BaseDataAccess da = new BaseDataAccess())
                {
                    try
                    {
                        // 상태바 (아이콘) 실행
                        this.loadingScreen.IsSplashScreenShown = true;

                        da.BeginTransaction();

                        isRtnValue = await this.SaveSP_GI_ORD_UPLD_CONF(da);

                        if (isRtnValue == true)
                        {
                            // 저장된 경우 트랜잭션을 커밋처리한다.
                            da.CommitTransaction();

                            // CMPT_CONF - 확정 처리 되었습니다.
                            this.BaseClass.MsgInfo("CMPT_CONF");

                            this.BtnSearch_PreviewMouseLeftButtonUp(null, null);
                        }
                        else
                        {
                            // 오류 발생하여 저장 실패한 경우 트랜잭션을 롤백처리한다.
                            da.RollbackTransaction();
                        }
                    }
                    catch
                    {
                        if (da.TransactionState_Oracle == BaseEnumClass.TransactionState_ORACLE.TransactionStarted)
                        {
                            da.RollbackTransaction();
                        }

                        /// ERR_CONF - 확정 처리중 오류가 발생했습니다.
                        this.BaseClass.MsgError("ERR_CONF");
                        throw;
                    }
                    finally
                    {
                        // 상태바 (아이콘) 제거
                        this.loadingScreen.IsSplashScreenShown = false;
                    }
                }

                this.Close();
            }
            catch (Exception err)
            {
                this.BaseClass.Error(err);
            }
        }
Exemple #23
0
        /// <summary>
        /// 저장 버튼 이벤트
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void BtnSave_PreviewMouseLeftButtonUp(object sender, MouseButtonEventArgs e)
        {
            try
            {
                bool isRtnValue = false;

                if (string.IsNullOrWhiteSpace(this.txtTotBoxFr.Text) == true)
                {
                    this.BaseClass.MsgError("ERR_TOT_BOX_NO_NOT_INPUT");
                    return;
                }
                else if (string.IsNullOrWhiteSpace(cboTotBoxType.SelectedKey()) == true)
                {
                    this.BaseClass.MsgError("ERR_TOT_BOX_TYPE_NOT_INPUT");
                    return;
                }
                else if (string.IsNullOrWhiteSpace(this.txtTotCnt.Text) == true ||
                         int.Parse(this.txtTotCnt.Text) == 0)
                {
                    this.BaseClass.MsgError("ERR_TOT_BOX_COUNT_NOT_INPUT");
                    return;
                }

                var strMessage = this.BaseClass.GetResourceValue("ASK_TOT_BOX_BATCH_SAVE", BaseEnumClass.ResourceType.MESSAGE);

                this.BaseClass.MsgQuestion(strMessage, BaseEnumClass.CodeMessage.MESSAGE);

                if (this.BaseClass.BUTTON_CONFIRM_YN == true)
                {
                    using (BaseDataAccess da = new BaseDataAccess())
                    {
                        try
                        {
                            da.BeginTransaction();

                            isRtnValue = this.SetSP_COMM_TOTE_SAVE_BTCH(da);

                            if (isRtnValue == true)
                            {
                                // 저장된 경우
                                da.CommitTransaction();

                                BaseClass.MsgInfo("CMPT_SAVE");
                            }
                            else
                            {
                                // 오류 발생하여 저장 실패한 경우
                                da.RollbackTransaction();
                            }
                        }
                        catch
                        {
                            if (da.TransactionState_Oracle == BaseEnumClass.TransactionState_ORACLE.TransactionStarted)
                            {
                                da.RollbackTransaction();
                            }

                            BaseClass.MsgError("ERR_SAVE");
                            throw;
                        }
                        finally
                        {
                            this.Close();
                        }
                    }
                }
            }
            catch (Exception err)
            {
                this.BaseClass.Error(err);
            }
        }
Exemple #24
0
        /// <summary>
        /// 설비 관리 저장 버튼 클릭 이벤트
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void BtnSave_First_PreviewMouseLeftButtonUp(object sender, MouseButtonEventArgs e)
        {
            try
            {
                // 그리드 내 체크박스 선택 여부 체크
                if (this.CheckGridRowSelected() == false)
                {
                    return;
                }

                var strMessage = "{0} 이(가) 입력되지 않았습니다.";

                //소터가 가동 중인지 확인하는 통신
                if (this.BaseClass.CenterCD.Equals("BC") == false)
                {
                    if (ucConn1.LinkedReference != null)
                    {
                        ucConn1.SendCommand(BaseEnumClass.EnumToCoreEvent.GetSorterStatus, 0);
                    }
                    else
                    {
                        strMessage = this.BaseClass.GetResourceValue("NO_ECS_CONNECTION", BaseEnumClass.ResourceType.MESSAGE);
                        this.BaseClass.MsgError(strMessage, BaseEnumClass.CodeMessage.MESSAGE);
                    }
                }

                // ASK_SAVE - 저장하시겠습니까?
                this.BaseClass.MsgQuestion("ASK_SAVE");
                if (this.BaseClass.BUTTON_CONFIRM_YN == false)
                {
                    return;
                }

                //소터가 정지상태가 아니라면
                if (this.SorterStatus != 2)
                {
                    if (this.SorterStatus == 1)
                    {
                        // 소터가 가동 중입니다.소터 정지 후에 변경하세요.
                        this.BaseClass.MsgInfo("INFO_SRT_PROC_STOP_CHG");
                    }
                    else if (this.SorterStatus == 3)
                    {
                        // SMS와 PLC의 연결이 끊겨 있습니다. 확인 후 다시 시도해주세요.
                        this.BaseClass.MsgInfo("INFO_SMS_PLC_NOT_CONNECT_RETRY");
                    }
                    return;
                }

                bool isRtnValue = false;

                this.EquipmentMgntList.ForEach(p => p.ClearError());

                foreach (var item in this.EquipmentMgntList)
                {
                    if (item.IsNew || item.IsUpdate)
                    {
                        if (string.IsNullOrWhiteSpace(item.EQP_ID) == true)
                        {
                            item.CellError("EQP_ID", string.Format(strMessage, this.GetLabelDesc("EQP_ID")));
                            return;
                        }

                        if (string.IsNullOrWhiteSpace(item.EQP_NM) == true)
                        {
                            item.CellError("EQP_NM", string.Format(strMessage, this.GetLabelDesc("EQP_NM")));
                            return;
                        }
                    }
                }

                var liSelectedRowData = this.EquipmentMgntList.Where(p => p.IsSelected == true).ToList();

                using (BaseDataAccess da = new BaseDataAccess())
                {
                    try
                    {
                        da.BeginTransaction();

                        foreach (var item in liSelectedRowData)
                        {
                            if (item.IsNew == true)
                            {
                                isRtnValue = this.InsertSP_EQP_INS(da, item);
                            }
                            else
                            {
                                isRtnValue = this.UpdateSP_EQP_UPD(da, item);
                            }

                            if (isRtnValue == false)
                            {
                                break;
                            }
                        }

                        if (isRtnValue == true)
                        {
                            // 저장된 경우
                            da.CommitTransaction();

                            BaseClass.MsgInfo("CMPT_SAVE");

                            foreach (var item in liSelectedRowData)
                            {
                                item.IsSaved = true;
                            }

                            // 저장 후 저장내용 List에 출력 : Header
                            DataSet dsRtnValue = this.GetSP_EQP_LIST_INQ();

                            this.EquipmentMgntList = new ObservableCollection <EquipmentMgnt>();
                            this.EquipmentMgntList.ToObservableCollection(dsRtnValue.Tables[0]);

                            this.gridMaster.ItemsSource = this.EquipmentMgntList;

                            if (this.BaseClass.CenterCD.Equals("BC") == false)
                            {
                                DataSet dsRtnCofigValue = new DataSet();

                                //ECS에 소터 설정 값 전송
                                // DB에서 데이터 갖고 오는 프로시져 필요함.
                                foreach (var item in liSelectedRowData)
                                {
                                    dsRtnCofigValue = this.GetSP_COM_SET_CONFIG(item.EQP_ID);
                                }

                                string reCirculationCnt = dsRtnCofigValue.Tables[0].Rows[0]["RECIRC_CNT"].ToString();
                                string pbRjtChuteId     = dsRtnCofigValue.Tables[0].Rows[0]["PB_RJT_CHUTE_ID"].ToString();
                                string pbRwrkChuteId    = dsRtnCofigValue.Tables[0].Rows[0]["PB_RJT_CHUTE_ID"].ToString();
                                string boxRjtChuteId    = dsRtnCofigValue.Tables[0].Rows[0]["BOX_RJT_CHUTE_ID"].ToString();
                                string boxRwrkChuteId   = dsRtnCofigValue.Tables[0].Rows[0]["BOX_RJT_CHUTE_ID"].ToString();
                                string sorterMode       = dsRtnCofigValue.Tables[0].Rows[0]["AI_MODE"].ToString();

                                if (ucConn1.LinkedReference != null)
                                {
                                    ucConn1.SendCommand(BaseEnumClass.EnumToCoreEvent.SetConfiguration,
                                                        pbRjtChuteId,     //PB Reject Chute,
                                                        pbRwrkChuteId,    //PB Rework Chute,
                                                        boxRjtChuteId,    //BOX Reject Chute,
                                                        boxRwrkChuteId,   //BOX Rework Chute,
                                                        reCirculationCnt, //Recirculation Count,
                                                        sorterMode);      //Sorter type (1:AI, 2:Tray, 3:AI우선, 4:Tray우선)
                                }
                                else
                                {
                                    // ECS가 연결되지 않았습니다.
                                    this.BaseClass.MsgError("NO_ECS_CONNECTION");
                                }
                            }
                        }
                        else
                        {
                            // 오류 발생하여 저장 실패한 경우
                            da.RollbackTransaction();
                        }
                    }
                    catch
                    {
                        if (da.TransactionState_Oracle == BaseEnumClass.TransactionState_ORACLE.TransactionStarted)
                        {
                            da.RollbackTransaction();
                        }

                        BaseClass.MsgError("ERR_SAVE");
                        throw;
                    }
                }
            }
            catch (Exception err)
            {
                this.BaseClass.Error(err);
            }
        }
        /// <summary>
        /// 삭제 함수
        /// </summary>
        private void DelEmsEqpMngr()
        {
            var _delItems = this.EmsEqpMngrList.Where(p => p.IsSelected).ToList();

            if (0 < _delItems.Count)
            {
                using (BaseDataAccess da = new BaseDataAccess())
                {
                    string _SUCCESS_CODE = "100";

                    try
                    {
                        da.BeginTransaction();

                        foreach (var item in _delItems)
                        {
                            if (item.IsNew != true)
                            {
                                var param = new Dictionary <string, object>
                                {
                                    { "P_CENTER_CD", this.BaseClass.CenterCD },
                                    { "P_EQP_MNGR_ID", item.EQP_MNGR_ID }
                                };

                                var    strOutParam = new[] { "P_RESULT" };
                                string callProc    = "PK_EMS_EBSE001.SP_EMS_EQP_MNGR_DELETE";

                                var outData = da.GetSpDataSet(
                                    callProc                            // 호출 프로시저
                                    , param                             // Input 파라메터
                                    , strOutParam                       // Output 파라메터
                                    );

                                if (outData.Tables[0].Rows.Count > 0)
                                {
                                    if (outData.Tables[0].Rows[0]["CODE"].ToString() != _SUCCESS_CODE)
                                    {
                                        _SUCCESS_CODE = "0";
                                        da.RollbackTransaction();
                                        BaseClass.MsgInfo(outData.Tables[0].Rows[0]["MSG"].ToString(), BaseEnumClass.CodeMessage.MESSAGE);
                                        break;
                                    }
                                }
                                else
                                {
                                    _SUCCESS_CODE = "0";
                                    da.RollbackTransaction();
                                    this.BaseClass.MsgInfo("ERR_INPUT_TYPE");
                                    break;
                                }
                            }
                        }

                        if (_SUCCESS_CODE == "100")
                        {
                            da.CommitTransaction();

                            foreach (var item in _delItems)
                            {
                                //if (item.IsNew != true)
                                EmsEqpMngrList.Remove(item);
                            }

                            gridMain.RefreshData();
                        }
                    }
                    catch (Exception ex)
                    {
                        da.RollbackTransaction();
                        this.BaseClass.Error(ex);
                        this.BaseClass.MsgError(ex.Message, BaseEnumClass.CodeMessage.MESSAGE);
                    }
                }
            }
            else
            {
                // 삭제 대상을 선택하세요.
                this.BaseClass.MsgInfo("INFO_SEL_DEL");
            }
        }
        /// <summary>
        /// 센터 관리 저장 버튼 클릭 이벤트
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>

        private void BtnSave_First_PreviewMouseLeftButtonUp(object sender, MouseButtonEventArgs e)
        {
            try
            {
                // 그리드 내 체크박스 선택 여부 체크
                if (this.CheckGridRowSelected() == false)
                {
                    return;
                }

                bool isRtnValue = false;

                this.CenterMgntList.ForEach(p => p.ClearError());

                // ERR_NOT_INPUT - {0}이(가) 입력되지 않았습니다.
                string strInputMessage = this.BaseClass.GetResourceValue("ERR_NOT_INPUT", BaseEnumClass.ResourceType.MESSAGE);

                foreach (var item in this.CenterMgntList)
                {
                    if (item.IsNew || item.IsUpdate)
                    {
                        if (string.IsNullOrWhiteSpace(item.CNTR_CD) == true)
                        {
                            item.CellError("CNTR_CD", string.Format(strInputMessage, this.BaseClass.GetResourceValue("CNTR_CD")));
                            return;
                        }
                    }
                }

                // ASK_SAVE - 저장하시겠습니까?
                this.BaseClass.MsgQuestion("ASK_SAVE");
                if (this.BaseClass.BUTTON_CONFIRM_YN == false)
                {
                    return;
                }

                var liSelectedRowData = this.CenterMgntList.Where(p => p.IsSelected == true).ToList();

                using (BaseDataAccess da = new BaseDataAccess())
                {
                    try
                    {
                        // 상태바 (아이콘) 실행
                        this.loadingScreen.IsSplashScreenShown = true;

                        da.BeginTransaction();

                        foreach (var item in liSelectedRowData)
                        {
                            if (item.IsNew == true)
                            {
                                isRtnValue = this.InsertSP_CNTR_INS(da, item);
                            }
                            else
                            {
                                isRtnValue = this.UpdateSP_CNTR_UPD(da, item);
                            }

                            if (isRtnValue == false)
                            {
                                break;
                            }
                        }

                        if (isRtnValue == true)
                        {
                            // 저장된 경우
                            da.CommitTransaction();

                            this.BaseClass.MsgInfo("CMPT_SAVE"); //CMPT_SAVE : 저장되었습니다.
                            //this.GetSP_CNTR_LIST_INQ();

                            foreach (var item in liSelectedRowData)
                            {
                                item.IsSaved    = true;
                                item.IsSelected = false;
                            }

                            //저장된 데이터 포함하여 데이터 조회
                            DataSet dsRtnValue = this.GetSP_CNTR_LIST_INQ();

                            if (dsRtnValue == null)
                            {
                                return;
                            }

                            if (dsRtnValue.Tables[0].Rows.Count > 0)
                            {
                                dsRtnValue = this.ModifyTableData(dsRtnValue);
                            }

                            this.CenterMgntList = new ObservableCollection <CenterMgnt>();
                            this.CenterMgntList.ToObservableCollection(dsRtnValue.Tables[0]);

                            this.gridMaster.ItemsSource = this.CenterMgntList;

                            // 데이터 조회 결과를 그리드 카운트 및 메인창 상태바에 설정한다.
                            this.SetResultText();
                        }
                        else
                        {
                            // 오류 발생하여 저장 실패한 경우
                            da.RollbackTransaction();
                        }
                    }
                    catch
                    {
                        if (da.TransactionState_Oracle == BaseEnumClass.TransactionState_ORACLE.TransactionStarted)
                        {
                            da.RollbackTransaction();
                        }

                        this.BaseClass.MsgInfo("ERR_SAVE"); //CMPT_SAVE : 저장 중 오류가 발생했습니다.
                        throw;
                    }
                    finally
                    {
                        // 상태바 (아이콘) 제거
                        this.loadingScreen.IsSplashScreenShown = false;
                    }
                }
            }
            catch (Exception err)
            {
                this.BaseClass.Error(err);
            }
        }
        /// <summary>
        /// 저장
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnSave_Click(object sender, MouseButtonEventArgs e)
        {
            if (this.tbxManager.Tag == null)
            {
                // 담당자를 입력하세요.
                this.BaseClass.MsgError("ERR_INPUT_MGNR");
                return;
            }

            if (this.tbxManager.Tag.ToString().Length == 0)
            {
                // 담당자를 입력하세요.
                this.BaseClass.MsgError("ERR_INPUT_MGNR");
                return;
            }

            if (null != tbxManager.Tag && !string.IsNullOrEmpty(tbxManager.Tag.ToString()))
            {
                using (BaseDataAccess da = new BaseDataAccess())
                {
                    try
                    {
                        string _SUCCESS_CODE = "100";

                        var _USER_ID = this.BaseClass.UserID;

                        da.BeginTransaction();

                        var strInspDate = this.BaseClass.GetCalendarValue(this.dtInsp);

                        var param = new Dictionary <string, object>
                        {
                            { "P_CENTER_CD", this.BaseClass.CenterCD },
                            { "P_MNGR_ID", tbxManager.Tag.ToString() },         // 관리자
                            //{ "P_STOCK_INSP_DT", new DateTime(dtInsp.DateTime.Year, dtInsp.DateTime.Month, dtInsp.DateTime.Day) },  // 조사 일자
                            { "P_STOCK_INSP_DT", strInspDate },
                            { "P_NOTE", tbxNote.Text.Trim() },      // 비고
                            { "P_USER_ID", _USER_ID }
                        };

                        var    strOutParam = new[] { "P_RESULT" };
                        string callProc    = "PK_EMS_ESPA002_01P.SP_EMS_STOCK_INSP_DT_INSERT";

                        var outData = da.GetSpDataSet(
                            callProc                             // 호출 프로시저
                            , param                              // Input 파라메터
                            , strOutParam                        // Output 파라메터
                            );

                        if (outData.Tables[0].Rows.Count > 0)
                        {
                            if (outData.Tables[0].Rows[0]["CODE"].ToString() != _SUCCESS_CODE)
                            {
                                _SUCCESS_CODE = "0";
                                da.RollbackTransaction();
                                BaseClass.MsgInfo(outData.Tables[0].Rows[0]["MSG"].ToString(), BaseEnumClass.CodeMessage.MESSAGE);
                            }
                        }
                        else
                        {
                            _SUCCESS_CODE = "0";
                            da.RollbackTransaction();
                            this.BaseClass.MsgError("INPUT_TYPE_ERR");
                        }

                        if (_SUCCESS_CODE == "100")
                        {
                            da.CommitTransaction();
                            //this.ChangeStatusLabelEvent(HelperClass.GetMessageByCountryCode("CMPT_SAVE_DATA"));

                            // 저장되었습니다.
                            this.BaseClass.MsgInfo("CMPT_SAVE");
                            IsSaved = true;

                            CurrentStock               = new EmsStock();
                            CurrentStock.MNGR_ID       = tbxManager.Tag.ToString().Trim();
                            CurrentStock.MNGR_NM       = tbxManager.Text.ToString().Trim();
                            CurrentStock.INSP_STAT_CD  = "S";
                            CurrentStock.STOCK_INSP_DT = new DateTime(dtInsp.DateTime.Year, dtInsp.DateTime.Month, dtInsp.DateTime.Day);
                            CurrentStock.NOTE          = tbxNote.Text.Trim();
                            CurrentStock.IsUpdate      = false;

                            this.Close();
                        }
                    }
                    catch (Exception ex)
                    {
                        da.RollbackTransaction();
                        this.BaseClass.MsgError(ex.Message, BaseEnumClass.CodeMessage.MESSAGE);
                    }
                }
            }
        }
Exemple #28
0
        private void BtnSave_PreviewMouseLeftButtonUp(object sender, MouseButtonEventArgs e)
        {
            try
            {
                // 신규, 수정 데이터가 없는 경우 구문을 리턴한다.
                if (this.EmsPartClsList.Where(p => p.IsUpdate || p.IsNew).Count() == 0)
                {
                    // ERR_NOT_CHANGE_DATA - 변경된 데이터가 없습니다.
                    this.BaseClass.MsgInfo("ERR_NOT_CHANGE_DATA");
                    return;
                }

                // ASK_SAVE - 저장 하시겠습니까?
                this.BaseClass.MsgQuestion("ASK_SAVE");
                if (this.BaseClass.BUTTON_CONFIRM_YN == false)
                {
                    return;
                }

                // ERR_NOT_INPUT - {0}이(가) 입력되지 않았습니다.
                string strInputMessage = this.BaseClass.GetResourceValue("ERR_NOT_INPUT", BaseEnumClass.ResourceType.MESSAGE);
                // ERR_NOT_SELECT - {0}이(가) 선택되지 않았습니다.
                string strSelectMessage = this.BaseClass.GetResourceValue("ERR_NOT_SELECT", BaseEnumClass.ResourceType.MESSAGE);
                bool   isRtnValue       = true;


                using (BaseDataAccess da = new BaseDataAccess())
                {
                    da.BeginTransaction();

                    try
                    {
                        foreach (var item in this.EmsPartClsList.Where(p => p.IsUpdate || p.IsNew).ToList())
                        {
                            if (item.IsNew)
                            {
                                isRtnValue = this.InsertSP_EMS_PART_CLS_INSERT(da, item);
                                if (isRtnValue == false)
                                {
                                    break;
                                }
                            }
                            else if (item.IsUpdate)
                            {
                                isRtnValue = this.UpdateSP_EMS_PART_CLS_UPDATE(da, item);
                                if (isRtnValue == false)
                                {
                                    break;
                                }
                            }
                        }

                        if (isRtnValue == true)
                        {
                            // 저장된 경우 트랜잭션을 커밋처리한다.
                            da.CommitTransaction();

                            // CMPT_SAVE - 저장 되었습니다.
                            this.BaseClass.MsgInfo("CMPT_SAVE");

                            // 메뉴 관리 리스트
                            this.GetSP_EMS_PART_CLS_SEL();
                        }
                    }
                    catch { throw; }
                    finally
                    {
                        if (da.TransactionState_Oracle == BaseEnumClass.TransactionState_ORACLE.TransactionStarted)
                        {
                            da.RollbackTransaction();
                        }

                        // 상태바 (아이콘) 제거
                        this.loadingScreen.IsSplashScreenShown = false;
                    }
                }
            }
            catch (Exception err)
            {
                this.BaseClass.Error(err);
            }
        }
        /// <summary>
        /// 비밀번호 변경 버튼 클릭
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private async void BtnConfirm_PreviewMouseLeftButtonUp(object sender, MouseButtonEventArgs e)
        {
            try
            {
                bool   isRtnValue = true;
                string strMessage = string.Empty;

                // 1. 비밀번호 입력 체크
                if (this.txtPassword.Text.Trim().Length == 0)
                {
                    // ERR_NOT_INPUT_PWD - 비밀번호가 입력되지 않았습니다.
                    strMessage = this.BaseClass.GetResourceValue("ERR_NOT_INPUT_PWD");
                    this.BaseClass.MsgError(strMessage, WCS.Common.BaseEnumClass.CodeMessage.MESSAGE);
                    this.txtPassword.Focus();
                    return;
                }

                // 2. 비밀번호 확인 입력 체크
                if (this.txtPasswordConf.Text.Trim().Length == 0)
                {
                    // ERR_NOT_INPUT_PWD_CONF - 비밀번호 확인값이 입력되지 않았습니다.
                    strMessage = this.BaseClass.GetResourceValue("ERR_NOT_INPUT_PWD_CONF");
                    this.BaseClass.MsgError(strMessage, WCS.Common.BaseEnumClass.CodeMessage.MESSAGE);
                    this.txtPasswordConf.Focus();
                    return;
                }

                // 3. 비밀번호 일치 여부 체크
                if (this.txtPassword.Text.Trim().Equals(this.txtPasswordConf.Text.Trim()) == false)
                {
                    // ERR_PWD_EQUAL - 입력하신 비밀번호가 일치하지 않습니다.
                    strMessage = this.BaseClass.GetResourceValue("ERR_PWD_EQUAL");
                    this.BaseClass.MsgError(strMessage, WCS.Common.BaseEnumClass.CodeMessage.MESSAGE);
                    return;
                }

                // 4. 비밀번호는 14자 이상이여야합니다.
                if (this.txtPassword.Text.Trim().Length < 14)
                {
                    // PWD_CHG_SWCS201_02_FIRST - 암호는 14자 이상이어야 합니다.
                    strMessage = this.BaseClass.GetResourceValue("PWD_CHG_SWCS201_02_FIRST");
                    this.BaseClass.MsgError(strMessage, WCS.Common.BaseEnumClass.CodeMessage.MESSAGE);
                    return;
                }

                // 4. 비밀번호 Validation 체크
                if (this.CheckValidatePassword() == false)
                {
                    // ERR_PWD_ROLE - 비밀번호 규칙이 잘못되었습니다.
                    strMessage = this.BaseClass.GetResourceValue("ERR_PWD_ROLE");
                    this.BaseClass.MsgError(strMessage, WCS.Common.BaseEnumClass.CodeMessage.MESSAGE);
                    return;
                }

                // 5. 오류가 없는 경우 비밀번호 변경 로직 수행
                // ASK_PWD_CHG - 비밀번호를 재설정하시겠습니까?
                strMessage = this.BaseClass.GetResourceValue("ASK_PWD_CHG");
                this.BaseClass.MsgQuestion(strMessage, WCS.Common.BaseEnumClass.CodeMessage.MESSAGE);
                if (this.BaseClass.BUTTON_CONFIRM_YN == false)
                {
                    return;
                }

                using (BaseDataAccess da = new BaseDataAccess())
                {
                    try
                    {
                        da.BeginTransaction();

                        isRtnValue = await this.UpdateSP_LOGIN_PWD_UPD(da);

                        if (isRtnValue == false)
                        {
                            da.RollbackTransaction();
                            // 비밀번호 재설정 실패
                            this.PasswordChangeResult(false);
                        }
                        else
                        {
                            // CMPT_PWD_CHK - 비밀번호가 재설정 되었습니다.|확인 버튼을 클릭하면 메인 화면이 열립니다.
                            this.BaseClass.MsgInfo("CMPT_PWD_CHK");
                            da.CommitTransaction();

                            // 비밀번호 재설정 성공
                            this.PasswordChangeResult(true);

                            this.Close();
                        }
                    }
                    catch
                    {
                        da.RollbackTransaction();
                        throw;
                    }
                }
            }
            catch (Exception err)
            {
                this.BaseClass.Error(err);
                this.PasswordChangeResult(false);
            }
        }
        /// <summary>
        /// 엑셀 다운로드 버튼 클릭 이벤트
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void BtnSave_PreviewMouseLeftButtonUp(object sender, MouseButtonEventArgs e)
        {
            try
            {
                // ASK_SAVE - 저장하시겠습니까?
                this.BaseClass.MsgQuestion("ASK_SAVE");
                if (this.BaseClass.BUTTON_CONFIRM_YN == false)
                {
                    return;
                }

                bool isRtnValue = false;

                using (BaseDataAccess da = new BaseDataAccess())
                {
                    try
                    {
                        // 상태바 (아이콘) 실행
                        this.loadingScreen.IsSplashScreenShown = true;

                        da.BeginTransaction();

                        //// 그래프 필터 적용 결과 저장
                        //isRtnValue = await this.SaveSP_OPT_FLTR_SAVE(da);

                        if (isRtnValue == true)
                        {
                            // 저장된 경우
                            da.CommitTransaction();

                            // CMPT_SAVE - 저장되었습니다.
                            this.BaseClass.MsgInfo("CMPT_SAVE");

                            this.GetSP_OPT_RSLT_INQ();
                        }
                        else
                        {
                            // 오류 발생하여 저장 실패한 경우
                            da.RollbackTransaction();
                        }
                    }
                    catch
                    {
                        if (da.TransactionState_Oracle == BaseEnumClass.TransactionState_ORACLE.TransactionStarted)
                        {
                            da.RollbackTransaction();
                        }

                        // ERR_SAVE - 저장 중 오류가 발생했습니다.
                        this.BaseClass.MsgError("ERR_SAVE");
                        throw;
                    }
                    finally
                    {
                        // 상태바 (아이콘) 제거
                        this.loadingScreen.IsSplashScreenShown = false;
                    }
                }
            }
            catch (Exception err)
            {
                this.BaseClass.Error(err);
            }
        }