protected void Page_Load(object sender, EventArgs e)
    {
        lblAvialable.Text = GetString("com.discountlevel.departmentsavailable");
        mDiscountLevelId  = QueryHelper.GetInteger("discountLevelId", 0);
        editedSiteId      = ConfiguredSiteID;

        if (mDiscountLevelId > 0)
        {
            mDiscountLevelInfoObj = DiscountLevelInfoProvider.GetDiscountLevelInfo(mDiscountLevelId);
            EditedObject          = mDiscountLevelInfoObj;

            if (mDiscountLevelInfoObj != null)
            {
                editedSiteId = mDiscountLevelInfoObj.DiscountLevelSiteID;
                CheckEditedObjectSiteID(editedSiteId);

                // Get the active departments
                DataSet ds = DepartmentInfoProvider.GetDiscountLevelDepartments(mDiscountLevelId);
                if (!DataHelper.DataSourceIsEmpty(ds))
                {
                    mCurrentValues = TextHelper.Join(";", SystemDataHelper.GetStringValues(ds.Tables[0], "DepartmentID"));
                }

                if (!RequestHelper.IsPostBack())
                {
                    uniSelector.Value = mCurrentValues;
                }
            }
        }

        uniSelector.IconPath            = GetObjectIconUrl("ecommerce.department", "object.png");
        uniSelector.OnSelectionChanged += uniSelector_OnSelectionChanged;
        uniSelector.WhereCondition      = GetWhereCondition();
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        lblAvialable.Text = GetString("com.discountlevel.departmentsavailable");
        mDiscountLevelId = QueryHelper.GetInteger("discountLevelId", 0);
        editedSiteId = ConfiguredSiteID;

        if (mDiscountLevelId > 0)
        {
            mDiscountLevelInfoObj = DiscountLevelInfoProvider.GetDiscountLevelInfo(mDiscountLevelId);
            EditedObject = mDiscountLevelInfoObj;

            if (mDiscountLevelInfoObj != null)
            {
                editedSiteId = mDiscountLevelInfoObj.DiscountLevelSiteID;
                CheckEditedObjectSiteID(editedSiteId);

                // Get the active departments
                DataSet ds = DepartmentInfoProvider.GetDiscountLevelDepartments(mDiscountLevelId);
                if (!DataHelper.DataSourceIsEmpty(ds))
                {
                    mCurrentValues = TextHelper.Join(";", SystemDataHelper.GetStringValues(ds.Tables[0], "DepartmentID"));
                }

                if (!RequestHelper.IsPostBack())
                {
                    uniSelector.Value = mCurrentValues;
                }
            }
        }

        uniSelector.IconPath = GetObjectIconUrl("ecommerce.department", "object.png");
        uniSelector.OnSelectionChanged += uniSelector_OnSelectionChanged;
        uniSelector.WhereCondition = GetWhereCondition();
    }
Exemple #3
0
 /// <summary>
 /// Load data of editing discountLevel.
 /// </summary>
 /// <param name="discountlLevelObj">DiscountLevel object</param>
 protected void LoadData(DiscountLevelInfo discountLevelObj)
 {
     dtPickerDiscountLevelValidFrom.SelectedDateTime = discountLevelObj.DiscountLevelValidFrom;
     chkDiscountLevelEnabled.Checked = discountLevelObj.DiscountLevelEnabled;
     txtDiscountLevelName.Text       = discountLevelObj.DiscountLevelName;
     txtDiscountLevelValue.Text      = Convert.ToString(discountLevelObj.DiscountLevelValue);
     dtPickerDiscountLevelValidTo.SelectedDateTime = discountLevelObj.DiscountLevelValidTo;
     txtDiscountLevelDisplayName.Text = discountLevelObj.DiscountLevelDisplayName;
 }
