Esempio n. 1
0
        private void ListDealers(DealerSortType sortType)
        {
            try
            {
                String[] htmlStr = new String[3];

                DealerBiz dealerBiz = new DealerBiz();
                int       total     = 0;
                lblOutOfUS.Visible = false;
                // List composers by 3 columns
                int currentControlIndex = 0; // the current column index that appending composers.
                int countAppended       = 0; // the number of composers the current column had appended.
                if (sortType == DealerSortType.Name)
                {
                    #region sort by firtletter of name

                    List <lwg_Dealer> dealers = dealerBiz.GetAllDealers();
                    total = dealers.Count;

                    if (total == 0)
                    {
                        Response.Write("There is no dealer yet.");
                    }

                    int countEachColumn = 0;

                    countEachColumn = int.Parse((Math.Ceiling((double)(total / columnRatio)).ToString()));

                    int maxGroupCount = MaxFirstLetterGroup(dealers);  // The max group items count.
                    if (maxGroupCount > countEachColumn)
                    {
                        countEachColumn = maxGroupCount;
                    }


                    for (int i = 65; i < 91; i++)
                    {
                        string            firstLetter = Chr(i);
                        List <lwg_Dealer> subDealers  = FilterDealerByFirstLetter(dealers, firstLetter);
                        int subCount = subDealers.Count;
                        if (subCount > 0)
                        {
                            if (subCount >= countEachColumn)
                            {
                                if (currentControlIndex >= 1 && currentControlIndex <= 2)
                                {
                                    currentControlIndex += 1;
                                }
                                htmlStr[currentControlIndex] += CreateHtml(subDealers, firstLetter, true);
                                countAppended = countEachColumn;
                            }
                            else if (subCount + 1 > countEachColumn - countAppended)
                            {
                                if (currentControlIndex < 2)
                                {
                                    currentControlIndex += 1;
                                }

                                // Generate html
                                htmlStr[currentControlIndex] += CreateHtml(subDealers, firstLetter, true);

                                countAppended = subCount + 1;
                            }
                            else
                            {
                                htmlStr[currentControlIndex] += CreateHtml(subDealers, firstLetter, true);
                                countAppended += subCount + 1;
                            }
                        }
                    }
                    this.ltrDealers1.Text = htmlStr[0];
                    this.ltrDealers2.Text = htmlStr[1];
                    this.ltrDealers3.Text = htmlStr[2];
                    #endregion
                }
                else
                {
                    #region  sort by state
                    lblOutOfUS.Visible = true;
                    #region US Dealers
                    List <lwg_Dealer> dealers = dealerBiz.GetAllUSDealers();
                    total = dealers.Count;

                    if (total == 0)
                    {
                        Response.Write("There is no dealer yet.");
                    }

                    int countEachColumn = 0;

                    countEachColumn = int.Parse((Math.Ceiling((double)(total / columnRatio)).ToString()));

                    int maxGroupCount = MaxStateGroup(dealers);  // The max group items count.
                    if (maxGroupCount > countEachColumn)
                    {
                        countEachColumn = maxGroupCount;
                    }

                    List <string> stateList = dealerBiz.GetAllStateOfUS();
                    foreach (string state in stateList)
                    {
                        List <lwg_Dealer> subDealers = FilterDealerByState(dealers, state);
                        int subCount = subDealers.Count;
                        if (subCount > 0)
                        {
                            if (subCount >= countEachColumn)
                            {
                                if (currentControlIndex >= 1 && currentControlIndex <= 2)
                                {
                                    currentControlIndex += 1;
                                }
                                htmlStr[currentControlIndex] += CreateHtml(subDealers, state, true);
                                countAppended = countEachColumn;
                            }
                            else if (subCount + 1 > countEachColumn - countAppended + 5)
                            {
                                if (currentControlIndex < 2)
                                {
                                    currentControlIndex += 1;
                                }

                                // Generate html
                                htmlStr[currentControlIndex] += CreateHtml(subDealers, state, true);

                                countAppended = subCount + 1;
                            }
                            else
                            {
                                htmlStr[currentControlIndex] += CreateHtml(subDealers, state, true);
                                countAppended += subCount + 1;
                            }
                        }
                    }

                    this.ltrDealers1.Text = htmlStr[0];
                    this.ltrDealers2.Text = htmlStr[1];
                    this.ltrDealers3.Text = htmlStr[2];
                    #endregion
                    #region Out of US Dealers
                    dealers = dealerBiz.GetAllOutOfUSDealers();
                    total   = dealers.Count;

                    if (total == 0)
                    {
                        return;
                    }

                    htmlStr             = new String[3];
                    countEachColumn     = 0;
                    countAppended       = 0;
                    currentControlIndex = 0;
                    countEachColumn     = int.Parse((Math.Ceiling((double)(total / columnRatio)).ToString()));

                    stateList = dealerBiz.GetAllStateOutOfUS();
                    foreach (string state in stateList)
                    {
                        List <lwg_Dealer> subDealers = FilterDealerByState(dealers, state);
                        int subCount = subDealers.Count;
                        if (subCount > 0)
                        {
                            if (subCount >= countEachColumn)
                            {
                                if (currentControlIndex >= 1 && currentControlIndex <= 2)
                                {
                                    currentControlIndex += 1;
                                }
                                htmlStr[currentControlIndex] += CreateHtml(subDealers, state, true);
                                countAppended = countEachColumn;
                            }
                            else if (subCount + 1 > countEachColumn - countAppended + 5)
                            {
                                if (currentControlIndex < 2)
                                {
                                    currentControlIndex += 1;
                                }

                                // Generate html
                                htmlStr[currentControlIndex] += CreateHtml(subDealers, state, true);

                                countAppended = subCount + 1;
                            }
                            else
                            {
                                htmlStr[currentControlIndex] += CreateHtml(subDealers, state, true);
                                countAppended += subCount + 1;
                            }
                        }
                    }
                    this.ltrDealers4.Text = htmlStr[0];
                    this.ltrDealers5.Text = htmlStr[1];
                    this.ltrDealers6.Text = htmlStr[2];
                    #endregion
                    #endregion
                }
            }
            catch (Exception ex)
            {
                Response.Write(ex.Message);
            }
        }
