Пример #1
0
        /// <summary>
        /// Do this when timer check & fire
        /// </summary>
        /// <param name="stateInfo"></param>
        public void CheckStatus(Object stateInfo)
        {
            try
            {
                //1. TB_APP_ERROR
                var err_list = OracleDataHelper.GetNoTransfer <TB_APP_ERROR>(table_pre + "TB_APP_ERROR", "SO_TRANSFER_FLAG");
                Synchronize <TB_APP_ERROR, LGService.TB_APP_ERROR>(err_list, "SO_TRANSFER_FLAG", "SO_TRANSFER_DATE", new string[] { "NAME", "MSG", "LINE", "CDATE", "CTIME" });

                //2. TB_CM_BILLTO_INF
                var blii_inf_list = OracleDataHelper.GetNoTransfer <TB_CM_BILLTO_INF>(table_pre + "TB_CM_BILLTO_INF", "SO_TRANSFER_FLAG");
                Synchronize <TB_CM_BILLTO_INF, LGService.TB_CM_BILLTO_INF>(blii_inf_list, "SO_TRANSFER_FLAG", "SO_TRANSFER_DATE", new string[] { "BILLTO_CODE", "SHOP_CODE", "SHOP_NAME", "ADDRESS", "DIST_CODE", "PROVINCE_CODE", "CREATE_DATE", "UPDATE_DATE", "ISDN_NO", "CUSTOMER_CODE", "AREA_CODE", "OWNER_NAME", "OWNER_EMAIL", "USE_FLAG", "CHANNEL", "REG_ID", "CREATE_USER", "UPDATE_USER", "SHOP_TYPE" });

                //3. TB_CM_MODEL_CAT
                var model_cat_list = OracleDataHelper.GetNoTransfer <TB_CM_MODEL_CAT>(table_pre + "TB_CM_MODEL_CAT", "SO_TRANSFER_FLAG");
                Synchronize <TB_CM_MODEL_CAT, LGService.TB_CM_MODEL_CAT>(model_cat_list, "SO_TRANSFER_FLAG", "SO_TRANSFER_DATE", new string[] { "PROD_L1", "MODEL", "CREATE_DATE", "SUFFIX", "MP_MODEL", "MP_SUFFIX", "ACTIVE_CODE", "SALE_FLAG", "PROD_L2", "PROD_L3", "PROD_L4", "TENTATIVE_FLAG", "MODEL_SPEC", "PUR_TYPE", "ENABLE_FLAG", "LAST_UPDATE_DATE", "UNIT", "AU_CODE", "AF_CODE", "EOM", "PROD_TYPE", "MKT", "IF_DATE" });

                //4. Get All uncheck Client
                var cm_mrp_list = OracleDataHelper.GetNoTransfer <TB_CM_MRP>(table_pre + "TB_CM_MRP", "SO_TRANSFER_FLAG");
                Synchronize <TB_CM_MRP, LGService.TB_CM_MRP>(cm_mrp_list, "SO_TRANSFER_FLAG", "SO_TRANSFER_DATE", new string[] { "MODEL", "MRP", "CREATE_DATE" });

                //5. TB_CM_PROVINCE
                var cm_province_list = OracleDataHelper.GetNoTransfer <TB_CM_PROVINCE>(table_pre + "TB_CM_PROVINCE", "SO_TRANSFER_FLAG");
                Synchronize <TB_CM_PROVINCE, LGService.TB_CM_PROVINCE>(cm_province_list, "SO_TRANSFER_FLAG", "SO_TRANSFER_DATE", "ID");

                //6. TB_CM_REGION
                var cm_region_list = OracleDataHelper.GetNoTransfer <TB_CM_REGION>(table_pre + "TB_CM_REGION", "SO_TRANSFER_FLAG");
                Synchronize <TB_CM_REGION, LGService.TB_CM_REGION>(cm_region_list, "SO_TRANSFER_FLAG", "SO_TRANSFER_DATE", "ID");

                //7. TB_CM_SHOP_BILLTO
                var cm_shop_list = OracleDataHelper.GetNoTransfer <TB_CM_SHOP_BILLTO>(table_pre + "TB_CM_SHOP_BILLTO", "SO_TRANSFER_FLAG");
                Synchronize <TB_CM_SHOP_BILLTO, LGService.TB_CM_SHOP_BILLTO>(cm_shop_list, "SO_TRANSFER_FLAG", "SO_TRANSFER_DATE", new string[] { "BILLTO_CODE", "SHOP_CODE", "CREATE_DATE", "MODIFY_DATE", "CREATE_USER", "MODIFY_USER", "USE_FLAG" });

                //8. TB_CM_SHOP_CELL
                var cm_cell_list = OracleDataHelper.GetNoTransfer <TB_CM_SHOP_CELL>(table_pre + "TB_CM_SHOP_CELL", "SO_TRANSFER_FLAG");
                Synchronize <TB_CM_SHOP_CELL, LGService.TB_CM_SHOP_CELL>(cm_cell_list, "SO_TRANSFER_FLAG", "SO_TRANSFER_DATE", "SHOP_CELL");

                //9. TB_CM_SHOP_INF
                var cm_inf_list = OracleDataHelper.GetNoTransfer <TB_CM_SHOP_INF>(table_pre + "TB_CM_SHOP_INF", "SO_TRANSFER_FLAG");
                Synchronize <TB_CM_SHOP_INF, LGService.TB_CM_SHOP_INF>(cm_inf_list, "SO_TRANSFER_FLAG", "SO_TRANSFER_DATE", "SHOP_CODE");

                #region 2014.07.16 - HopDT need comment this lines
                ////10. TB_MO_HIST
                //var cm_mo_list = OracleDataHelper.GetNoTransfer<TB_MO_HIST>(table_pre + "TB_MO_HIST", "SO_TRANSFER_FLAG");
                //Synchronize<TB_MO_HIST, LGService.TB_MO_HIST>(cm_mo_list, "SO_TRANSFER_FLAG", "SO_TRANSFER_DATE", new string[] { "SHORTCODE", "MOSEQ", "CMDCODE", "MSGBODY", "RECEIVE_TIME", "FILENAME", "FILEDATE", "TRANSFER_FLAG", "TRANSFER_DATE" });

                ////11. TB_MT_HIST
                //var cm_mt_list = OracleDataHelper.GetNoTransfer<TB_MT_HIST>(table_pre + "TB_MT_HIST", "SO_TRANSFER_FLAG");
                //Synchronize<TB_MT_HIST, LGService.TB_MT_HIST>(cm_mt_list, "SO_TRANSFER_FLAG", "SO_TRANSFER_DATE", new string[] { "MOSEQ", "SHORTCODE", "CELL_NO", "MSGBODY", "MSGTYPE", "SEND_FLAG", "CMDCODE" });
                #endregion

                //12. TB_MT_SMS_RESP_MSG
                var cm_sms_list = OracleDataHelper.GetNoTransfer <TB_MT_SMS_RESP_MSG>(table_pre + "TB_MT_SMS_RESP_MSG", "SO_TRANSFER_FLAG");
                Synchronize <TB_MT_SMS_RESP_MSG, LGService.TB_MT_SMS_RESP_MSG>(cm_sms_list, "SO_TRANSFER_FLAG", "SO_TRANSFER_DATE", "RESP_TYPE");

                //13. TB_ORDER_SHIP_HIST
                var cm_ship_list = OracleDataHelper.GetNoTransfer <TB_ORDER_SHIP_HIST>(table_pre + "TB_ORDER_SHIP_HIST", "SO_TRANSFER_FLAG");
                Synchronize <TB_ORDER_SHIP_HIST, LGService.TB_ORDER_SHIP_HIST>(cm_ship_list, "SO_TRANSFER_FLAG", "SO_TRANSFER_DATE", new string[] { "INV_ORG", "SHIPTO_CODE", "ORDER_NO", "LINE_NO", "ORDER_QTY", "RELEASE_QTY", "REQUEST_ARRIVAL_DATE", "MODEL", "SUFFIX" });

                //14. TB_SN_CDC_HIST
                var list14 = OracleDataHelper.GetNoTransfer <TB_SN_CDC_HIST>(table_pre + "TB_SN_CDC_HIST", "SO_TRANSFER_FLAG");
                Synchronize <TB_SN_CDC_HIST, LGService.TB_SN_CDC_HIST>(list14, "SO_TRANSFER_FLAG", "SO_TRANSFER_DATE", new string[] { "INV_ORG", "ORDER_NO", "SHIPTO_CODE", "MODEL", "SERIAL_NO", "SUFFIX" });

                //15. TB_SN_PND_HIST
                var list15 = OracleDataHelper.GetNoTransfer <TB_SN_PND_HIST>(table_pre + "TB_SN_PND_HIST", "SO_TRANSFER_FLAG");
                Synchronize <TB_SN_PND_HIST, LGService.TB_SN_PND_HIST>(list15, "SO_TRANSFER_FLAG", "SO_TRANSFER_DATE", new string[] { "SERIAL_NO", "PND_TYPE" });

                //16. TB_SN_RDC_HIST
                var list16 = OracleDataHelper.GetNoTransfer <TB_SN_RDC_HIST>(table_pre + "TB_SN_RDC_HIST", "SO_TRANSFER_FLAG");
                Synchronize <TB_SN_RDC_HIST, LGService.TB_SN_RDC_HIST>(list16, "SO_TRANSFER_FLAG", "SO_TRANSFER_DATE", new string[] { "INV_ORG", "EDI_NO", "SERIAL_NO", "MODEL", "SUFFIX", "OUT_DATE" });

                //17. TB_SN_SO_WT_HIST
                var list17 = OracleDataHelper.GetNoTransfer <TB_SN_SO_WT_HIST>(table_pre + "TB_SN_SO_WT_HIST", "SO_TRANSFER_FLAG");
                Synchronize <TB_SN_SO_WT_HIST, LGService.TB_SN_SO_WT_HIST>(list17, "SO_TRANSFER_FLAG", "SO_TRANSFER_DATE", new string[] { "SERIAL_NO", "MODEL", "END_USER_CELL", "SHOP_CODE", "SHOP_CELL", "RECEIVE_DATE", "MOSEQ", "CMDCODE", "RESP_TYPE", "RESP_MSG", "MO_MSGBODY", "SMS_YN", "CREATE_DATE", "SUCCESS_FLAG", "EDI_FILE", "EDI_HEAD" });

                //18. TB_SN_SO_WT_MST
                var list18 = OracleDataHelper.GetNoTransfer <TB_SN_SO_WT_MST>(table_pre + "TB_SN_SO_WT_MST", "SO_TRANSFER_FLAG");
                Synchronize <TB_SN_SO_WT_MST, LGService.TB_SN_SO_WT_MST>(list18, "SO_TRANSFER_FLAG", "SO_TRANSFER_DATE", new string[] { "SERIAL_NO", "SELLIN_DATE", "SELLOUT_DATE", "WT_START_DATE", "WT_END_DATE", "SHOP_CODE", "SHOP_CELL", "SELLOUT_RESP_MSG", "POINT", "AMT", "SELLOUT_RESP_TYPE", "SELLOUT_TIME", "INCENTIVE_CFM_FLAG", "INCENTIVE_CFM_DATE", "MODEL", "SUFFIX", "CLOSE_FLAG", "CLOSE_PERIOD", "SMS_YN", "CREATE_DATE", "INCENTIVE_CFM_USER", "CLOSE_USER", "INCENTIVE_CFM_PERIOD", "LAST_UPDATE_DATE", "END_USER_CELL", "TRANSFER_FLAG", "TRANSFER_DATE" });


                //19. TB_SN_SO_WT_MST0
                var list19 = OracleDataHelper.GetNoTransfer <TB_SN_SO_WT_MST0>(table_pre + "TB_SN_SO_WT_MST0", "TRANSFER_FLAG");
                Synchronize <TB_SN_SO_WT_MST0, LGService.TB_SN_SO_WT_MST0>(list19, "TRANSFER_FLAG", "TRANSFER_DATE", new string[] { "MODEL", "SUFFIX", "SERIAL_NO", "WT_START_DATE", "WT_END_DATE", "END_USER_CELL", "WT_RESP_MSG", "WT_RESP_TYPE", "SMS_YN", "CREATE_DATE", "WT_CFM_USER", "LAST_UPDATE_DATE", "SELLIN_DATE", "SELLOUT_DATE", "SELLOUT_TIME" });


                //---------------------------------------------------------------------------------------------------------------
                service.Url = ConfigurationManager.AppSettings["ServiceURL"];
                //17. TB_SN_SO_WT_HIST
                var list20 = service.GET_TB_SN_SO_WT_HIST("LGEVNA", "123456@Lg!hieunk");
                Synchronize2 <LGService.TB_SN_SO_WT_HIST, TB_SN_SO_WT_HIST>(list20, "SO_TRANSFER_FLAG", "SO_TRANSFER_DATE", new string[] { "SERIAL_NO", "MODEL", "SHOP_CODE" });

                //18. TB_SN_SO_WT_MST
                var list21 = service.GET_TB_SN_SO_WT_MST("LGEVNA", "123456@Lg!hieunk");
                Synchronize2 <LGService.TB_SN_SO_WT_MST, TB_SN_SO_WT_MST>(list21, "SO_TRANSFER_FLAG", "SO_TRANSFER_DATE", new string[] { "SERIAL_NO", "SHOP_CODE", "MODEL" });
            }
            catch (Exception ex)
            {
                System.Console.WriteLine("\n\n");
                System.Console.WriteLine(ex.Message);
            }
        }