Exemple #4
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!CMSContext.CurrentUser.IsAuthorizedPerUIElement("CMS.Ecommerce", "DiscountLevels.General"))
        {
            RedirectToCMSDeskUIElementAccessDenied("CMS.Ecommerce", "DiscountLevels.General");
        }

        // Control initializations
        lblDiscountLevelValidFrom.Text = GetString("DiscountLevel_Edit.DiscountLevelValidFromLabel");
        lblDiscountLevelValue.Text     = GetString("DiscountLevel_Edit.DiscountLevelValueLabel");
        lblDiscountLevelValidTo.Text   = GetString("DiscountLevel_Edit.DiscountLevelValidToLabel");
        // Init Validators
        rfvDiscountLevelDisplayName.ErrorMessage = GetString("DiscountLevel_Edit.rfvDiscountLevelDisplayName.ErrorMessage");
        rfvDiscountLevelName.ErrorMessage        = GetString("DiscountLevel_Edit.rfvDiscountLevelName.ErrorMessage");
        rfvDiscountLevelValue.ErrorMessage       = GetString("DiscountLevel_Edit.rfvDiscountLevelValue.ErrorMessage");

        btnOk.Text = GetString("General.OK");
        dtPickerDiscountLevelValidFrom.SupportFolder = "~/CMSAdminControls/Calendar";
        dtPickerDiscountLevelValidTo.SupportFolder   = "~/CMSAdminControls/Calendar";

        // Get discountlLevel id from querystring
        mDiscountLevelId = QueryHelper.GetInteger("discountLevelId", 0);
        editedSiteId     = ConfiguredSiteID;

        // Edit existing
        if (mDiscountLevelId > 0)
        {
            DiscountLevelInfo discountLevelObj = DiscountLevelInfoProvider.GetDiscountLevelInfo(mDiscountLevelId);
            EditedObject = discountLevelObj;

            if (discountLevelObj != null)
            {
                editedSiteId = discountLevelObj.DiscountLevelSiteID;
                // Check if edited object belongs to configured site
                CheckEditedObjectSiteID(editedSiteId);

                // Fill editing form
                if (!RequestHelper.IsPostBack())
                {
                    LoadData(discountLevelObj);

                    // Show that the discountlLevel was created or updated successfully
                    if (QueryHelper.GetString("saved", "") == "1")
                    {
                        lblInfo.Visible = true;
                        lblInfo.Text    = GetString("General.ChangesSaved");
                    }
                }
            }
        }
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        string currentDiscount = "";

        // Get discountlLevel id from querystring
        mDiscountLevelId = QueryHelper.GetInteger("discountLevelId", 0);
        if (mDiscountLevelId > 0)
        {
            DiscountLevelInfo di = DiscountLevelInfoProvider.GetDiscountLevelInfo(mDiscountLevelId);

            if (di != null)
            {
                editedSiteId = di.DiscountLevelSiteID;
                // Check if edited object belongs to configured site
                CheckEditedObjectSiteID(editedSiteId);

                currentDiscount = ResHelper.LocalizeString(di.DiscountLevelDisplayName);
            }
        }

        CMSMasterPage master = (CMSMasterPage)this.CurrentMaster;

        int hideBreadcrumbs = QueryHelper.GetInteger("hidebreadcrumbs", 0);

        if (hideBreadcrumbs == 0)
        {
            // Initializes page title breadcrumbs control
            string[,] breadcrumbs    = new string[2, 3];
            breadcrumbs[0, 0]        = GetString("DiscountLevel_Edit.ItemListLink");
            breadcrumbs[0, 1]        = "~/CMSModules/Ecommerce/Pages/Tools/DiscountLevels/DiscountLevel_List.aspx?siteId=" + SiteID;
            breadcrumbs[0, 2]        = "ecommerceContent";
            breadcrumbs[1, 0]        = FormatBreadcrumbObjectName(currentDiscount, editedSiteId);
            breadcrumbs[1, 1]        = "";
            breadcrumbs[1, 2]        = "";
            master.Title.Breadcrumbs = breadcrumbs;
        }

        // Page title
        master.Title.HelpTopicName = "new_levelgeneral_tab";
        master.Title.HelpName      = "helpTopic";

        // Tabs
        master.Tabs.ModuleName    = "CMS.Ecommerce";
        master.Tabs.ElementName   = "DiscountLevels";
        master.Tabs.UrlTarget     = "DiscountLevelContent";
        master.Tabs.OnTabCreated += new UITabs.TabCreatedEventHandler(Tabs_OnTabCreated);

        // Set master title
        master.Title.TitleText  = GetString("com.discountlevel.edit");
        master.Title.TitleImage = GetImageUrl("Objects/Ecommerce_DiscountLevel/object.png");
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        // Control initializations
        lblDiscountLevelValidFrom.Text = GetString("DiscountLevel_Edit.DiscountLevelValidFromLabel");
        lblDiscountLevelValue.Text     = GetString("DiscountLevel_Edit.DiscountLevelValueLabel");
        lblDiscountLevelValidTo.Text   = GetString("DiscountLevel_Edit.DiscountLevelValidToLabel");
        // Init Validators
        rfvDiscountLevelDisplayName.ErrorMessage = GetString("DiscountLevel_Edit.rfvDiscountLevelDisplayName.ErrorMessage");
        rfvDiscountLevelName.ErrorMessage        = GetString("DiscountLevel_Edit.rfvDiscountLevelName.ErrorMessage");
        rfvDiscountLevelValue.ErrorMessage       = GetString("DiscountLevel_Edit.rfvDiscountLevelValue.ErrorMessage");

        dtPickerDiscountLevelValidFrom.SupportFolder = "~/CMSAdminControls/Calendar";
        dtPickerDiscountLevelValidTo.SupportFolder   = "~/CMSAdminControls/Calendar";

        // Get discountlLevel id from querystring
        mDiscountLevelId = QueryHelper.GetInteger("discountLevelId", 0);
        editedSiteId     = ConfiguredSiteID;

        // Edit existing
        if (mDiscountLevelId > 0)
        {
            DiscountLevelInfo discountLevelObj = DiscountLevelInfoProvider.GetDiscountLevelInfo(mDiscountLevelId);
            EditedObject = discountLevelObj;

            if (discountLevelObj != null)
            {
                editedSiteId = discountLevelObj.DiscountLevelSiteID;
                // Check if edited object belongs to configured site
                CheckEditedObjectSiteID(editedSiteId);

                // Fill editing form
                if (!RequestHelper.IsPostBack())
                {
                    LoadData(discountLevelObj);

                    // Show that the discountlLevel was created or updated successfully
                    if (QueryHelper.GetString("saved", "") == "1")
                    {
                        ShowChangesSaved();
                    }
                }
            }
        }
    }
