Ejemplo n.º 1
0
        private async Task SaveCoupons(string fileName, string userId)
        {
            using (var x = _excelStream.Load(fileName))
            {
                using (var sheet = x.LoadSheet(1))
                {
                    // Reading the data from sheet
                    var index = 1;
                    int baseUrlIndex = 0, priceIndex = 0,
                        titleIndex = 0, shopNameIndex = 0, productNameIndex = 0,
                        startIndex = 0, endIndex = 0, productTypeIndex = 0,
                        pictureUrlIndex = 0, productUrlIndex = 0;
                    IList <Coupon> coupons = new List <Coupon>();
                    foreach (var item in sheet)
                    {
                        if (index == 1)
                        {
                            for (var childIndex = 0; childIndex < item.Count; childIndex++)
                            {
                                switch (item[childIndex].Trim())
                                {
                                case "商品名称":
                                    productNameIndex = childIndex;
                                    break;

                                case "商品主图":
                                    pictureUrlIndex = childIndex;
                                    break;

                                case "商品一级类目":
                                    productTypeIndex = childIndex;
                                    break;

                                case "淘宝客链接":
                                    productUrlIndex = childIndex;
                                    break;

                                case "商品价格":
                                    priceIndex = childIndex;
                                    break;

                                case "店铺名称":
                                    shopNameIndex = childIndex;
                                    break;

                                case "优惠券面额":
                                    titleIndex = childIndex;
                                    break;

                                case "优惠券开始时间":
                                    startIndex = childIndex;
                                    break;

                                case "优惠券结束时间":
                                    endIndex = childIndex;
                                    break;

                                case "商品优惠券推广链接":
                                    baseUrlIndex = childIndex;
                                    break;
                                }
                            }

                            index++;
                            continue;
                        }
                        var coupon = new Coupon();
                        //Spider(item[10]);
                        coupon.BaseUrl     = item[baseUrlIndex];
                        coupon.Title       = item[titleIndex];
                        coupon.ShopName    = item[shopNameIndex];
                        coupon.ProductUrl  = item[productUrlIndex];
                        coupon.PictureUrl  = item[pictureUrlIndex];
                        coupon.ProductName = item[productNameIndex];
                        coupon.ProductType = item[productTypeIndex];
                        double price = 0;
                        double.TryParse(item[priceIndex], out price);
                        coupon.Price = price;
                        DateTime startDate;
                        DateTime.TryParse(item[startIndex], out startDate);
                        coupon.StartDate = startDate;
                        DateTime endDate;
                        DateTime.TryParse(item[endIndex], out endDate);
                        coupon.EndDate = endDate;
                        coupon.UserId  = userId;
                        coupon.Id      = Guid.NewGuid().ToString();
                        coupon.AddTime = DateTime.Now;
                        coupon.Version = 0;
                        coupons.Add(coupon);
                    }
                    await _service.AddAsync(coupons);
                }
            }
        }