示例#1
0
        private void WriteItem(ICsvWriter writer, Product product)
        {
            var meta = MetaInfoService.GetMetaInfo(product.ID, MetaType.Product) ??
                       new MetaInfo(0, 0, MetaType.Product, string.Empty, string.Empty, string.Empty, string.Empty);

            foreach (var item in _fieldMapping)
            {
                if (item == ProductFields.Sku)
                {
                    writer.WriteField(product.ArtNo);
                }
                if (item == ProductFields.Name)
                {
                    writer.WriteField(product.Name);
                }

                if (item == ProductFields.ParamSynonym)
                {
                    writer.WriteField(product.UrlPath);
                }

                if (item == ProductFields.Category)
                {
                    writer.WriteField((CategoryService.GetCategoryStringByProductId(product.ProductId, _columSeparator)));
                }

                if (item == ProductFields.Sorting)
                {
                    writer.WriteField((CategoryService.GetCategoryStringByProductId(product.ProductId, _columSeparator, true)));
                }

                if (item == ProductFields.Enabled)
                {
                    writer.WriteField(product.Enabled ? "+" : "-");
                }

                if (!product.HasMultiOffer)
                {
                    var offer = product.Offers.FirstOrDefault() ?? new Offer();
                    if (item == ProductFields.Price)
                    {
                        writer.WriteField(offer.Price.ToString("F2"));
                    }
                    if (item == ProductFields.PurchasePrice)
                    {
                        writer.WriteField(offer.SupplyPrice.ToString("F2"));
                    }
                    if (item == ProductFields.Amount)
                    {
                        writer.WriteField(offer.Amount.ToString(CultureInfo.InvariantCulture));
                    }

                    if (item == ProductFields.MultiOffer)
                    {
                        writer.WriteField(string.Empty);
                    }
                }
                else
                {
                    if (item == ProductFields.Price)
                    {
                        writer.WriteField(string.Empty);
                    }
                    if (item == ProductFields.PurchasePrice)
                    {
                        writer.WriteField(string.Empty);
                    }
                    if (item == ProductFields.Amount)
                    {
                        writer.WriteField(string.Empty);
                    }
                    if (item == ProductFields.MultiOffer)
                    {
                        writer.WriteField(OfferService.OffersToString(product.Offers, _columSeparator, _propertySeparator));
                    }
                }

                if (item == ProductFields.Unit)
                {
                    writer.WriteField(product.Unit);
                }
                if (item == ProductFields.ShippingPrice)
                {
                    writer.WriteField(product.ShippingPrice.ToString("F2"));
                }
                if (item == ProductFields.Discount)
                {
                    writer.WriteField(product.Discount.ToString("F2"));
                }
                if (item == ProductFields.Weight)
                {
                    writer.WriteField(product.Weight.ToString("F2"));
                }
                if (item == ProductFields.Size)
                {
                    writer.WriteField(product.Size.Replace("|", " x "));
                }

                if (item == ProductFields.BriefDescription)
                {
                    writer.WriteField(product.BriefDescription);
                }
                if (item == ProductFields.Description)
                {
                    writer.WriteField(product.Description);
                }

                if (item == ProductFields.Title)
                {
                    writer.WriteField(meta.Title);
                }
                if (item == ProductFields.H1)
                {
                    writer.WriteField(meta.H1);
                }
                if (item == ProductFields.MetaKeywords)
                {
                    writer.WriteField(meta.MetaKeywords);
                }
                if (item == ProductFields.MetaDescription)
                {
                    writer.WriteField(meta.MetaDescription);
                }
                if (item == ProductFields.Markers)
                {
                    writer.WriteField(ProductService.MarkersToString(product, _columSeparator));
                }
                if (item == ProductFields.Photos)
                {
                    writer.WriteField(PhotoService.PhotoToString(product.ProductPhotos, _columSeparator, _propertySeparator));
                }
                if (item == ProductFields.Videos)
                {
                    writer.WriteField(ProductVideoService.VideoToString(product.ProductVideos, _columSeparator));
                }
                if (item == ProductFields.Properties)
                {
                    writer.WriteField(PropertyService.PropertiesToString(product.ProductPropertyValues, _columSeparator, _propertySeparator));
                }

                if (item == ProductFields.Producer)
                {
                    writer.WriteField(BrandService.BrandToString(product.BrandId));
                }

                if (item == ProductFields.OrderByRequest)
                {
                    writer.WriteField(product.AllowPreOrder ? "+" : "-");
                }

                if (item == ProductFields.SalesNotes)
                {
                    writer.WriteField(product.SalesNote);
                }

                if (item == ProductFields.Related)
                {
                    writer.WriteField(ProductService.LinkedProductToString(product.ProductId, RelatedType.Related, _columSeparator));
                }

                if (item == ProductFields.Alternative)
                {
                    writer.WriteField(ProductService.LinkedProductToString(product.ProductId, RelatedType.Alternative, _columSeparator));
                }

                if (item == ProductFields.CustomOption)
                {
                    writer.WriteField(CustomOptionsService.CustomOptionsToString(CustomOptionsService.GetCustomOptionsByProductId(product.ProductId)));
                }

                if (item == ProductFields.Gtin)
                {
                    writer.WriteField(product.Gtin);
                }

                if (item == ProductFields.GoogleProductCategory)
                {
                    writer.WriteField(product.GoogleProductCategory);
                }

                if (item == ProductFields.Adult)
                {
                    writer.WriteField(product.Adult ? "+" : "-");
                }

                if (item == ProductFields.ManufacturerWarranty)
                {
                    writer.WriteField(product.ManufacturerWarranty ? "+" : "-");
                }
            }
            writer.NextRecord();
        }