Exemple #7
0
    /// <summary>
    /// Handles the UniGrid's OnAction event.
    /// </summary>
    /// <param name="actionName">Name of item (button) that throws event</param>
    /// <param name="actionArgument">ID (value of Primary key) of corresponding data row</param>
    protected void gridElem_OnAction(string actionName, object actionArgument)
    {
        if (actionName == "edit")
        {
            URLHelper.Redirect("DiscountLevel_Edit_Frameset.aspx?discountLevelId=" + Convert.ToString(actionArgument) + "&siteId=" + SelectSite.SiteID);
        }
        else if (actionName == "delete")
        {
            int id = ValidationHelper.GetInteger(actionArgument, 0);

            DiscountLevelInfo dicountLevelInfoObj = DiscountLevelInfoProvider.GetDiscountLevelInfo(id);
            // Nothing to delete
            if (dicountLevelInfoObj == null)
            {
                return;
            }

            // Check module permissions
            if (!ECommerceContext.IsUserAuthorizedToModifyDiscountLevel(dicountLevelInfoObj))
            {
                if (dicountLevelInfoObj.IsGlobal)
                {
                    RedirectToAccessDenied("CMS.Ecommerce", "EcommerceGlobalModify");
                }
                else
                {
                    RedirectToAccessDenied("CMS.Ecommerce", "EcommerceModify OR ModifyDiscounts");
                }
            }

            // Check dependencies
            if (DiscountLevelInfoProvider.CheckDependencies(id))
            {
                //Show error message
                ShowError(GetString("Ecommerce.DeleteDisabled"));

                return;
            }

            // Delete DiscountlLevelInfo object from database
            DiscountLevelInfoProvider.DeleteDiscountLevelInfo(dicountLevelInfoObj);
        }
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        string currentDiscount = "";

        // Get discountlLevel id from querystring
        mDiscountLevelId = QueryHelper.GetInteger("discountLevelId", 0);
        if (mDiscountLevelId > 0)
        {
            DiscountLevelInfo di = DiscountLevelInfoProvider.GetDiscountLevelInfo(mDiscountLevelId);

            if (di != null)
            {
                editedSiteId = di.DiscountLevelSiteID;
                // Check if edited object belongs to configured site
                CheckEditedObjectSiteID(editedSiteId);

                currentDiscount = ResHelper.LocalizeString(di.DiscountLevelDisplayName);
            }
        }

        CMSMasterPage master = (CMSMasterPage)CurrentMaster;

        int hideBreadcrumbs = QueryHelper.GetInteger("hidebreadcrumbs", 0);

        if (hideBreadcrumbs == 0)
        {
            // Initializes page title breadcrumbs control
            string[,] breadcrumbs    = new string[2, 3];
            breadcrumbs[0, 0]        = GetString("DiscountLevel_Edit.ItemListLink");
            breadcrumbs[0, 1]        = "~/CMSModules/Ecommerce/Pages/Tools/DiscountLevels/DiscountLevel_List.aspx?siteId=" + SiteID;
            breadcrumbs[0, 2]        = "ecommerceContent";
            breadcrumbs[1, 0]        = FormatBreadcrumbObjectName(currentDiscount, editedSiteId);
            breadcrumbs[1, 1]        = "";
            breadcrumbs[1, 2]        = "";
            master.Title.Breadcrumbs = breadcrumbs;
        }

        // Tabs
        master.Tabs.OnTabCreated += Tabs_OnTabCreated;
    }
