Exemplo n.º 1
0
    private void SetUpRootDepartmentDropDown()
    {
        uxRootDepartmentDrop.Items.Clear();

        Culture            culture            = DataAccessContext.CultureRepository.GetOne(LanguageID);
        IList <Department> rootDepartmentList =
            DataAccessContext.DepartmentRepository.GetRootDepartment(culture, "DepartmentID", BoolFilter.ShowAll);

        if (rootDepartmentList.Count > 0)
        {
            foreach (Department rootDepartment in rootDepartmentList)
            {
                uxRootDepartmentDrop.Items.Add(new ListItem(rootDepartment.Name, rootDepartment.DepartmentID));
            }
            uxRootDepartmentDrop.SelectedValue = DataAccessContext.Configurations.GetValueNoThrow("RootDepartment", CurrentStore);
        }

        else
        {
            if (KeyUtilities.IsMultistoreLicense())
            {
                uxRootDepartmentDrop.Items.Add(new ListItem("None", "0"));
            }
            else
            {
                uxRootDepartmentDrop.Items.Add(new ListItem("None", "1"));
            }

            uxRootDepartmentDrop.Enabled = false;
        }
    }
Exemplo n.º 2
0
    private void PopulateControl()
    {
        uxRootCategoryDrop.Items.Clear();
        IList <Category> rootCategoryList =
            DataAccessContext.CategoryRepository.GetRootCategory(uxLanguageControl.CurrentCulture, "CategoryID", BoolFilter.ShowAll);

        foreach (Category rootCategory in rootCategoryList)
        {
            uxRootCategoryDrop.Items.Add(new ListItem(rootCategory.Name, rootCategory.CategoryID));
        }

        uxCategoryDrop.Items.Clear();
        uxCategoryDrop.Items.Add(new ListItem("Root", uxRootCategoryDrop.SelectedValue, true));

        IList <Category> categoryList = DataAccessContext.CategoryRepository.GetByRootIDNotLeaf(
            uxLanguageControl.CurrentCulture, uxRootCategoryDrop.SelectedValue, "SortOrder", BoolFilter.ShowAll);

        for (int i = 0; i < categoryList.Count; i++)
        {
            uxCategoryDrop.Items.Add(new ListItem(
                                         categoryList[i].CreateFullCategoryPath() + " (" + categoryList[i].CategoryID + ")",
                                         categoryList[i].CategoryID));
        }

        if (!KeyUtilities.IsMultistoreLicense())
        {
            uxRootCategoryFilterPanel.Visible = false;
        }

        PopulateListControls("SortOrder");
    }
Exemplo n.º 3
0
    private Blog SetUpBlog(Blog blog)
    {
        blog.BlogTitle       = uxBlogTitleText.Text;
        blog.ShortContent    = uxShortContentText.Text;
        blog.BlogContent     = uxBlogContentText.Text;
        blog.MetaTitle       = uxBlogMetaTitleText.Text;
        blog.MetaKeyword     = uxBlogMetaKeywordText.Text;
        blog.MetaDescription = uxBlogMetaDescriptionText.Text;
        blog.Tags            = UpdateTag(uxBlogTagsText.Text.Trim());
        blog.IsEnabled       = uxIsEnabledCheck.Checked;
        blog.CreateDate      = uxCreateDateCalendarPopup.SelectedDate;
        blog.ImageFile       = uxImageText.Text;
        if (KeyUtilities.IsMultistoreLicense())
        {
            blog.StoreIDs = uxMultiStoreList.ConvertToStoreIDs();
        }
        else
        {
            blog.StoreIDs.Clear();
            blog.StoreIDs.Add(new StoreRetriever().GetCurrentStoreID());
        }
        blog.BlogCategoryIDs = uxBlogCategoryList.ConvertToBlogCategoryIDs();

        return(blog);
    }