Пример #2
0
        private void Synchronize <TSource, TDest>(IEnumerable <TSource> cm_mrp_list, string flag, string date, params string[] keys)
        {
            if (cm_mrp_list == null || cm_mrp_list.Count() == 0)
            {
                return;
            }

            //Get property infor of key field
            Type myTypeS = typeof(TSource);
            Type myTypeD = typeof(TDest);

            System.Console.WriteLine("---------------------------------------------------------------------------");
            System.Console.WriteLine("                         BEGIN SYNCHRONIZE " + myTypeS.Name);
            System.Console.WriteLine("---------------------------------------------------------------------------");
            Dictionary <string, string> dictkey = new Dictionary <string, string>();
            //Get dict of params


            var dictS = new Dictionary <string, PropertyInfo>();
            var dictD = new Dictionary <string, PropertyInfo>();

            var propS = myTypeS.GetProperties();
            var propD = myTypeD.GetProperties();

            foreach (var infS in propS)
            {
                if (!dictS.ContainsKey(infS.Name))
                {
                    dictS.Add(infS.Name, infS);
                }
            }
            foreach (var infD in propD)
            {
                if (!dictD.ContainsKey(infD.Name))
                {
                    dictD.Add(infD.Name, infD);
                }
            }

            ////---------GET LIST FROM STOREPROCEDURED ----------------------------------------
            //OracleDataHelper.ExecuteProcedure<HIEUNK_TEST>("PKG_WEBSERVICE.GET_SN_SO_WT_MST",
            //new OracleParameter{ ParameterName="items_cursor", Direction= System.Data.ParameterDirection.Output, OracleType = OracleType.Cursor});
            if (cm_mrp_list == null && cm_mrp_list.Count() <= 0)
            {
                return;
            }
            int index = 1;

            foreach (var item in cm_mrp_list)
            {
                //var item = cm_mrp_list.ElementAt(0);
                try
                {
                    //2. Insert to server (with checked existing)
                    List <string> linesPrint = new List <string>();
                    var           entity     = Activator.CreateInstance(myTypeD);
                    foreach (var infD in propD)
                    {
                        object valueS = null;
                        if (dictS.ContainsKey(infD.Name))
                        {
                            valueS = dictS[infD.Name].GetValue(item, null);
                        }
                        infD.SetValue(entity, valueS, null);
                        linesPrint.Add(infD.Name.PadRight(20) + " = " + (valueS == null ? "''" : valueS.ToString()));
                    }

                    CallWebservice <TDest>(entity);
                    //int id = OracleDataHelper.ExecuteProcedure("PKG_WEBSERVICE.ADD_HIEUNK_TEST", colllection);
                    //3. Update flag to Client
                    OracleDataHelper.ExecuteFlag <TSource>(item, table_pre + myTypeS.Name, flag, date, keys);
                    //OracleDataHelper.ExecuteFlag<TB_CM_MRP>(item, "TB_CM_MRP", "SO_TRANSFER_FLAG", "MODEL");
                    System.Console.WriteLine("Synchronized (" + index.ToString() + ")");
                    foreach (var line in linesPrint)
                    {
                        System.Console.WriteLine(line);
                    }
                    //System.Console.WriteLine("MRP   =" + entity.MRP);
                    //System.Console.WriteLine("MODEL =" + item.MODEL);
                    System.Console.WriteLine("---------------------");
                    System.Console.Write("\r{0}", getkey(index));
                    System.Console.Write("\r{0}", "");
                    index++;
                    //Thread.Sleep(20);
                }
                catch (Exception ex)
                {
                    System.Console.WriteLine("\r{0}", ex.ToString());
                }
            }
            System.Console.WriteLine("\r{0}",
                                     "---------------------------------------------------------------------------");
            System.Console.WriteLine("                            END " + myTypeS.Name);
            System.Console.WriteLine("---------------------------------------------------------------------------");
        }