Exemple #9
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!CMSContext.CurrentUser.IsAuthorizedPerUIElement("CMS.Ecommerce", "DiscountLevels.Departments"))
        {
            RedirectToCMSDeskUIElementAccessDenied("CMS.Ecommerce", "DiscountLevels.Departments");
        }

        lblAvialable.Text = GetString("com.discountlevel.departmentsavailable");
        mDiscountLevelId  = QueryHelper.GetInteger("discountLevelId", 0);
        editedSiteId      = ConfiguredSiteID;

        if (mDiscountLevelId > 0)
        {
            mDiscountLevelInfoObj = DiscountLevelInfoProvider.GetDiscountLevelInfo(mDiscountLevelId);
            EditedObject          = mDiscountLevelInfoObj;

            if (mDiscountLevelInfoObj != null)
            {
                editedSiteId = mDiscountLevelInfoObj.DiscountLevelSiteID;
                CheckEditedObjectSiteID(editedSiteId);

                // Get the active departments
                DataSet ds = DepartmentInfoProvider.GetDiscountLevelDepartments(mDiscountLevelId);
                if (!DataHelper.DataSourceIsEmpty(ds))
                {
                    mCurrentValues = TextHelper.Join(";", SqlHelperClass.GetStringValues(ds.Tables[0], "DepartmentID"));
                }

                if (!RequestHelper.IsPostBack())
                {
                    this.uniSelector.Value = mCurrentValues;
                }
            }
        }

        this.uniSelector.IconPath            = GetObjectIconUrl("ecommerce.department", "object.png");
        this.uniSelector.OnSelectionChanged += uniSelector_OnSelectionChanged;
        this.uniSelector.WhereCondition      = GetWhereCondition();
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!CMSContext.CurrentUser.IsAuthorizedPerUIElement("CMS.Ecommerce", "DiscountLevels.Departments"))
        {
            RedirectToCMSDeskUIElementAccessDenied("CMS.Ecommerce", "DiscountLevels.Departments");
        }

        lblAvialable.Text = GetString("com.discountlevel.departmentsavailable");
        mDiscountLevelId = QueryHelper.GetInteger("discountLevelId", 0);
        editedSiteId = ConfiguredSiteID;

        if (mDiscountLevelId > 0)
        {
            mDiscountLevelInfoObj = DiscountLevelInfoProvider.GetDiscountLevelInfo(mDiscountLevelId);
            EditedObject = mDiscountLevelInfoObj;

            if (mDiscountLevelInfoObj != null)
            {
                editedSiteId = mDiscountLevelInfoObj.DiscountLevelSiteID;
                CheckEditedObjectSiteID(editedSiteId);

                // Get the active departments
                DataSet ds = DepartmentInfoProvider.GetDiscountLevelDepartments(mDiscountLevelId);
                if (!DataHelper.DataSourceIsEmpty(ds))
                {
                    mCurrentValues = TextHelper.Join(";", SqlHelperClass.GetStringValues(ds.Tables[0], "DepartmentID"));
                }

                if (!RequestHelper.IsPostBack())
                {
                    this.uniSelector.Value = mCurrentValues;
                }
            }
        }

        this.uniSelector.IconPath = GetObjectIconUrl("ecommerce.department", "object.png");
        this.uniSelector.OnSelectionChanged += uniSelector_OnSelectionChanged;
        this.uniSelector.WhereCondition = GetWhereCondition();
    }