Exemplo n.º 4
0
    protected void uxAddButton_Click(object sender, EventArgs e)
    {
        try
        {
            if (Page.IsValid)
            {
                if (uxMultiStoreList.ConvertToStoreIDs().Length > 0 || !KeyUtilities.IsMultistoreLicense())
                {
                    Blog blog = new Blog();
                    blog.Publisher = Membership.GetUser().UserName;
                    blog           = SetUpBlog(blog);
                    blog           = DataAccessContext.BlogRepository.Save(blog);


                    uxMessage.DisplayMessage(Resources.BlogMessage.AddSuccess);

                    ClearInputField();
                }
                else
                {
                    uxMessage.DisplayError(Resources.BlogMessage.ErrorStoreEmpty);
                    return;
                }
            }
        }
        catch (Exception ex)
        {
            uxMessage.DisplayException(ex);
        }
    }
Exemplo n.º 5
0
    protected void uxGridNewsletter_RowUpdating(object sender, GridViewUpdateEventArgs e)
    {
        try
        {
            string email = ((TextBox)uxGridNewsletter.Rows[e.RowIndex].FindControl("uxEmailText")).Text;
            string storeID;
            if (KeyUtilities.IsMultistoreLicense())
            {
                storeID = ((Admin_Components_StoreDropDownList)uxGridNewsletter.Rows[e.RowIndex].FindControl("uxStoreList")).CurrentSelected;
            }
            else
            {
                storeID = Store.RegularStoreID;
            }

            RegisterEmailUpdate(email, EmailOld, storeID, StoreIDOld);
            CancelGrid();
        }
        catch (Exception ex)
        {
            if (ex.InnerException is DuplicatedPrimaryKeyException)
            {
                uxMessage.DisplayError(Resources.NewsletterManager.UpdateErrorDuplicated);
            }
            else
            {
                uxMessage.DisplayException(ex);
            }
        }
        finally
        {
            // Avoid calling Update() automatically by GridView
            CancelGrid();
        }
    }
Exemplo n.º 6
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!MainContext.IsPostBack)
        {
            SetupDisplayBox();
        }

        if (KeyUtilities.IsMultistoreLicense())
        {
            uxStoreViewLabel.Visible = true;
            uxStoreList.Visible      = true;
        }

        uxWarningPanel.Style["display"] = "none";
        VulnerableFiles vulnerable = new VulnerableFiles();

        if (vulnerable.Existed)
        {
            uxSecurityWarningLink.Visible = true;
            uxSecurityWarningLink.Attributes.Add("onclick", String.Format("$('#{0}').toggle('slow'); return false;", uxWarningPanel.ClientID));

            RecoveryPageValid();
            uxMessageLabel.Text = message;//document.getElementById('{0}').className='mgl30p';
        }

        uxTabContainerReport.ActiveTabIndex = 0;
        uxTabularView.StoreID = StoreID;
        uxGraphicView.StoreID = StoreID;
        RefreshGrid();
    }
