예제 #1
0
    private void PopulateControls()
    {
        if (!DataAccessContext.Configurations.GetBoolValue("CustomerRating") &&
            !DataAccessContext.Configurations.GetBoolValue("CustomerReview"))
        {
            uxAddReviewButton.Visible = false;
        }

        if (!DataAccessContext.Configurations.GetBoolValue("CustomerRating") &&
            !DataAccessContext.Configurations.GetBoolValue("CustomerReview") &&
            !DataAccessContext.Configurations.GetBoolValue("MerchantRating"))
        {
            this.Visible = false;
        }
        else
        {
            this.Visible = true;
        }
        string numberOfRatingText = CustomerReviewAccess.GetNumberOfRating(ProductID);
        int    numberOfReviews    = Convert.ToInt32(numberOfRatingText);

        if (numberOfReviews > 0)
        {
            uxBaseOnAmount.Text = numberOfRatingText;
        }
    }
예제 #2
0
    private void PopulateReviews()
    {
        if (!DataAccessContext.Configurations.GetBoolValue("CustomerReview") &&
            !DataAccessContext.Configurations.GetBoolValue("CustomerRating"))
        {
            this.Visible = false;
        }
        else
        {
            DataTable dt = new DataTable();
            if (DataAccessContext.Configurations.GetBoolValue("EnableReviewPerCulture"))
            {
                dt = CustomerReviewAccess.GetByEnabled(true, ProductID, CultureID);
            }
            else
            {
                dt = CustomerReviewAccess.GetByEnabled(true, ProductID);
            }

            if (dt.Rows.Count > 0)
            {
                this.Visible = true;

                uxCustomerReviewList.DataSource = ConvertDetail(dt);
                uxCustomerReviewList.DataBind();
            }
            else
            {
                this.Visible = false;
            }
        }
    }
예제 #3
0
    private void PopulateControls()
    {
        if (CurrentID != null && int.Parse(CurrentID) >= 0)
        {
            CustomerReviewDetails details = CustomerReviewAccess.GetDetails(CurrentID, uxLanguageControl.CurrentCultureID);

            if (details != null)
            {
                Customer customer = DataAccessContext.CustomerRepository.GetOne(details.CustomerID);

                uxCustomerID.Text   = customer.UserName;
                uxReviewRating.Text =

                    Convert.ToString(Convert.ToDouble(details.ReviewRating) *
                                     Convert.ToDouble(DataAccessContext.Configurations.GetValue("StarRatingAmount")));

                uxSubject.Text = details.Subject;

                uxLongDescriptionText.Text = details.Body;
                uxReviewCheck.Checked      = details.IsEnabled;
                uxCalendar.SelectedDate    = details.ReviewDate;
            }
            else
            {
                ClearTextFieldsCrossCulture();
            }
        }
    }
예제 #4
0
    protected double GetCustomerRating(object reviewID)
    {
        CustomerReviewDetails details = new CustomerReviewDetails();

        if (DataAccessContext.Configurations.GetBoolValue("EnableReviewPerCulture"))
        {
            details = CustomerReviewAccess.GetDetails(reviewID.ToString(), CultureID);
        }
        else
        {
            details = CustomerReviewAccess.GetDetails(reviewID.ToString());
        }
        return(Convert.ToDouble(details.ReviewRating));
    }
예제 #5
0
    protected void uxEditButton_Click(object sender, EventArgs e)
    {
        try
        {
            if (Page.IsValid)
            {
                DateTime date;
                double   reviewRating =
                    Convert.ToDouble(uxReviewRating.Text.Trim()) /
                    Convert.ToDouble(DataAccessContext.Configurations.GetValue("StarRatingAmount"));

                string customerID = DataAccessContext.CustomerRepository.GetIDFromUserName(uxCustomerID.Text.Trim());
                if (customerID == "")
                {
                    customerID = "0";
                }

                if (AdminConfig.CurrentTestMode == AdminConfig.TestMode.Normal)
                {
                    date = Convert.ToDateTime(uxCalendar.SelectedDate);
                }
                else
                {
                    date = Convert.ToDateTime(uxDateText.Text);
                }

                CustomerReviewAccess.Update(
                    CurrentID,
                    CustomerReviewAccess.GetProductIDByReviewID(CurrentID),
                    uxLanguageControl.CurrentCultureID,
                    customerID,
                    reviewRating,
                    date,
                    uxReviewCheck.Checked,
                    uxSubject.Text.Trim(),
                    uxLongDescriptionText.Text
                    );


                uxMessage.DisplayMessage(Resources.ProductReviewMessage.UpdateSuccess);

                PopulateControls();
            }
        }
        catch (Exception ex)
        {
            uxMessage.DisplayException(ex);
        }
    }