Exemple #11
0
    /// <summary>
    /// Sets data to database.
    /// </summary>
    protected void btnOK_Click(object sender, EventArgs e)
    {
        // Check module permissions
        bool global = (editedSiteId <= 0);

        if (!ECommerceContext.IsUserAuthorizedToModifyDiscountLevel(global))
        {
            if (global)
            {
                RedirectToAccessDenied("CMS.Ecommerce", "EcommerceGlobalModify");
            }
            else
            {
                RedirectToAccessDenied("CMS.Ecommerce", "EcommerceModify OR ModifyDiscounts");
            }
        }

        string errorMessage = new Validator().NotEmpty(txtDiscountLevelDisplayName.Text.Trim(), GetString("DiscountLevel_Edit.rfvDiscountLevelDisplayName.ErrorMessage"))
                              .NotEmpty(txtDiscountLevelName.Text.Trim(), GetString("DiscountLevel_Edit.rfvDiscountLevelName.ErrorMessage"))
                              .IsCodeName(txtDiscountLevelName.Text.Trim(), GetString("General.ErrorCodeNameInIdentificatorFormat"))
                              .NotEmpty(txtDiscountLevelValue.Text.Trim(), GetString("DiscountLevel_Edit.rfvDiscountLevelValue.ErrorMessage")).Result;

        // Is discount level name in code name format?
        if (errorMessage == "")
        {
            if (!ValidationHelper.IsCodeName(txtDiscountLevelName.Text.Trim()))
            {
                errorMessage = GetString("General.ErrorCodeNameInIdentificatorFormat");
            }
        }

        // Discount value validation
        if (errorMessage == "")
        {
            if (!ValidationHelper.IsInRange(0, 100, ValidationHelper.GetDouble(this.txtDiscountLevelValue.Text.Trim(), -1)))
            {
                errorMessage = GetString("Com.Error.RelativeDiscountValue");
            }
        }

        // From/to date validation
        if (errorMessage == "")
        {
            if ((!dtPickerDiscountLevelValidTo.IsValidRange()) || (!dtPickerDiscountLevelValidFrom.IsValidRange()))
            {
                errorMessage = GetString("general.errorinvaliddatetimerange");
            }

            if ((dtPickerDiscountLevelValidFrom.SelectedDateTime != DateTime.MinValue) &&
                (dtPickerDiscountLevelValidTo.SelectedDateTime != DateTime.MinValue) &&
                (dtPickerDiscountLevelValidFrom.SelectedDateTime >= dtPickerDiscountLevelValidTo.SelectedDateTime))
            {
                errorMessage = GetString("General.DateOverlaps");
            }
        }

        if (errorMessage == "")
        {
            // Discount level code name must be unique
            DiscountLevelInfo discountLevelObj = null;
            string            siteWhere        = (ConfiguredSiteID > 0) ? " AND (DiscountLevelSiteID = " + ConfiguredSiteID + " OR DiscountLevelSiteID IS NULL)" : "";
            DataSet           ds = DiscountLevelInfoProvider.GetDiscountLevels("DiscountLevelName = '" + txtDiscountLevelName.Text.Trim().Replace("'", "''") + "'" + siteWhere, null, 1, null);
            if (!DataHelper.DataSourceIsEmpty(ds))
            {
                discountLevelObj = new DiscountLevelInfo(ds.Tables[0].Rows[0]);
            }

            if ((discountLevelObj == null) || (discountLevelObj.DiscountLevelID == mDiscountLevelId))
            {
                // Get the object
                if (discountLevelObj == null)
                {
                    discountLevelObj = DiscountLevelInfoProvider.GetDiscountLevelInfo(mDiscountLevelId);
                    if (discountLevelObj == null)
                    {
                        discountLevelObj = new DiscountLevelInfo();
                        discountLevelObj.DiscountLevelSiteID = ConfiguredSiteID;
                    }
                }

                // Set values
                discountLevelObj.DiscountLevelValidFrom   = dtPickerDiscountLevelValidFrom.SelectedDateTime;
                discountLevelObj.DiscountLevelEnabled     = chkDiscountLevelEnabled.Checked;
                discountLevelObj.DiscountLevelName        = txtDiscountLevelName.Text.Trim();
                discountLevelObj.DiscountLevelValue       = Convert.ToDouble(txtDiscountLevelValue.Text.Trim());
                discountLevelObj.DiscountLevelValidTo     = dtPickerDiscountLevelValidTo.SelectedDateTime;
                discountLevelObj.DiscountLevelDisplayName = txtDiscountLevelDisplayName.Text.Trim();

                // Save to the database
                DiscountLevelInfoProvider.SetDiscountLevelInfo(discountLevelObj);

                URLHelper.Redirect("DiscountLevel_Edit.aspx?discountLevelId=" + Convert.ToString(discountLevelObj.DiscountLevelID) + "&saved=1&siteId=" + SiteID);
            }
            else
            {
                lblError.Visible = true;
                lblError.Text    = GetString("DiscountLevel_Edit.DiscountLevelNameExists");
            }
        }
        else
        {
            lblError.Visible = true;
            lblError.Text    = errorMessage;
        }
    }
    /// <summary>
    /// Gets and bulk updates discount levels. Called when the "Get and bulk update levels" button is pressed.
    /// Expects the CreateDiscountLevel method to be run first.
    /// </summary>
    private bool GetAndBulkUpdateDiscountLevels()
    {
        // Prepare the parameters
        string where = "DiscountLevelName LIKE N'MyNewDiscountLevel%'";

        // Get the data
        DataSet levels = DiscountLevelInfoProvider.GetDiscountLevels(where, null);
        if (!DataHelper.DataSourceIsEmpty(levels))
        {
            // Loop through the individual items
            foreach (DataRow levelDr in levels.Tables[0].Rows)
            {
                // Create object from DataRow
                DiscountLevelInfo modifyLevel = new DiscountLevelInfo(levelDr);

                // Update the properties
                modifyLevel.DiscountLevelDisplayName = modifyLevel.DiscountLevelDisplayName.ToUpper();

                // Update the discount level
                DiscountLevelInfoProvider.SetDiscountLevelInfo(modifyLevel);
            }

            return true;
        }

        return false;
    }
    /// <summary>
    /// Creates discount level. Called when the "Create level" button is pressed.
    /// </summary>
    private bool CreateDiscountLevel()
    {
        // Create new discount level object
        DiscountLevelInfo newLevel = new DiscountLevelInfo();

        // Set the properties
        newLevel.DiscountLevelDisplayName = "My new discount level";
        newLevel.DiscountLevelName = "MyNewDiscountLevel";
        newLevel.DiscountLevelValue = 30;
        newLevel.DiscountLevelEnabled = true;
        newLevel.DiscountLevelSiteID = CMSContext.CurrentSiteID;

        // Create the discount level
        DiscountLevelInfoProvider.SetDiscountLevelInfo(newLevel);

        return true;
    }
