Exemplo n.º 1
0
        //path 完整路徑  finame檔名
        public static bool StartInsert(string path, string finame)
        {
            bool   result = true;
            int    i      = 0;
            string line;
            List <ECSalesSupply> ecSales     = new List <ECSalesSupply>();
            List <ECSalesSupply> ErroecSales = new List <ECSalesSupply>();
            ECSalesSupply        ecSale      = new ECSalesSupply();

            try
            {
                Common.WriteLog("開始切割 " + finame);
                FileStream fileStream = File.OpenRead(path);

                //using (StreamReader reader = new StreamReader(fileStream, Encoding.Default))
                using (StreamReader reader = new StreamReader(fileStream, Encoding.GetEncoding(0)))
                {
                    line = reader.ReadLine();
                    while (line != null)
                    {
                        i++;
                        if (i == 1)
                        {
                            line = reader.ReadLine();
                        }
                        line = new Regex("[\\s]+").Replace(line, " ");
                        if (line == " " || line == "")
                        {
                            line = reader.ReadLine();
                            continue;
                        }
                        ecSale = splitstrng(line, i);
                        ecSales.Add(ecSale);

                        if (i % 100000 == 0)
                        {
                            result  = InsertToSql(ecSales);
                            ecSales = new List <ECSalesSupply>();
                            if (!result)
                            {
                                return(false);
                            }
                        }


                        line = reader.ReadLine();
                    }

                    reader.Close();
                }



                Common.WriteLog("新增DB");
                result = InsertToSql(ecSales);



                Common.WriteLog(finame + "切割完成,一共 " + i + " 筆");

                return(result);
            }
            catch (Exception e)
            {
                Common.WriteLog("EC_DetailServices失敗");
                Common.WriteLog(e.ToString());
                result = false;
                return(result);
            }
        }
Exemplo n.º 2
0
        //切割字串
        public static ECSalesSupply splitstrng(string input, int i)
        {
            ECSalesSupply ecSales = new ECSalesSupply();

            try
            {
                //切割符號
                //string mark = ConfigurationManager.AppSettings["Mark"];
                input = new Regex("[\\s]+").Replace(input, " ");

                //string[] sArray = Regex.Split(input, @"|");
                string[] sArray = null;
                sArray = input.Split('|');

                ecSales = new ECSalesSupply
                {
                    OrderId             = sArray[0],
                    OrderNo             = sArray[1],
                    DeliveryDate        = sArray[2],
                    DeliveryTime        = sArray[3],
                    StoreCode           = sArray[4],
                    OutStore            = sArray[5],
                    InputStore          = sArray[6],
                    OrderType           = sArray[7],
                    Media               = sArray[8],
                    DeliveryBy          = sArray[9],
                    OrderStatus         = sArray[10],
                    LogisticStatus      = sArray[11],
                    MemberEmail         = sArray[12],
                    Consignee           = sArray[13],
                    ConsigneeTel        = sArray[14],
                    ConsigneePhone      = sArray[15],
                    ZipCode             = sArray[16],
                    OrderCounty         = sArray[17],
                    OrderArea           = sArray[18],
                    DeliveryAddress     = sArray[19],
                    OrderRemarks        = sArray[20],
                    OrderDate           = sArray[21],
                    PaymentBy           = sArray[22],
                    PaymentStatus       = sArray[23],
                    OrderAmt            = sArray[24],
                    ItemFullCode        = sArray[25],
                    ItemMainCode        = sArray[26],
                    ItemCName           = sArray[27],
                    SalesQty            = sArray[28],
                    SalesPrice          = sArray[29],
                    ISGiveAway          = sArray[30],
                    AddOn               = sArray[31],
                    LangCulture         = sArray[32],
                    OrderAttributes     = sArray[33],
                    StoreOrdertype      = sArray[34],
                    OrderPrice          = sArray[35],
                    Temperature         = sArray[36],
                    IsMember            = sArray[37],
                    MemberAccount       = sArray[38],
                    CardNo              = sArray[39],
                    DiscountCode        = sArray[40],
                    DiscountType        = sArray[41],
                    InvoiceDate         = sArray[42],
                    PromotionActivityID = sArray[43],
                    ActivityID          = sArray[44],
                    CompnayOrderNo      = sArray[45]
                };



                return(ecSales);
            }
            catch (Exception ex)
            {
                Common.WriteLog("切割失敗 " + input + " ");
                Common.WriteLog(ex.ToString());
                return(ecSales);

                throw;
            }
        }