Exemplo n.º 7
0
    protected void uxUpdateButton_Click(object sender, EventArgs e)
    {
        try
        {
            if (Page.IsValid)
            {
                if (uxMultiStoreList.ConvertToStoreIDs().Length > 0 || !KeyUtilities.IsMultistoreLicense())
                {
                    Blog blog = DataAccessContext.BlogRepository.GetOne(CurrentID);
                    blog = SetUpBlog(blog);
                    blog = DataAccessContext.BlogRepository.Save(blog);

                    uxMessage.DisplayMessage(Resources.BlogMessage.UpdateSuccess);
                    PopulateControls();
                }
                else
                {
                    uxMessage.DisplayError(Resources.BlogMessage.ErrorStoreEmpty);
                    return;
                }
            }
        }
        catch (Exception ex)
        {
            uxMessage.DisplayException(ex);
        }
    }
    private void PopulateControl()
    {
        uxPromotionGroupDrop.Items.Clear();
        IList <PromotionGroup> promotionGroupList = DataAccessContextDeluxe.PromotionGroupRepository.GetAllWithoutSubGroup(
            uxLanguageControl.CurrentCulture, "");

        foreach (PromotionGroup promotionGroup in promotionGroupList)
        {
            uxPromotionGroupDrop.Items.Add(new ListItem(promotionGroup.Name, promotionGroup.PromotionGroupID));
        }

        uxPromotionSubGroupDrop.Items.Clear();

        IList <PromotionGroupSubGroup> promotionGroupSubGroupList = DataAccessContextDeluxe.PromotionGroupRepository.GetPromotionGroupSubGroup(
            uxPromotionGroupDrop.SelectedValue, "SortOrder");

        for (int i = 0; i < promotionGroupSubGroupList.Count; i++)
        {
            ListItem listItem = new ListItem(
                DataAccessContextDeluxe.PromotionSubGroupRepository.GetOne(promotionGroupSubGroupList[i].PromotionSubGroupID).Name + " (" + promotionGroupSubGroupList[i].PromotionSubGroupID + ")",
                promotionGroupSubGroupList[i].PromotionSubGroupID);

            uxPromotionSubGroupDrop.Items.Add(listItem);
        }

        if (!KeyUtilities.IsMultistoreLicense())
        {
            uxPromotionGroupFilterPanel.Visible = false;
        }

        PopulateListControls("SortOrder");
    }
Exemplo n.º 9
0
    protected void PopulateStoreList()
    {
        IList <Store> storeList = DataAccessContext.StoreRepository.GetAll("StoreID");

        uxStoreGrid.DataSource = storeList;
        uxStoreGrid.DataBind();

        if (!KeyUtilities.IsMultistoreLicense())
        {
            uxStoreListDiv.Visible = false;
        }

        IList <PaymentOptionStore> poStoreList = DataAccessContext.PaymentOptionRepository.GetAllPaymentOptionStoreByName(PaymentName);

        if (poStoreList == null)
        {
            return;
        }
        foreach (PaymentOptionStore poStore in poStoreList)
        {
            for (int i = 0; i < uxStoreGrid.Rows.Count; i++)
            {
                string      rowStoreID = uxStoreGrid.DataKeys[i].Value.ToString();
                GridViewRow row        = uxStoreGrid.Rows[i];
                CheckBox    checkbox   = GetUseOptionCheck(row);
                if (poStore.StoreID == rowStoreID)
                {
                    checkbox.Checked = poStore.IsEnabled;
                }
            }
        }
    }
Exemplo n.º 10
0
    protected void Page_Load(object sender, EventArgs e)
    {
        uxLanguageControl.BubbleEvent += new EventHandler(Language_RefreshHandler);

        uxProductInfo.CurrentCulture       = uxLanguageControl.CurrentCulture;
        uxDepartmentInfo.CurrentCulture    = uxLanguageControl.CurrentCulture;
        uxProductSeo.CurrentCulture        = uxLanguageControl.CurrentCulture;
        uxProductSeo.StoreID               = uxStoreList.CurrentSelected;
        uxProductAttributes.CurrentCulture = uxLanguageControl.CurrentCulture;
        uxProductAttributes.SetEditMode(IsEditMode());

        uxProductAttributes.PopulateShippingCostControl();
        uxProductAttributes.PopulateSpecificationItemControls();

        if (!MainContext.IsPostBack)
        {
            if (!KeyUtilities.IsMultistoreLicense())
            {
                uxStoreList.Visible      = false;
                uxStoreViewLabel.Visible = false;
            }
            uxProductAttributes.InitTaxClassDrop();

            uxProductAttributes.InitDiscountDrop();
            PopulateLink();
            uxProductAttributes.PopulateDropdown();
            uxProductSubscription.InitDropDown();
        }
        uxTabContainer.ActiveTabIndex = TabId;
    }
