예제 #1
0
        // ----------------------------------------------------------------------
        // Setup
        // ----------------------------------------------------------------------

        public InteropTypes(RewriterEnvironment env)
        {
            this.env = env;
            TheQualificationProperty            = new QualificationProperty(this);
            TheNamespaceCasingProperty          = new NamespaceCasingProperty(this);
            TheTypeNameCasingProperty           = new TypeNameCasingProperty(this);
            ThePrefixNameCasingProperty         = new PrefixNameCasingProperty(this);
            TheMemberNameCasingProperty         = new MemberNameCasingProperty(this);
            TheRemoveAccessorPrefixProperty     = new RemoveAccessorPrefixProperty(this);
            TheRemoveAccessorUnderscoreProperty = new RemoveAccessorUnderscoreProperty(this);
            TheDefaultKeyProperty              = new DefaultKeyProperty(this);
            TheGlobalObjectProperty            = new GlobalObjectProperty(this);
            TheScriptProperty                  = new ScriptProperty(this);
            ThePassRootAsArgumentProperty      = new PassRootAsArgumentProperty(this);
            ThePassInstanceAsArgumentProperty  = new PassInstanceAsArgumentProperty(this);
            TheInlineParamsArrayProperty       = new InlineParamsArrayProperty(this);
            TheCreationProperty                = new CreationProperty(this);
            TheSimulateMulticastEventsProperty = new SimulateMulticastEventsProperty(this);
            TheBindToPrototypeProperty         = new BindToPrototypeProperty(this);
            TheLocationsProperty               = new LocationsProperty(this);
            TheIsResourceProperty              = new IsResourceProperty(this);
            TheIsAsyncProperty                 = new IsAsyncProperty(this);
            TheConditionProperty               = new ConditionProperty(this);
            TheUndefinedIsNotNullProperty      = new UndefinedIsNotNullProperty(this);
            TheStateProperty = new StateProperty(this);
        }
예제 #2
0
        //public string InsertProduct(ConditionProperty dataItem)
        //{
        //    sql = @"INSERT INTO `product` (
        //                ID
        //                ,PRODUCT_NAME
        //            )
        //            (
        //                SELECT CASE WHEN COUNT(`ID`) = 0 THEN 1 ELSE MAX(`ID`)+1 END AS `ID`
        //                    ,'" + dataItem.PRODUCT_NAME + @"' AS `PRODUCT_NAME`

        //                FROM `product`
        //            );";

        //    return sql;
        //}

        public string SearchCondition(ConditionProperty dataItem)
        {
            sql = @"SELECT tb_1.`ID` AS `ID`
                            ,tb_1.`PRODUCT_SUB_CODE` AS `PRODUCT_SUB_CODE`
                            ,tb_1.`CUSTOMER_ID` AS `CUSTOMER_ID`
                            ,tb_1.`WORK_ORDER_ID` AS `WORK_ORDER_ID`
                            ,tb_1.`PART_NO_ID` AS `PART_NO_ID`         

                    FROM `condition` AS tb_1

                    INNER JOIN `product_sub` AS tb_2 
                    ON (tb_2.`PRODUCT_SUB_CODE` = tb_1.`PRODUCT_SUB_CODE`)

                    INNER JOIN `customer` AS tb_3	
                    ON (tb_3.`ID` = tb_1.`CUSTOMER_ID`)

                    INNER JOIN `work_order` AS tb_4 
                    ON (tb_4.`ID` = tb_1.`WORK_ORDER_ID`)

                    INNER JOIN `part_no` AS tb_5 
                    ON (tb_5.`ID` = tb_1.`PART_NO_ID`)

                    WHERE REPLACE(tb_2.PRODUCT_SUB_CODE, ' ', '') = REPLACE('" + dataItem.PRODUCT_SUB_CODE + @"', ' ', '')
                    AND REPLACE(tb_3.CUSTOMER_NAME, ' ', '') = REPLACE('" + dataItem.CUSTOMER_NAME + @"', ' ', '')
                    AND REPLACE(tb_4.WORK_ORDER, ' ', '') = REPLACE('" + dataItem.WORK_ORDER + @"', ' ', '')
                    AND REPLACE(tb_5.PART_NO, ' ', '') = REPLACE('" + dataItem.PART_NO + @"', ' ', '');";


            return(sql);
        }
예제 #3
0
        public string SearchProduct(ConditionProperty dataItem)
        {
            sql = @"SELECT ID
                          ,PRODUCT_NAME

                    FROM `product_sub`
                    WHERE REPLACE(PRODUCT_SUB_CODE, ' ', '') = REPLACE('" + dataItem.PRODUCT_SUB_CODE + "', ' ', '');";

            return(sql);
        }