示例#2
0
        private void LoadFirstProduct()
        {
            var columSeparator    = txtColumSeparator.Text;
            var propertySeparator = txtPropertySeparator.Text;

            var product = ProductService.GetFirstProduct();

            if (product == null)
            {
                return;
            }
            foreach (var item in Enum.GetValues(typeof(ProductFields)))
            {
                if ((ProductFields)item == ProductFields.None)
                {
                    ddlProduct.Items.Add(new ListItem {
                        Text = @"-", Value = ProductFields.None.ConvertIntString()
                    });
                }

                if ((ProductFields)item == ProductFields.Sku)
                {
                    ddlProduct.Items.Add(new ListItem {
                        Text = product.ArtNo, Value = ProductFields.Sku.ConvertIntString()
                    });
                }

                if ((ProductFields)item == ProductFields.Name)
                {
                    ddlProduct.Items.Add(new ListItem {
                        Text = product.Name.HtmlEncode(), Value = ProductFields.Name.ConvertIntString()
                    });
                }

                if ((ProductFields)item == ProductFields.ParamSynonym)
                {
                    ddlProduct.Items.Add(new ListItem {
                        Text = product.UrlPath, Value = ProductFields.ParamSynonym.ConvertIntString()
                    });
                }

                if ((ProductFields)item == ProductFields.Category)
                {
                    ddlProduct.Items.Add(new ListItem {
                        Text = CategoryService.GetCategoryStringByProductId(product.ProductId, columSeparator), Value = ProductFields.Category.ConvertIntString()
                    });
                }

                if ((ProductFields)item == ProductFields.Sorting)
                {
                    ddlProduct.Items.Add(new ListItem {
                        Text = CategoryService.GetCategoryStringByProductId(product.ProductId, columSeparator, true), Value = ProductFields.Sorting.ConvertIntString()
                    });
                }

                if ((ProductFields)item == ProductFields.Enabled)
                {
                    ddlProduct.Items.Add(new ListItem {
                        Text = product.Enabled ? "+" : "-", Value = ProductFields.Enabled.ConvertIntString()
                    });
                }

                if ((ProductFields)item == ProductFields.Price)
                {
                    ddlProduct.Items.Add(new ListItem {
                        Text = product.Offers.Select(x => x.Price).FirstOrDefault().ToString("F2"), Value = ProductFields.Price.ConvertIntString()
                    });
                }

                if ((ProductFields)item == ProductFields.PurchasePrice)
                {
                    ddlProduct.Items.Add(new ListItem {
                        Text = product.Offers.Select(x => x.SupplyPrice).FirstOrDefault().ToString("F2"), Value = ProductFields.PurchasePrice.ConvertIntString()
                    });
                }

                if ((ProductFields)item == ProductFields.Amount)
                {
                    ddlProduct.Items.Add(new ListItem {
                        Text = product.Offers.Select(x => x.Amount).FirstOrDefault().ToString("F2"), Value = ProductFields.Amount.ConvertIntString()
                    });
                }

                if ((ProductFields)item == ProductFields.MultiOffer)
                {
                    ddlProduct.Items.Add(new ListItem
                    {
                        Text  = OfferService.OffersToString(product.Offers, columSeparator, propertySeparator),
                        Value = ProductFields.MultiOffer.ConvertIntString()
                    });
                }

                if ((ProductFields)item == ProductFields.Unit)
                {
                    ddlProduct.Items.Add(new ListItem {
                        Text = product.Unit, Value = ProductFields.Unit.ConvertIntString()
                    });
                }

                if ((ProductFields)item == ProductFields.Discount)
                {
                    ddlProduct.Items.Add(new ListItem {
                        Text = product.Discount.ToString("F2"), Value = ProductFields.Discount.ConvertIntString()
                    });
                }

                if ((ProductFields)item == ProductFields.ShippingPrice)
                {
                    ddlProduct.Items.Add(new ListItem {
                        Text = product.ShippingPrice.ToString("F2"), Value = ProductFields.ShippingPrice.ConvertIntString()
                    });
                }

                if ((ProductFields)item == ProductFields.Weight)
                {
                    ddlProduct.Items.Add(new ListItem {
                        Text = product.Weight.ToString("F2"), Value = ProductFields.Weight.ConvertIntString()
                    });
                }

                if ((ProductFields)item == ProductFields.Size)
                {
                    ddlProduct.Items.Add(new ListItem {
                        Text = product.Size.Replace("|", " x "), Value = ProductFields.Size.ConvertIntString()
                    });
                }

                if ((ProductFields)item == ProductFields.BriefDescription)
                {
                    ddlProduct.Items.Add(new ListItem {
                        Text = product.BriefDescription.Reduce(20).HtmlEncode(), Value = ProductFields.BriefDescription.ConvertIntString()
                    });
                }

                if ((ProductFields)item == ProductFields.Description)
                {
                    ddlProduct.Items.Add(new ListItem {
                        Text = product.Description.Reduce(20).HtmlEncode(), Value = ProductFields.Description.ConvertIntString()
                    });
                }

                if ((ProductFields)item == ProductFields.Title)
                {
                    ddlProduct.Items.Add(new ListItem {
                        Text = product.Meta.Title.Reduce(20), Value = ProductFields.Title.ConvertIntString()
                    });
                }

                if ((ProductFields)item == ProductFields.H1)
                {
                    ddlProduct.Items.Add(new ListItem {
                        Text = product.Meta.H1.Reduce(20), Value = ProductFields.H1.ConvertIntString()
                    });
                }

                if ((ProductFields)item == ProductFields.MetaKeywords)
                {
                    ddlProduct.Items.Add(new ListItem {
                        Text = product.Meta.MetaKeywords.Reduce(20), Value = ProductFields.MetaKeywords.ConvertIntString()
                    });
                }

                if ((ProductFields)item == ProductFields.MetaDescription)
                {
                    ddlProduct.Items.Add(new ListItem {
                        Text = product.Meta.MetaDescription.Reduce(20), Value = ProductFields.MetaDescription.ConvertIntString()
                    });
                }

                if ((ProductFields)item == ProductFields.Photos)
                {
                    ddlProduct.Items.Add(new ListItem {
                        Text = PhotoService.PhotoToString(product.ProductPhotos, columSeparator, propertySeparator), Value = ProductFields.Photos.ConvertIntString()
                    });
                }

                if ((ProductFields)item == ProductFields.Videos)
                {
                    ddlProduct.Items.Add(new ListItem {
                        Text = ProductVideoService.VideoToString(product.ProductVideos, columSeparator).Reduce(20).HtmlEncode(), Value = ProductFields.Videos.ConvertIntString()
                    });
                }

                if ((ProductFields)item == ProductFields.Markers)
                {
                    ddlProduct.Items.Add(new ListItem {
                        Text = ProductService.MarkersToString(product, columSeparator), Value = ProductFields.Markers.ConvertIntString()
                    });
                }

                if ((ProductFields)item == ProductFields.Properties)
                {
                    ddlProduct.Items.Add(new ListItem {
                        Text = PropertyService.PropertiesToString(product.ProductPropertyValues, columSeparator, propertySeparator).HtmlEncode(), Value = ProductFields.Properties.ConvertIntString()
                    });
                }

                if ((ProductFields)item == ProductFields.Producer)
                {
                    ddlProduct.Items.Add(new ListItem {
                        Text = BrandService.BrandToString(product.BrandId), Value = ProductFields.Producer.ConvertIntString()
                    });
                }

                if ((ProductFields)item == ProductFields.OrderByRequest)
                {
                    ddlProduct.Items.Add(new ListItem {
                        Text = product.AllowPreOrder ? "+" : "-", Value = ProductFields.OrderByRequest.ConvertIntString()
                    });
                }

                if ((ProductFields)item == ProductFields.SalesNotes)
                {
                    ddlProduct.Items.Add(new ListItem {
                        Text = product.SalesNote, Value = ProductFields.SalesNotes.ConvertIntString()
                    });
                }

                if ((ProductFields)item == ProductFields.Related)
                {
                    ddlProduct.Items.Add(new ListItem(ProductService.LinkedProductToString(product.ProductId, RelatedType.Related, columSeparator), ProductFields.Related.ConvertIntString()));
                }

                if ((ProductFields)item == ProductFields.Alternative)
                {
                    ddlProduct.Items.Add(new ListItem(ProductService.LinkedProductToString(product.ProductId, RelatedType.Alternative, columSeparator), ProductFields.Alternative.ConvertIntString()));
                }

                if ((ProductFields)item == ProductFields.CustomOption)
                {
                    ddlProduct.Items.Add(new ListItem(CustomOptionsService.CustomOptionsToString(CustomOptionsService.GetCustomOptionsByProductId(product.ProductId)), ProductFields.CustomOption.ConvertIntString()));
                }

                if ((ProductFields)item == ProductFields.Gtin)
                {
                    ddlProduct.Items.Add(new ListItem(product.Gtin, ProductFields.Gtin.ConvertIntString()));
                }

                if ((ProductFields)item == ProductFields.GoogleProductCategory)
                {
                    ddlProduct.Items.Add(new ListItem(product.GoogleProductCategory, ProductFields.GoogleProductCategory.ConvertIntString()));
                }

                if ((ProductFields)item == ProductFields.Adult)
                {
                    ddlProduct.Items.Add(new ListItem {
                        Text = product.Adult ? "+" : "-", Value = ProductFields.Adult.ConvertIntString()
                    });
                }

                if ((ProductFields)item == ProductFields.ManufacturerWarranty)
                {
                    ddlProduct.Items.Add(new ListItem {
                        Text = product.ManufacturerWarranty ? "+" : "-", Value = ProductFields.ManufacturerWarranty.ConvertIntString()
                    });
                }
            }
        }