Exemplo n.º 11
0
    protected void Page_Load(object sender, EventArgs e)
    {
        uxLanguageControl.BubbleEvent += new EventHandler(Details_RefreshHandler);

        if (!MainContext.IsPostBack)
        {
            uxUpload.PathDestination           = _pathNews;
            uxUpload.ReturnTextControlClientID = uxFileImageText.ClientID;
            InsertStoreInDropDownList();
        }

        if (AdminConfig.CurrentTestMode == AdminConfig.TestMode.Normal)
        {
            uxDateText.Visible = false;
        }
        else
        {
            uxDateText.Visible = true;
        }

        if (!KeyUtilities.IsMultistoreLicense())
        {
            uxStorePanel.Visible = false;
        }
    }
Exemplo n.º 12
0
    private void PopulateControl()
    {
        uxRootDepartmentDrop.Items.Clear();
        IList <Department> rootDepartmentList =
            DataAccessContext.DepartmentRepository.GetRootDepartment(uxLanguageControl.CurrentCulture, "DepartmentID", BoolFilter.ShowAll);

        foreach (Department rootDepartment in rootDepartmentList)
        {
            uxRootDepartmentDrop.Items.Add(new ListItem(rootDepartment.Name, rootDepartment.DepartmentID));
        }

        uxDepartmentDrop.Items.Clear();
        uxDepartmentDrop.Items.Add(new ListItem("Root", uxRootDepartmentDrop.SelectedValue, true));

        IList <Department> departmentList = DataAccessContext.DepartmentRepository.GetByRootIDNotLeaf(
            uxLanguageControl.CurrentCulture, uxRootDepartmentDrop.SelectedValue, "SortOrder", BoolFilter.ShowAll);

        for (int i = 0; i < departmentList.Count; i++)
        {
            uxDepartmentDrop.Items.Add(new ListItem(
                                           departmentList[i].CreateFullDepartmentPath() + " (" + departmentList[i].DepartmentID + ")",
                                           departmentList[i].DepartmentID));
        }

        if (!KeyUtilities.IsMultistoreLicense())
        {
            uxRootDepartmentFilterPanel.Visible = false;
        }

        PopulateListControls("SortOrder");
    }
Exemplo n.º 13
0
 protected void Page_Load(object sender, EventArgs e)
 {
     if (!KeyUtilities.IsMultistoreLicense())
     {
         uxStoreFilterDrop.Visible = false;
     }
     SetUpGridSupportControls();
 }
Exemplo n.º 14
0
 protected void Page_Load(object sender, EventArgs e)
 {
     if (!KeyUtilities.IsMultistoreLicense())
     {
         uxCanonicalizationEnabledTR.Visible = false;
         uxCanonicalizationURLTR.Visible     = false;
     }
 }
Exemplo n.º 15
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!KeyUtilities.IsMultistoreLicense())
        {
            uxGridNewsletter.Columns[3].Visible = false;
            uxStoreListDiv.Visible = false;
        }

        SetUpGridSupportControls();
    }
Exemplo n.º 16
0
    protected void Page_PreRender(object sender, EventArgs e)
    {
        PopulateControls();

        if (KeyUtilities.IsMultistoreLicense())
        {
            uxBreadcrumbLabel.Text = DataAccessContext.CategoryRepository.GetOne(uxLanguageControl.CurrentCulture, RootCategoryID).Name
                                     + " (" + RootCategoryID + ")";
        }
    }
Exemplo n.º 17
0
 public Store GetCurrentStore()
 {
     if (!KeyUtilities.IsMultistoreLicense())
     {
         return(DataAccessContext.StoreRepository.GetOne(Store.RegularStoreID));
     }
     else
     {
         return(DataAccessContext.StoreRepository.GetOne(uxStoreFilterDrop.SelectedValue));
     }
 }
Exemplo n.º 18
0
 private void SetUpMenuLocationHeader()
 {
     if (KeyUtilities.IsMultistoreLicense())
     {
         uxBreadcrumbLabel.Text = "Store: " + CurrentStore.StoreName + " (" + CurrentStore.StoreID + "), Position: " + Position + " Menu";
     }
     else
     {
         uxBreadcrumbLabel.Text = Position + " Menu";
     }
 }