예제 #4
0
        public string SearchPartNO(ConditionProperty dataItem)
        {
            sql = @"SELECT ID
				           ,PART_NO

                    FROM `part_no`
                    WHERE REPLACE(PART_NO, ' ', '') = REPLACE('" + dataItem.PART_NO + "', ' ', '');";

            return(sql);
        }
예제 #5
0
        public string SearchCustomer(ConditionProperty dataItem)
        {
            sql = @"SELECT ID
                           ,CUSTOMER_NAME 

                    FROM `customer`
                    WHERE REPLACE(CUSTOMER_NAME, ' ', '') = REPLACE('" + dataItem.CUSTOMER_NAME + "', ' ', '');";

            return(sql);
        }
예제 #6
0
        public string SearchWorkOrder(ConditionProperty dataItem)
        {
            sql = @"SELECT ID
		                  ,WORK_ORDER

                    FROM `work_order`
                    WHERE REPLACE(WORK_ORDER, ' ', '') = REPLACE('" + dataItem.WORK_ORDER + "', ' ', '');";

            return(sql);
        }
예제 #7
0
        public string InsertCustomer(ConditionProperty dataItem)
        {
            sql = @"INSERT INTO `customer` (
                        ID
                        ,CUSTOMER_NAME
                    )
                    (
                        SELECT CASE WHEN COUNT(`ID`) = 0 THEN 1 ELSE MAX(`ID`)+1 END AS `ID`
                            ,'" + dataItem.CUSTOMER_NAME + @"' AS `CUSTOMER_NAME`

                        FROM `customer`
                    );";

            return(sql);
        }
예제 #8
0
        public string InsertWorkOrder(ConditionProperty dataItem)
        {
            sql = @"INSERT INTO `work_order` (
                        ID
                        ,WORK_ORDER
                    )
                    (
                       SELECT CASE WHEN COUNT(`ID`) = 0 THEN 1 ELSE MAX(`ID`)+1 END AS `ID`
                            ,'" + dataItem.WORK_ORDER + @"' AS `WORK_ORDER`
                    
                       FROM `work_order`
                    );";

            return(sql);
        }
예제 #9
0
        public string InsertPartNO(ConditionProperty dataItem)
        {
            sql = @"INSERT INTO `part_no` (
                        `ID`
                        ,`PART_NO`
                    )
                    (
                        SELECT CASE WHEN COUNT(`ID`) = 0 THEN 1 ELSE MAX(`ID`)+1 END AS `ID`
                            ,'" + dataItem.PART_NO + @"' AS `PART_NO`
                        
                        FROM `part_no`
                    );";

            return(sql);
        }
예제 #10
0
        public string InsertCondition(ConditionProperty dataItem)
        {
            sql = @"INSERT INTO `condition` (
                        ID
                        ,PART_NO_ID
                        ,WORK_ORDER_ID
                        ,CUSTOMER_ID
                        ,PRODUCT_SUB_CODE
                    )
                    (
                        SELECT CASE WHEN COUNT(`ID`) = 0 THEN 1 ELSE MAX(`ID`)+1 END AS `ID`
                            ,(SELECT `ID` FROM `part_no` WHERE REPLACE(PART_NO, ' ', '') = REPLACE('" + dataItem.PART_NO + @"', ' ', '')) AS `PART_NO_ID`
                            ,(SELECT ID FROM `work_order` WHERE REPLACE(WORK_ORDER, ' ', '') = REPLACE('" + dataItem.WORK_ORDER + @"', ' ', '')) AS `WORK_ORDER_ID`
                            ,(SELECT ID FROM `customer` WHERE REPLACE(CUSTOMER_NAME, ' ', '') = REPLACE('" + dataItem.CUSTOMER_NAME + @"', ' ', '')) `AS CUSTOMER_ID`
                            ,(SELECT PRODUCT_SUB_CODE FROM `product_sub` WHERE REPLACE(PRODUCT_SUB_CODE, ' ', '') = REPLACE('" + dataItem.PRODUCT_SUB_CODE + @"', ' ', '')) AS `PRODUCT_SUB_CODE`

                        FROM `condition` 

                   ); ";

            return(sql);
        }
예제 #11
0
 init => SetValue(ConditionProperty, value);
