예제 #1
0
        ///<summary>
        ///Purpose   : not found contract code
        ///Parameters: Input03
        ///Expected  : blnExistContractCode = 0 (false)
        ///</summary>
        ///
        public string Case9()
        {
            IInventoryHandler invenhandler = ServiceContainer.GetService <IInventoryHandler>() as IInventoryHandler;
            string            result       = "";

            bool      expectedObj = false;
            doBooking actualObj   = null;

            string expected = expectedObj.ToString().ToUpper();
            string actual   = "";

            try
            {
                actualObj = invenhandler.UpdateStockOutInstrument(Input03());

                actual = actualObj.blnExistContractCode.ToString().ToUpper();
            }
            catch (ApplicationErrorException ex)
            {
                actual = ex.ErrorResult.Message.Code;
            }
            catch (Exception ex)
            {
                actual = ex.StackTrace;
            }

            result = String.Format(RESULT_FORMAT, 9, expected, actual, CompareResult_bool(expectedObj, actualObj.blnExistContractCode));

            return(result);
        }
예제 #2
0
        public doBooking Input03()
        {
            doBooking res = new doBooking()
            {
                ContractCode = "CT0000000003"
                , ExpectedStartServiceDate    = new DateTime(2012, 05, 25, 09, 49, 00)
                , InstrumentCode              = new List <string>()
                , InstrumentQty               = new List <int>()
                , blnExistContractCode        = false
                , blnFirstInstallCompleteFlag = false
            };

            return(res);
        }
예제 #3
0
        ///<summary>
        ///Purpose   : Stock Out < Booking
        ///Parameters: Input04
        ///Expected  : - blnExistContractCode = 1
        ///            - blnFirstInstallationCompleteFlag = 1
        ///            - Result 3
        ///</summary>
        ///
        public string Case12()
        {
            IInventoryHandler invenhandler = ServiceContainer.GetService <IInventoryHandler>() as IInventoryHandler;
            string            result       = "";

            bool      expectedObj_01 = true, expectedObj_02 = true;
            doBooking actualObj = null;

            string expected01 = expectedObj_01.ToString().ToUpper();
            string expected02 = expectedObj_02.ToString().ToUpper();
            string actual_01 = "", actual_02 = "", actual = "", expected = "";

            string resFormat = "blnExistContractCode = {0}, blnFirstInstallationCompleteFlag = {1}";

            try
            {
                actualObj = invenhandler.UpdateStockOutInstrument(Input04());

                actual_01 = actualObj.blnExistContractCode.ToString().ToUpper();
                actual_02 = actualObj.blnFirstInstallCompleteFlag.ToString().ToUpper();

                expected = String.Format(resFormat, expectedObj_01, expectedObj_02);
                actual   = String.Format(resFormat, actual_01, actual_02);
            }
            catch (ApplicationErrorException ex)
            {
                actual_01 = ex.ErrorResult.Message.Code;
            }
            catch (Exception ex)
            {
                actual_01 = ex.StackTrace;
            }

            result = String.Format(RESULT_FORMAT, 12, expected, actual
                                   , String.Format(resFormat
                                                   , CompareResult_bool(expectedObj_01, actualObj.blnExistContractCode)
                                                   , CompareResult_bool(expectedObj_02, actualObj.blnFirstInstallCompleteFlag)));

            return(result);
        }
예제 #4
0
        public doBooking Input05()
        {
            var obj = new doBooking()
            {
                ContractCode                = "CT0000000002",
                ExpectedStartServiceDate    = new DateTime(2012, 03, 29, 00, 00, 00),
                InstrumentCode              = new List <string>(),
                InstrumentQty               = new List <int>(),
                blnExistContractCode        = false,
                blnFirstInstallCompleteFlag = false
            };

            obj.InstrumentCode.Add("1001");
            obj.InstrumentCode.Add("1002");
            obj.InstrumentCode.Add("1003");

            obj.InstrumentQty.Add(20);
            obj.InstrumentQty.Add(20);
            obj.InstrumentQty.Add(40);

            return(obj);
        }