Exemplo n.º 19
0
    private void LoadStoreGrid()
    {
        IList <Store> storeList = DataAccessContext.StoreRepository.GetAll("StoreID");

        uxStoreGrid.DataSource = storeList;
        uxStoreGrid.DataBind();

        if (!KeyUtilities.IsMultistoreLicense())
        {
            uxStoreListDiv.Visible = false;
        }
    }
Exemplo n.º 20
0
    private void SetUpSearchFilter()
    {
        IList <TableSchemaItem> list = DataAccessContext.NewsLetterRepository.GetTableSchema();

        if (KeyUtilities.IsMultistoreLicense())
        {
            uxSearchFilter.SetUpSchema(list);
        }
        else
        {
            uxSearchFilter.SetUpSchema(list, "StoreName");
        }
    }
Exemplo n.º 21
0
    protected void Page_PreRender(object sender, EventArgs e)
    {
        if (!MainContext.IsPostBack)
        {
            PopulateStoreFilterDropDown();
            PopulateControls();
        }

        if (!KeyUtilities.IsMultistoreLicense())
        {
            uxStoreFilterPanel.Visible = false;
        }
    }
Exemplo n.º 22
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!MainContext.IsPostBack)
        {
            RefreshDropDownList();
            LoadDefaultFromQuery();
        }

        if (!KeyUtilities.IsMultistoreLicense())
        {
            uxStorePanel.Visible = false;
        }
    }
Exemplo n.º 23
0
 protected void uxGridNewsletter_RowEditing(object sender, GridViewEditEventArgs e)
 {
     uxGridNewsletter.EditIndex = e.NewEditIndex;
     RefreshGrid();
     EmailOld = ((TextBox)uxGridNewsletter.Rows[e.NewEditIndex].FindControl("uxEmailText")).Text;
     if (KeyUtilities.IsMultistoreLicense())
     {
         StoreIDOld = ((Admin_Components_StoreDropDownList)uxGridNewsletter.Rows[e.NewEditIndex].FindControl("uxStoreList")).CurrentSelected;
     }
     else
     {
         StoreIDOld = Store.RegularStoreID;
     }
 }
Exemplo n.º 24
0
    private string GenerateDetail(Product product, string categoryID, object stock)
    {
        string sku, manufacturer, manufacturerPartnambers, name, categoryName, productID,
               urlName, shortDescription, price, upc, shippingCost, weight, medium, msrp, imageUrl;
        ProductPrice productPrice = product.GetProductPrice(CurrentStore.StoreID);

        string storefrontUrl;

        if (KeyUtilities.IsMultistoreLicense())
        {
            storefrontUrl = "http://" + CurrentStore.UrlName;
        }
        else
        {
            storefrontUrl = UrlPath.StorefrontUrl;
        }

        productID               = product.ProductID;
        sku                     = product.Sku;
        name                    = product.Name;
        shortDescription        = product.ShortDescription;
        price                   = _export.GetPrice(productPrice.Price);
        urlName                 = _export.GetProductUrl(productID, product.UrlName, storefrontUrl);
        categoryName            = _export.GetCategoryName(categoryID);
        medium                  = uxDataFeedDetails.GetMedium();
        upc                     = product.Upc;
        manufacturer            = product.Manufacturer;
        manufacturerPartnambers = product.ManufacturerPartNumber;
        msrp                    = _export.FormatNumber(productPrice.RetailPrice);
        shippingCost            = _export.GetShippingCost(product.FixedShippingCost, productID,
                                                          uxDataFeedDetails.GetShippingMethod(), productPrice.Price);
        weight   = _export.FormatNumber(product.Weight);
        imageUrl = _export.GetImageUrl(product, storefrontUrl);

        return(sku + "\t" +
               name + "\t" +
               shortDescription + "\t" +
               price + "\t" +
               urlName + "\t" +
               categoryName + "\t" +
               medium + "\t" +
               imageUrl + "\t" +
               upc + "\t" +
               manufacturer + "\t" +
               manufacturerPartnambers + "\t" +
               msrp + "\t" +
               (_export.GetStockAvailable(stock, productID, CurrentStore.StoreID) ? "N" : "Y") + "\t" +
               shippingCost + "\t" +
               weight);
    }