Exemple #14
0
    public static string GetFormatedPrice(object SKUPrice, object SKUDepartmentId, ShoppingCartInfo cart, object SKUId, bool FormatPrice)
    {
        double price        = ValidationHelper.GetDouble(SKUPrice, 0);
        int    departmentId = ValidationHelper.GetInteger(SKUDepartmentId, 0);
        int    skuId        = ValidationHelper.GetInteger(SKUId, 0);

        // When on the live site
        if (cart == null)
        {
            cart = ECommerceContext.CurrentShoppingCart;
        }

        if (departmentId > 0)
        {
            // Try site discount level
            DiscountLevelInfo discountLevel = cart.SiteDiscountLevel;
            bool valid = (discountLevel != null) && discountLevel.IsInDepartment(departmentId) && discountLevel.IsValid;

            if (!valid)
            {
                // Try global discount level
                discountLevel = cart.DiscountLevel;
                valid         = (discountLevel != null) && discountLevel.IsInDepartment(departmentId) && discountLevel.IsValid;
            }

            // Apply discount to product price
            if (valid)
            {
                // Remember price before discount
                double oldPrice = price;

                // Get new price after discount
                price = price * (1 - discountLevel.DiscountLevelValue / 100);

                if ((oldPrice > 0) && (price < 0))
                {
                    price = 0;
                }
            }
        }

        int  stateId         = cart.StateID;
        int  countryId       = cart.CountryID;
        bool isTaxIDSupplied = ((cart.Customer != null) && (cart.Customer.CustomerTaxRegistrationID != ""));

        if ((skuId > 0) && ((stateId > 0) || (countryId > 0)))
        {
            // Apply taxes
            price += GetSKUTotalTax(price, skuId, stateId, countryId, isTaxIDSupplied);
        }

        // Apply exchange rate
        price = cart.ApplyExchangeRate(price);

        if (FormatPrice)
        {
            // Get formatted price
            return(cart.GetFormattedPrice(price, true));
        }
        else
        {
            // Get not-formated price
            return(price.ToString());
        }
    }
    /// <summary>
    /// Sets data to database.
    /// </summary>
    protected void btnOK_Click(object sender, EventArgs e)
    {
        // Check module permissions
        bool global = (editedSiteId <= 0);
        if (!ECommerceContext.IsUserAuthorizedToModifyDiscountLevel(global))
        {
            if (global)
            {
                RedirectToAccessDenied("CMS.Ecommerce", "EcommerceGlobalModify");
            }
            else
            {
                RedirectToAccessDenied("CMS.Ecommerce", "EcommerceModify OR ModifyDiscounts");
            }
        }

        string errorMessage = new Validator().NotEmpty(txtDiscountLevelDisplayName.Text.Trim(), GetString("DiscountLevel_Edit.rfvDiscountLevelDisplayName.ErrorMessage"))
            .NotEmpty(txtDiscountLevelName.Text.Trim(), GetString("DiscountLevel_Edit.rfvDiscountLevelName.ErrorMessage"))
            .IsCodeName(txtDiscountLevelName.Text.Trim(), GetString("General.ErrorCodeNameInIdentifierFormat"))
            .NotEmpty(txtDiscountLevelValue.Text.Trim(), GetString("DiscountLevel_Edit.rfvDiscountLevelValue.ErrorMessage")).Result;

        // Is discount level name in code name format?
        if (errorMessage == "")
        {
            if (!ValidationHelper.IsCodeName(txtDiscountLevelName.Text.Trim()))
            {
                errorMessage = GetString("General.ErrorCodeNameInIdentifierFormat");
            }
        }

        // Discount value validation
        if (errorMessage == "")
        {
            if (!ValidationHelper.IsInRange(0, 100, ValidationHelper.GetDouble(txtDiscountLevelValue.Text.Trim(), -1)))
            {
                errorMessage = GetString("Com.Error.RelativeDiscountValue");
            }
        }

        // From/to date validation
        if (errorMessage == "")
        {
            if ((!dtPickerDiscountLevelValidTo.IsValidRange()) || (!dtPickerDiscountLevelValidFrom.IsValidRange()))
            {
                errorMessage = GetString("general.errorinvaliddatetimerange");
            }

            if ((dtPickerDiscountLevelValidFrom.SelectedDateTime != DateTime.MinValue) &&
                (dtPickerDiscountLevelValidTo.SelectedDateTime != DateTime.MinValue) &&
                (dtPickerDiscountLevelValidFrom.SelectedDateTime >= dtPickerDiscountLevelValidTo.SelectedDateTime))
            {
                errorMessage = GetString("General.DateOverlaps");
            }
        }

        if (errorMessage == "")
        {
            // Discount level code name must be unique
            DiscountLevelInfo discountLevelObj = null;
            string siteWhere = (ConfiguredSiteID > 0) ? " AND (DiscountLevelSiteID = " + ConfiguredSiteID + " OR DiscountLevelSiteID IS NULL)" : "";
            DataSet ds = DiscountLevelInfoProvider.GetDiscountLevels("DiscountLevelName = '" + txtDiscountLevelName.Text.Trim().Replace("'", "''") + "'" + siteWhere, null, 1, null);
            if (!DataHelper.DataSourceIsEmpty(ds))
            {
                discountLevelObj = new DiscountLevelInfo(ds.Tables[0].Rows[0]);
            }

            if ((discountLevelObj == null) || (discountLevelObj.DiscountLevelID == mDiscountLevelId))
            {
                // Get the object
                if (discountLevelObj == null)
                {
                    discountLevelObj = DiscountLevelInfoProvider.GetDiscountLevelInfo(mDiscountLevelId);
                    if (discountLevelObj == null)
                    {
                        discountLevelObj = new DiscountLevelInfo();
                        discountLevelObj.DiscountLevelSiteID = ConfiguredSiteID;
                    }
                }

                // Set values
                discountLevelObj.DiscountLevelValidFrom = dtPickerDiscountLevelValidFrom.SelectedDateTime;
                discountLevelObj.DiscountLevelEnabled = chkDiscountLevelEnabled.Checked;
                discountLevelObj.DiscountLevelName = txtDiscountLevelName.Text.Trim();
                discountLevelObj.DiscountLevelValue = Convert.ToDouble(txtDiscountLevelValue.Text.Trim());
                discountLevelObj.DiscountLevelValidTo = dtPickerDiscountLevelValidTo.SelectedDateTime;
                discountLevelObj.DiscountLevelDisplayName = txtDiscountLevelDisplayName.Text.Trim();

                // Save to the database
                DiscountLevelInfoProvider.SetDiscountLevelInfo(discountLevelObj);

                URLHelper.Redirect("DiscountLevel_Edit.aspx?discountLevelId=" + Convert.ToString(discountLevelObj.DiscountLevelID) + "&saved=1&siteId=" + SiteID);
            }
            else
            {
                // Show error message
                ShowError(GetString("DiscountLevel_Edit.DiscountLevelNameExists"));
            }
        }
        else
        {
            // Show error message
            ShowError(errorMessage);
        }
    }
 /// <summary>
 /// Load data of editing discountLevel.
 /// </summary>
 /// <param name="discountlLevelObj">DiscountLevel object</param>
 protected void LoadData(DiscountLevelInfo discountLevelObj)
 {
     dtPickerDiscountLevelValidFrom.SelectedDateTime = discountLevelObj.DiscountLevelValidFrom;
     chkDiscountLevelEnabled.Checked = discountLevelObj.DiscountLevelEnabled;
     txtDiscountLevelName.Text = discountLevelObj.DiscountLevelName;
     txtDiscountLevelValue.Text = Convert.ToString(discountLevelObj.DiscountLevelValue);
     dtPickerDiscountLevelValidTo.SelectedDateTime = discountLevelObj.DiscountLevelValidTo;
     txtDiscountLevelDisplayName.Text = discountLevelObj.DiscountLevelDisplayName;
 }