예제 #5
0
        /// <summary>
        /// Update data to database when click [Confirm] button in ‘Action button’ section
        /// </summary>
        /// <param name="doCancalReason"></param>
        /// <returns></returns>
        public ActionResult CTS090_ConfirmRegisterCancelData(CTS090_doCancelReason doCancalReason)
        {
            ObjectResultData res = new ObjectResultData();
            CTS090_RegisterCancelTargetData registerCancelData;
            List <tbt_SaleBasic>            tbt_SaleBasicList;
            ISaleContractHandler            saleHandler;
            IBillingTempHandler             billingHandler;
            List <tbt_BillingTemp>          tbt_BillingTempList;
            IQuotationHandler     guotHandler;
            doUpdateQuotationData doUpdateQuotation;

            try
            {
                //CheckSystemStatus
                if (CheckIsSuspending(res) == true)
                {
                    return(Json(res));
                }

                //Check screen permission
                if (CheckUserPermission(ScreenID.C_SCREEN_ID_CANCEL_SALE_CONTRACT, FunctionID.C_FUNC_ID_OPERATE) == false)
                {
                    res.AddErrorMessage(MessageUtil.MODULE_COMMON, MessageUtil.MessageList.MSG0053);
                    return(Json(res));
                }


                //ValidateScreenBusiness
                res.MessageType = MessageModel.MESSAGE_TYPE.WARNING;
                if (doCancalReason.CancelDate > DateTime.Now.Date)
                {
                    res.AddErrorMessage(MessageUtil.MODULE_CONTRACT, MessageUtil.MessageList.MSG3154, null, new string[] { "dpCancelDate" });
                    return(Json(res));
                }

                //ValidateDataBusiness
                res.MessageType = MessageModel.MESSAGE_TYPE.INFORMATION;
                ValidateDataBusiness_CTS090(res);
                if (res.IsError)
                {
                    return(Json(res));
                }


                CTS090_ScreenParameter sParam = GetScreenObject <CTS090_ScreenParameter>();
                using (TransactionScope scope = new TransactionScope())
                {
                    /*--- RegisterCancelContract ---*/
                    saleHandler        = ServiceContainer.GetService <ISaleContractHandler>() as ISaleContractHandler;
                    registerCancelData = sParam.CTS090_Session;
                    if (registerCancelData.RegisterCancelData != null)
                    {
                        string strContractCode        = registerCancelData.RegisterCancelData.ContractCode;
                        string strOCCCode             = registerCancelData.RegisterCancelData.OCC;
                        string strQuotationTargetCode = registerCancelData.RegisterCancelData.QuotationTargetCode;
                        string strAlphabet            = registerCancelData.RegisterCancelData.Alphabet;

                        //MapSaleContractData
                        bool isUpdateQuotation = false;
                        if (registerCancelData.RegisterCancelData.ChangeType == SaleChangeType.C_SALE_CHANGE_TYPE_NEW_SALE)
                        {
                            registerCancelData.RegisterCancelData.ContractStatus = ContractStatus.C_CONTRACT_STATUS_CANCEL;
                            isUpdateQuotation = true;
                        }
                        registerCancelData.RegisterCancelData.OCC        = registerCancelData.InitialData.OCCCode;
                        registerCancelData.RegisterCancelData.ChangeType = SaleChangeType.C_SALE_CHANGE_TYPE_CANCEL;
                        registerCancelData.RegisterCancelData.SaleProcessManageStatus = SaleProcessManageStatus.C_SALE_PROCESS_STATUS_CANCEL;
                        registerCancelData.RegisterCancelData.ApproveNo1          = doCancalReason.ApproveNo1;
                        registerCancelData.RegisterCancelData.CancelReasonType    = doCancalReason.CancelReasonType;
                        registerCancelData.RegisterCancelData.CancelDate          = doCancalReason.CancelDate;
                        registerCancelData.RegisterCancelData.CancelProcessDate   = CommonUtil.dsTransData.dtOperationData.ProcessDateTime;
                        registerCancelData.RegisterCancelData.ChangeImplementDate = doCancalReason.CancelDate;

                        //Save cancel contract data
                        tbt_SaleBasicList = saleHandler.UpdateTbt_SaleBasic(registerCancelData.RegisterCancelData);

                        //Delete billing temp
                        billingHandler      = ServiceContainer.GetService <IBillingTempHandler>() as IBillingTempHandler;
                        tbt_BillingTempList = billingHandler.DeleteBillingTempByContractCodeOCC(strContractCode, strOCCCode);

                        //Lock quotation
                        guotHandler = ServiceContainer.GetService <IQuotationHandler>() as IQuotationHandler;
                        bool isLockQuotComplete = guotHandler.LockQuotation(strQuotationTargetCode, strAlphabet, LockStyle.C_LOCK_STYLE_ALL);

                        if (isUpdateQuotation)
                        {
                            //Update quotation data
                            doUpdateQuotation = new doUpdateQuotationData();
                            doUpdateQuotation.QuotationTargetCode = strQuotationTargetCode;
                            doUpdateQuotation.Alphabet            = strAlphabet;
                            doUpdateQuotation.LastUpdateDate      = DateTime.MinValue; //null;
                            doUpdateQuotation.ContractCode        = strContractCode;
                            doUpdateQuotation.ActionTypeCode      = ActionType.C_ACTION_TYPE_CANCEL;
                            int iUpdateQuotRowCount = guotHandler.UpdateQuotationData(doUpdateQuotation);
                        }

                        //Delete installation basic
                        IInstallationHandler installHandler = ServiceContainer.GetService <IInstallationHandler>() as IInstallationHandler;
                        bool blnProcessResult = installHandler.DeleteInstallationBasicData(strContractCode);

                        //Cancel book
                        IInventoryHandler inventHandler = ServiceContainer.GetService <IInventoryHandler>() as IInventoryHandler;
                        doBooking         booking       = new doBooking();
                        booking.ContractCode = registerCancelData.RegisterCancelData.ContractCode;
                        bool isCancelBookComplete = inventHandler.CancelBooking(booking);
                    }
                    /*--------------------------*/

                    scope.Complete();
                    res.ResultData = MessageUtil.GetMessage(MessageUtil.MODULE_COMMON, MessageUtil.MessageList.MSG0046);
                }
            }
            catch (Exception ex)
            {
                res.AddErrorMessage(ex);
            }

            return(Json(res));
        }