Exemplo n.º 25
0
    private void Generate()
    {
        string    saveFileName         = "Export/" + (_fileName + _fileExtension);
        string    filePhysicalPathName = Server.MapPath("../" + saveFileName);
        XmlWriter xmlWriter            = CreateXmlWriter(filePhysicalPathName);

        GoogleXmlSitemaps sitemap = new GoogleXmlSitemaps();

        sitemap.Changefreq = DataAccessContext.Configurations.GetValue("GoogleSitemapsChangeFrequency", CurrentStore);
        sitemap.Priority   = DataAccessContext.Configurations.GetValue("GoogleSitemapsURLPriority", CurrentStore);

        if (!KeyUtilities.IsMultistoreLicense())
        {
            sitemap.StorefrontUrl = UrlPath.StorefrontUrl;
        }
        else
        {
            sitemap.StorefrontUrl = "http://" + CurrentStore.UrlName + "/";
        }

        string message = String.Empty;

        if (DataAccessContext.Configurations.GetBoolValue("GoogleSitemapsIsIncludesCategories", CurrentStore))
        {
            AddCategories(sitemap);
        }

        if (DataAccessContext.Configurations.GetBoolValue("GoogleSitemapsIsIncludesProducts", CurrentStore))
        {
            AddProducts(sitemap);
        }

        if (DataAccessContext.Configurations.GetBoolValue("GoogleSitemapsIsIncludesContents", CurrentStore))
        {
            AddContentPages(sitemap);
        }

        if (sitemap.GenerateSitemap(xmlWriter, out message))
        {
            uxFileNameLink.Text        = Path.GetFileName(saveFileName);
            uxFileNameLink.NavigateUrl = "../DownloadFile.aspx?FilePath=../" + saveFileName;
            uxFileNameLink.Target      = "_blank";

            uxMessage.DisplayMessage(Resources.GoogleXMLSitemapsMessages.CreateSuccess);
        }
        else
        {
            uxMessage.DisplayMessage(message);
        }
    }
Exemplo n.º 26
0
    protected void Page_Load(object sender, EventArgs e)
    {
        SetUpGridSupportControls();

        if (!KeyUtilities.IsMultistoreLicense())
        {
            IList <Department> rootDept = DataAccessContext.DepartmentRepository.GetRootDepartment(uxLanguageControl.CurrentCulture, "DepartmentID", BoolFilter.ShowAll);
            if (rootDept.Count == 0)
            {
                Department dept = new Department(uxLanguageControl.CurrentCulture);
                dept.Name = "RootDepartment";
                DataAccessContext.DepartmentRepository.Save(dept);
            }
        }
    }
Exemplo n.º 27
0
    protected void Page_Load(object sender, EventArgs e)
    {
        uxMessageLabel.Text = String.Empty;

        if (!Page.IsPostBack)
        {
            InsertStoreInDropDownList();
            PopulateControls();
        }

        if (!KeyUtilities.IsMultistoreLicense())
        {
            uxStorePanel.Visible = false;
        }
    }