예제 #6
0
    protected void uxSubmit_Click(object sender, EventArgs e)
    {
        string reviewID = CustomerReviewAccess.Create(
            ProductID,
            StoreContext.Culture.CultureID,
            GetCurrentCustomerID(),
            GetSelectedProductRating(),
            true,
            uxSubjectText.Text.Trim(),
            uxBodyText.Text
            );

        Product product = DataAccessContext.ProductRepository.GetOne(StoreContext.Culture, ProductID, new StoreRetriever().GetCurrentStoreID());
        string  url     = UrlManager.GetProductUrl(ProductID, product.UrlName);

        Response.Redirect(url);
    }
예제 #7
0
    private void PopulateControls()
    {
        string numberOfRatingText = CustomerReviewAccess.GetNumberOfRating(ProductID);
        int    numberOfReviews    = Convert.ToInt32(numberOfRatingText);

        if (numberOfReviews > 0)
        {
            uxReviewPlaceHolder.Visible   = true;
            uxNoReviewPlaceHolder.Visible = false;

            uxRatingControl.CurrentRating = CustomerReviewAccess.GetAverageRating(ProductID);

            uxBaseOnAmount.Text = numberOfRatingText;
        }
        else
        {
            uxReviewPlaceHolder.Visible   = false;
            uxNoReviewPlaceHolder.Visible = true;
        }
    }
예제 #8
0
    protected override void RefreshGrid()
    {
        int totalItems;

        uxGrid.DataSource = ConvertDetail(CustomerReviewAccess.SearchReview(
                                              ProductID,
                                              uxLanguageControl.CurrentCultureID,
                                              //"ReviewID",
                                              GridHelper.GetFullSortText(),
                                              uxSearchFilter.SearchType,
                                              uxSearchFilter.FieldName,
                                              GetValue(uxSearchFilter.Value1),
                                              GetValue(uxSearchFilter.Value2),
                                              uxPagingControl.StartIndex,
                                              uxPagingControl.EndIndex,
                                              out totalItems));
        uxPagingControl.NumberOfPages = (int)Math.Ceiling((double)totalItems / uxPagingControl.ItemsPerPages);

        uxGrid.DataBind();
    }
예제 #9
0
    protected void uxDeleteButton_Click(object sender, EventArgs e)
    {
        try
        {
            bool deleted = false;
            foreach (GridViewRow row in uxGrid.Rows)
            {
                CheckBox deleteCheck = (CheckBox)row.FindControl("uxCheck");
                if (deleteCheck.Checked)
                {
                    string ID = row.Cells[ColumnReviewID].Text.Trim();

                    CustomerReviewAccess.Delete(ID);

                    deleted = true;
                }
            }

            if (deleted)
            {
                uxMessage.DisplayMessage(Resources.ProductReviewMessage.DeleteSuccess);
            }
        }
        catch (Exception ex)
        {
            uxMessage.DisplayException(ex);
        }

        RefreshGrid();

        if (uxGrid.Rows.Count == 0 && uxPagingControl.CurrentPage >= uxPagingControl.NumberOfPages)
        {
            uxPagingControl.CurrentPage = uxPagingControl.NumberOfPages;
            RefreshGrid();
        }
    }
예제 #10
0
    protected void uxAddButton_Click(object sender, EventArgs e)
    {
        try
        {
            if (Page.IsValid)
            {
                double reviewRating =
                    Convert.ToDouble(uxReviewRating.Text.Trim()) /
                    Convert.ToDouble(DataAccessContext.Configurations.GetValue("StarRatingAmount"));

                string customerID = DataAccessContext.CustomerRepository.GetIDFromUserName(uxCustomerID.Text.Trim());
                if (customerID == "")
                {
                    customerID = "0";
                }

                string ReviewID = CustomerReviewAccess.Create(
                    CurrentProductID,
                    uxLanguageControl.CurrentCultureID,
                    customerID,
                    reviewRating,
                    bool.Parse(uxReviewCheck.Checked.ToString()),
                    uxSubject.Text.Trim(),
                    uxLongDescriptionText.Text
                    );

                uxMessage.DisplayMessage(Resources.ProductReviewMessage.AddSuccess);

                ClearTextFeilds();
            }
        }
        catch (Exception ex)
        {
            uxMessage.DisplayException(ex);
        }
    }
예제 #11
0
    private void SetUpSearchFilter()
    {
        DataTable table = CustomerReviewAccess.GetTableSchema();

        uxSearchFilter.SetUpSchema(table.Columns, "CultureID", "Body", "Subject", "ProductID");
    }