Пример #3
0
        private void Synchronize2 <TSource, TDest>(IEnumerable <TSource> cm_mrp_list, string flag, string date, params string[] keys)
        {
            //Get property infor of key field
            Type myTypeS = typeof(TSource);
            Type myTypeD = typeof(TDest);

            System.Console.WriteLine("---------------------------------------------------------------------------");
            System.Console.WriteLine("              BEGIN SYNCHRONIZE TO UPDATE " + myTypeS.Name);
            System.Console.WriteLine("---------------------------------------------------------------------------");
            Dictionary <string, string> dictkey = new Dictionary <string, string>();

            //Get dict of params
            if (cm_mrp_list == null || cm_mrp_list.Count() == 0)
            {
                System.Console.WriteLine("\r{0}",
                                         "---------------------------------------------------------------------------");
                System.Console.WriteLine("                            END " + myTypeS.Name);
                System.Console.WriteLine("---------------------------------------------------------------------------");
                return;
            }
            var dictS = new Dictionary <string, PropertyInfo>();
            var dictD = new Dictionary <string, PropertyInfo>();

            var propS = myTypeS.GetProperties();
            var propD = myTypeD.GetProperties();

            foreach (var infS in propS)
            {
                if (!dictS.ContainsKey(infS.Name))
                {
                    dictS.Add(infS.Name, infS);
                }
            }
            foreach (var infD in propD)
            {
                if (!dictD.ContainsKey(infD.Name))
                {
                    dictD.Add(infD.Name, infD);
                }
            }

            ////---------GET LIST FROM STOREPROCEDURED ----------------------------------------
            //OracleDataHelper.ExecuteProcedure<HIEUNK_TEST>("PKG_WEBSERVICE.GET_SN_SO_WT_MST",
            //new OracleParameter{ ParameterName="items_cursor", Direction= System.Data.ParameterDirection.Output, OracleType = OracleType.Cursor});
            if (cm_mrp_list == null && cm_mrp_list.Count() <= 0)
            {
                return;
            }
            int index = 1;

            foreach (var item in cm_mrp_list)
            {
                //var item = cm_mrp_list.ElementAt(0);
                try
                {
                    //2. Insert to server (with checked existing)
                    List <string> linesPrint = new List <string>();
                    var           entity = Activator.CreateInstance(myTypeD);
                    string        serial_no = string.Empty, model = string.Empty;

                    foreach (var infD in propD)
                    {
                        object valueS = null;
                        if (dictS.ContainsKey(infD.Name))
                        {
                            valueS = dictS[infD.Name].GetValue(item, null);
                        }
                        infD.SetValue(entity, valueS, null);
                        linesPrint.Add(infD.Name.PadRight(20) + " = " + (valueS == null ? "''" : valueS.ToString()));

                        if (infD.Name.ToUpper() == "MODEL" && valueS != null)
                        {
                            model = valueS.ToString();
                        }
                        else if (infD.Name.ToUpper() == "SERIAL_NO" && valueS != null)
                        {
                            serial_no = valueS.ToString();
                        }
                    }

                    //3. Update flag to Client
                    if (myTypeS.Name.ToUpper() == "TB_SN_SO_WT_MST")
                    {
                        bool id = OracleDataHelper.InsertEntity <TB_SN_SO_WT_MST>(entity, "TB_SN_SO_WT_MST");
                        if (id)
                        {
                            OracleDataHelper.ExecuteQuery("update tb_sn_rdc_hist set sellout_status='Y' where \"MODEL\"=:p_MODEL and serial_no=:p_SERIAL_NO", new OracleParameter[]
                            {
                                new OracleParameter("p_MODEL", model),
                                new OracleParameter("p_SERIAL_NO", serial_no)
                            });

                            OracleDataHelper.ExecuteQuery("update tb_sn_cdc_hist set SELLOUT_FLAG='Y' where \"MODEL\"=:p_MODEL and serial_no=:p_SERIAL_NO", new OracleParameter[]
                            {
                                new OracleParameter("p_MODEL", model),
                                new OracleParameter("p_SERIAL_NO", serial_no)
                            });

                            service.UPDATE_TB_SN_SO_WT_MST(item, "LGEVNA", "123456@Lg!hieunk");
                        }
                    }
                    else if (myTypeS.Name.ToUpper() == "TB_SN_SO_WT_HIST")
                    {
                        bool id = OracleDataHelper.InsertEntity <TB_SN_SO_WT_HIST>(entity, "TB_SN_SO_WT_HIST");
                        if (id)
                        {
                            service.UPDATE_TB_SN_SO_WT_HIST(item, "LGEVNA", "123456@Lg!hieunk");
                        }
                    }

                    System.Console.WriteLine("Synchronized (" + index.ToString() + ")");
                    foreach (var line in linesPrint)
                    {
                        System.Console.WriteLine(line);
                    }
                    //System.Console.WriteLine("MRP   =" + entity.MRP);
                    //System.Console.WriteLine("MODEL =" + item.MODEL);
                    System.Console.WriteLine("---------------------");
                    System.Console.Write("\r{0}", getkey(index));
                    System.Console.Write("\r{0}", "");
                    index++;
                    //Thread.Sleep(20);
                }
                catch (Exception ex)
                {
                    System.Console.WriteLine("\r{0}", ex.ToString());
                }
            }
            System.Console.WriteLine("\r{0}",
                                     "---------------------------------------------------------------------------");
            System.Console.WriteLine("                            END " + myTypeS.Name);
            System.Console.WriteLine("---------------------------------------------------------------------------");
        }