Exemplo n.º 28
0
    private string GenerateDetail(Product product, string categoryID, object stock)
    {
        string sku, manufacturer, name, categoryName, productID,
               urlName, shortDescription, price, upc, shippingCost, weight, imageUrl;

        string storefrontUrl;

        if (KeyUtilities.IsMultistoreLicense())
        {
            storefrontUrl = "http://" + CurrentStore.UrlName;
        }
        else
        {
            storefrontUrl = UrlPath.StorefrontUrl;
        }

        productID        = product.ProductID;
        categoryName     = _export.GetCategoryName(categoryID);
        manufacturer     = product.Manufacturer;
        name             = _export.ReplaceNonAlphaAndDigit(product.Name);
        shortDescription = product.ShortDescription;
        urlName          = _export.GetProductUrl(productID, product.UrlName, storefrontUrl);
        sku          = product.Sku;
        weight       = _export.FormatNumber(product.Weight);
        shippingCost = _export.GetShippingCost(product.FixedShippingCost, productID,
                                               uxDataFeedDetails.GetShippingMethod(),
                                               product.GetProductPrice(CurrentStore.StoreID).Price);
        upc      = product.Upc;
        price    = _export.GetPrice(product.GetProductPrice(CurrentStore.StoreID).Price);
        imageUrl = _export.GetImageUrl(product, storefrontUrl);

        return(categoryName + "\t" +
               manufacturer + "\t" +
               name + "\t" +
               shortDescription + "\t" +
               urlName + "\t" +
               //Server.UrlEncode( _export.GetImageUrl( productID ) ) + "\t" +
               imageUrl + "\t" +
               sku + "\t" +
               string.Empty + "\t" +
               string.Empty + "\t" +
               weight + "\t" +
               shippingCost + "\t" +
               string.Empty + "\t" +
               string.Empty + "\t" +
               upc + "\t" +
               price + "\t");
    }
Exemplo n.º 29
0
    protected void uxAddEmailButton_Click(object sender, EventArgs e)
    {
        if (KeyUtilities.IsMultistoreLicense())
        {
            RegisterEmail(uxEmailText.Text, uxStoreList.CurrentSelected);
        }
        else
        {
            RegisterEmail(uxEmailText.Text, Store.RegularStoreID);
        }

        CancelGrid();

        uxAddButton.Visible         = true;
        uxAddEmailUserPanel.Visible = false;
    }
Exemplo n.º 30
0
    private string GenerateDetail(Product product, string categoryID, object stock)
    {
        string sku, manufacturer, manufacturerPartnambers, name, categoryName, productID,
               urlName, shortDescription, price, productCondition, upc, shippingCost, weight, imageUrl;
        ProductPrice productPrice = product.GetProductPrice(CurrentStore.StoreID);

        string storefrontUrl;

        if (KeyUtilities.IsMultistoreLicense())
        {
            storefrontUrl = "http://" + CurrentStore.UrlName;
        }
        else
        {
            storefrontUrl = UrlPath.StorefrontUrl;
        }

        sku                     = _export.ReplaceString(product.Sku);
        manufacturer            = _export.ReplaceString(product.Manufacturer);
        manufacturerPartnambers = _export.ReplaceString(product.ManufacturerPartNumber);
        name                    = _export.ReplaceString(_export.ReplaceNonAlphaAndDigit(product.Name));
        categoryName            = _export.ReplaceString(_export.GetCategoryName(categoryID));
        productID               = product.ProductID;
        urlName                 = _export.ReplaceString(_export.GetProductUrl(productID, product.UrlName, storefrontUrl));
        shortDescription        = _export.ReplaceString(product.ShortDescription);
        price                   = _export.ReplaceString(_export.GetPrice(productPrice.Price));
        productCondition        = _export.ReplaceString(GetProductCondition());
        upc                     = _export.ReplaceString(product.Upc);
        shippingCost            = _export.ReplaceString(_export.GetShippingCost(product.FixedShippingCost, productID,
                                                                                uxDataFeedDetails.GetShippingMethod(), productPrice.Price));
        weight   = _export.ReplaceString(_export.FormatNumber(product.Weight));
        imageUrl = _export.ReplaceString(_export.GetImageUrl(product, storefrontUrl));

        return(sku + "," +
               manufacturer + "," +
               manufacturerPartnambers + "," +
               name + "," +
               categoryName + "," +
               urlName + "," +
               imageUrl + "," +
               shortDescription + "," +
               price + "," +
               productCondition + "," +
               _export.ReplaceString(_export.GetStockAvailable(stock, productID, CurrentStore.StoreID) ? "No" : "Yes") + "," +
               upc + "," +
               shippingCost + "," + weight);
    }