Esempio n. 2
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                LoadSortType();

                if (!string.IsNullOrEmpty(Request.QueryString["Filter"]))
                {
                    string alpha = "";
                    alpha          = Request.QueryString["Filter"];
                    hdfalpha.Value = alpha;
                    string FirstLetter      = Request.QueryString["Filter"].ToUpper();
                    int    FirstLetterASCII = Asc(FirstLetter);
                    if (FirstLetterASCII >= 65 && FirstLetterASCII <= 90)
                    {
                        ListDealerByFirstLetter(FirstLetter);
                        ddlSortType.ClearSelection();
                        ddlSortType.Items.FindByText("Name").Selected = true;
                        divAlphabet.Visible = true;
                        divState.Visible    = false;
                        return;
                    }
                }

                if (!string.IsNullOrEmpty(Request.QueryString["State"]))
                {
                    string state = string.Empty;
                    state = Request.QueryString["State"].ToUpper();
                    DealerBiz dealerBiz = new DealerBiz();
                    if (dealerBiz.IsExistState(state))
                    {
                        ListDealerByState(state);
                        ddlSortType.ClearSelection();
                        ddlSortType.Items.FindByText("State").Selected = true;

                        divState.Visible     = true;
                        divAlphabet.Visible  = false;
                        ltrStateMenu.Text    = CreateSelectionStateMenu(dealerBiz.GetAllStateOfUS(), state, false);
                        ltrOutofUsState.Text = CreateSelectionStateMenu(dealerBiz.GetAllStateOutOfUS(), state, true);
                        return;
                    }
                    else
                    if (state.ToLower() == allStatesOfUS)
                    {
                        ListDealers(DealerSortType.State);
                        ddlSortType.ClearSelection();
                        ddlSortType.Items.FindByText("State").Selected = true;
                        divState.Visible     = true;
                        divAlphabet.Visible  = false;
                        ltrStateMenu.Text    = CreateSelectionStateMenu(dealerBiz.GetAllStateOfUS(), state.ToLower(), false);
                        ltrOutofUsState.Text = CreateSelectionStateMenu(dealerBiz.GetAllStateOutOfUS(), state.ToLower(), true);
                        return;
                    }
                }


                // default load all dealer
                ListDealers(DealerSortType.Name);
                divAlphabet.Visible = true;
                divState.Visible    = false;
            }
        }