예제 #12
0
        public OutputOnDbProperty InsertNewPurchase(PurchaseProperty dataItem)
        {
            ConditionProperty _condition = new ConditionProperty {
                PART_NO = dataItem.PART_NO
            };
            OutputOnDbProperty resultData_InSide = new OutputOnDbProperty();
            List <string>      _listSQL          = new List <string>();


            //## Check Part_No. ######################################################################
            resultData_InSide = _conditionServices.SearchPartNO(_condition);
            if (resultData_InSide.StatusOnDb == true)
            {
                //No PartNo in DB.
                if (resultData_InSide.ResultOnDb.Rows.Count <= 0)
                {
                    //Get Qry InsertPartNo to sqlList.
                    _listSQL.Add(_conditionSQLFactory.InsertPartNO(_condition));
                }
            }
            else
            {
                return(resultData_InSide);
            }

            //## Check Model_No. ######################################################################
            resultData_InSide = this.SearchModelNO(dataItem);
            if (resultData_InSide.StatusOnDb == true)
            {
                //No Model_No in DB.
                if (resultData_InSide.ResultOnDb.Rows.Count <= 0)
                {
                    //Get Qry InsertModelNO to sqlList.
                    _listSQL.Add(_sqlFactoryPurchase.InsertModelNO(dataItem));
                }
            }
            else
            {
                return(resultData_InSide);
            }


            //## Check Product Purchase. ######################################################################
            resultData_InSide = this.SearchProductPurchase(dataItem);
            if (resultData_InSide.StatusOnDb == true)
            {
                //No Product Purchase in DB.
                if (resultData_InSide.ResultOnDb.Rows.Count <= 0)
                {
                    //Get Qry InsertProductPurchase to sqlList.
                    _listSQL.Add(_sqlFactoryPurchase.InsertProductPurchase(dataItem));
                }
            }
            else
            {
                return(resultData_InSide);
            }

            //## Check Purchase. ######################################################################
            resultData_InSide = this.SearchPurchase(dataItem);
            if (resultData_InSide.StatusOnDb == true)
            {
                //No Purchase in DB.
                if (resultData_InSide.ResultOnDb.Rows.Count <= 0)
                {
                    //Get Qry InsertPurchase to sqlList.
                    _listSQL.Add(_sqlFactoryPurchase.InsertPurchase(dataItem));
                }
                else
                {
                    resultData_InSide.StatusOnDb  = false;
                    resultData_InSide.MessageOnDb = "Duplicate Purchase No.";
                    return(resultData_InSide);
                }
            }
            else
            {
                return(resultData_InSide);
            }

            // by Boat 03/11/2019
            //## Check Product Type. ######################################################################
            // _listSQL.Add(_sqlFactoryPurchase.InsertProductType(dataItem));


            //## Get Qry Insert Path Process Card to sqlList.. ######################################################################
            _listSQL.Add(_sqlFactoryPurchase.InsertPathProcessCard(dataItem));


            //## Check FFT_Code. ######################################################################
            resultData_InSide = this.SearchFFTCode(dataItem);
            if (resultData_InSide.StatusOnDb == true)
            {
                //No FFT_Code in DB.
                if (resultData_InSide.ResultOnDb.Rows.Count <= 0)
                {
                    //Get Qry InsertFFTCode to sqlList.
                    _listSQL.Add(_sqlFactoryPurchase.InsertFFTCode(dataItem));
                }
                else
                {
                    resultData_InSide.StatusOnDb  = false;
                    resultData_InSide.MessageOnDb = "Duplicate FFT_Code.";
                    return(resultData_InSide);
                }
            }
            else
            {
                return(resultData_InSide);
            }

            //Get Qry InsertPurchase_fft_code to sqlList.
            _listSQL.Add(_sqlFactoryPurchase.InsertPurchase_FFT_Code(dataItem));

            //## Check flow_process. ######################################################################
            resultData_InSide = this.SearchFlowProcess(dataItem);
            if (resultData_InSide.StatusOnDb == true)
            {
                //No Purchase in DB.
                if (resultData_InSide.ResultOnDb.Rows.Count <= 0)
                {
                    //Get Qry InsertPurchase to sqlList.
                    _listSQL.Add(_sqlFactoryPurchase.InsertFlowProcess(dataItem));
                }
                else
                {
                    //Get Qry UpdateUSEFlowProcess to sqlList.
                    _listSQL.Add(_sqlFactoryPurchase.UpdateUSEFlowProcess(dataItem));
                }
            }
            else
            {
                return(resultData_InSide);
            }
            _listSQL.Add(_sqlFactoryPurchase.InsertPurchaseProductType(dataItem));

            resultData = base.InsertBySqlList(_listSQL);
            return(resultData);
        }