Beispiel #1
0
        private void SetLinkTarget()
        {
            CustomerEDSC.v_MenuDTDataTable dt      = new CustomerDAC().RetrieveMenuExplorers((int)SystemConstants.MenuType.MemberMenu);
            CustomerEDSC.PageDTDataTable   dtPages = new CustomerDAC().RetrievePages();

            int x = 0;

            foreach (CustomerEDSC.v_MenuDTRow drParent in dt)
            {
                if (drParent.LinkType == 1)
                {
                    x++;
                    if (drParent.ParentMenuID == 0 && drParent.LinkText != null)
                    {
                        MenuItem menu = new MenuItem(drParent.LinkText, x.ToString(), "", "~/Activity/Default.aspx?" + SystemConstants.CategoryID + "=" + drParent.LinkValue, "");
                        MenuNavigation.Items.Add(menu);
                        foreach (CustomerEDSC.v_MenuDTRow drChild in dt)
                        {
                            if (drChild.ParentMenuID == drParent.ID && drChild.LinkText != null && drChild.LinkType != 6)
                            {
                                MenuItem ChildMenu = new MenuItem(drChild.LinkText, "", "", "~/Activity/Default.aspx?" + SystemConstants.CategoryID + "=" + drChild.LinkValue, "");
                                menu.ChildItems.Add(ChildMenu);
                            }
                            else if (drChild.ParentMenuID == drParent.ID && drChild.LinkType == 6)
                            {
                                MenuItem ChildMenu = new MenuItem(drChild.LinkText, "", "", drChild.LinkValue, "");
                                menu.ChildItems.Add(ChildMenu);
                            }
                        }
                    }
                }
                else if (drParent.LinkType == 2)
                {
                    x++;
                    if (drParent.ParentMenuID == 0 && drParent.LinkText != null)
                    {
                        MenuItem menu = new MenuItem(drParent.LinkText, x.ToString(), "", "~/Activity/Default.aspx?" + SystemConstants.ProviderID + "=" + drParent.LinkValue, "");
                        MenuNavigation.Items.Add(menu);
                        foreach (CustomerEDSC.v_MenuDTRow drChild in dt)
                        {
                            if (drChild.ParentMenuID == drParent.ID && drChild.LinkText != null && drChild.LinkType != 6)
                            {
                                MenuItem ChildMenu = new MenuItem(drChild.LinkText, "", "", "~/Activity/Default.aspx?" + SystemConstants.ProviderID + "=" + drChild.LinkValue, "");
                                menu.ChildItems.Add(ChildMenu);
                            }
                            else if (drChild.ParentMenuID == drParent.ID && drChild.LinkType == 6)
                            {
                                MenuItem ChildMenu = new MenuItem(drChild.LinkText, "", "", drChild.LinkValue, "");
                                menu.ChildItems.Add(ChildMenu);
                            }
                        }
                    }
                }
                else if (drParent.LinkType == 3)
                {
                    x++;
                    if (drParent.ParentMenuID == 0)
                    {
                        MenuItem menu = new MenuItem(drParent.LinkText, x.ToString(), "", "~/Activity/Default.aspx??" + SystemConstants.ActivityID + "=" + drParent.LinkValue, "");
                        MenuNavigation.Items.Add(menu);
                        foreach (CustomerEDSC.v_MenuDTRow drChild in dt)
                        {
                            if (drChild.ParentMenuID == drParent.ID && drChild.LinkType != 6)
                            {
                                MenuItem ChildMenu = new MenuItem(drChild.LinkText, "", "", "~/Activity/Default.aspx?" + SystemConstants.ActivityID + "=" + drChild.LinkValue, " ");
                                menu.ChildItems.Add(ChildMenu);
                            }
                            else if (drChild.ParentMenuID == drParent.ID && drChild.LinkType == 6)
                            {
                                MenuItem ChildMenu = new MenuItem(drChild.LinkText, "", "", drChild.LinkValue, "");
                                menu.ChildItems.Add(ChildMenu);
                            }
                        }
                    }
                }

                else if (drParent.LinkType == 4)
                {
                    var PageName = dtPages
                                   .Where(p => p.ID == Convert.ToInt32(drParent.LinkValue)).FirstOrDefault();
                    if (PageName == null)
                    {
                        PageName      = new CustomerEDSC.PageDTDataTable().NewPageDTRow();
                        PageName.Name = "NotFound";
                    }

                    x++;
                    if (drParent.ParentMenuID == 0)
                    {
                        MenuItem menu = new MenuItem(drParent.LinkText, x.ToString(), "", "~/Pages/" + PageName.Name, "");
                        MenuNavigation.Items.Add(menu);
                        foreach (CustomerEDSC.v_MenuDTRow drChild in dt)
                        {
                            if (drChild.ParentMenuID == drParent.ID && drChild.LinkType != 6)
                            {
                                MenuItem ChildMenu = new MenuItem(drChild.LinkText, "", "", "~/Pages/" + PageName.Name, "");
                                menu.ChildItems.Add(ChildMenu);
                            }
                            else if (drChild.ParentMenuID == drParent.ID && drChild.LinkType == 6)
                            {
                                if (drChild.LinkType == 4)
                                {
                                    var ChildPageName = dtPages
                                                        .Where(p => p.ID == Convert.ToInt32(drChild.LinkValue)).FirstOrDefault();
                                    if (ChildPageName == null)
                                    {
                                        ChildPageName      = new CustomerEDSC.PageDTDataTable().NewPageDTRow();
                                        ChildPageName.Name = "NotFound";
                                    }
                                    MenuItem ChildMenuPage = new MenuItem(drChild.LinkText, "", "", ChildPageName.Name, "");
                                    menu.ChildItems.Add(ChildMenuPage);
                                }
                                MenuItem ChildMenu = new MenuItem(drChild.LinkText, "", "", drChild.LinkValue, "");
                                menu.ChildItems.Add(ChildMenu);
                            }
                        }
                    }
                }
                else if (drParent.LinkType == 5)
                {
                    var PageName = dtPages
                                   .Where(p => p.ID == Convert.ToInt32(drParent.LinkValue)).FirstOrDefault();
                    if (PageName == null)
                    {
                        PageName      = new CustomerEDSC.PageDTDataTable().NewPageDTRow();
                        PageName.Name = "NotFound";
                    }
                    x++;
                    if (drParent.ParentMenuID == 0)
                    {
                        MenuItem menu = new MenuItem(drParent.LinkText, x.ToString(), "", "~/Pages/" + PageName.Name, "");
                        MenuNavigation.Items.Add(menu);
                        foreach (CustomerEDSC.v_MenuDTRow drChild in dt)
                        {
                            var ChildPageName = dtPages
                                                .Where(p => p.ID == Convert.ToInt32(drChild.LinkValue)).FirstOrDefault();
                            if (ChildPageName == null)
                            {
                                ChildPageName      = new CustomerEDSC.PageDTDataTable().NewPageDTRow();
                                ChildPageName.Name = "NotFound";
                            }
                            if (drChild.ParentMenuID == drParent.ID && drChild.LinkType != 6)
                            {
                                MenuItem ChildMenu = new MenuItem(drChild.LinkText, "", "", "~/Pages/" + ChildPageName.Name, "");
                                menu.ChildItems.Add(ChildMenu);
                            }
                            else if (drChild.ParentMenuID == drParent.ID && drChild.LinkType == 6)
                            {
                                MenuItem ChildMenu = new MenuItem(drChild.LinkText, "", "", ChildPageName.Name, "");
                                menu.ChildItems.Add(ChildMenu);
                            }
                        }
                    }
                }
                else if (drParent.LinkType == 6)
                {
                    x++;
                    if (drParent.ParentMenuID == 0)
                    {
                        MenuItem menu = new MenuItem(drParent.LinkText, x.ToString(), "", drParent.LinkValue, "");
                        MenuNavigation.Items.Add(menu);
                        foreach (CustomerEDSC.v_MenuDTRow drChild in dt)
                        {
                            if (drChild.ParentMenuID == drParent.ID && drChild.LinkType != 6)
                            {
                                var ChildPageName = dtPages
                                                    .Where(p => p.ID == Convert.ToInt32(drChild.LinkValue)).FirstOrDefault();
                                if (ChildPageName == null)
                                {
                                    ChildPageName      = new CustomerEDSC.PageDTDataTable().NewPageDTRow();
                                    ChildPageName.Name = "NotFound";
                                }
                                if (drChild.ParentMenuID == drParent.ID && drChild.LinkType != 6)
                                {
                                    MenuItem ChildMenu = new MenuItem(drChild.LinkText, "", "", "~/Pages/" + ChildPageName.Name, "");
                                    menu.ChildItems.Add(ChildMenu);
                                }
                                else if (drChild.ParentMenuID == drParent.ID && drChild.LinkType != 6)
                                {
                                    MenuItem ChildMenu = new MenuItem(drChild.LinkText, "", "", "~/Pages/" + drChild.LinkValue, "");
                                    menu.ChildItems.Add(ChildMenu);
                                }
                            }
                            else if (drChild.ParentMenuID == drParent.ID && drChild.LinkType == 6)
                            {
                                MenuItem ChildMenu = new MenuItem(drChild.LinkText, "", "", drChild.LinkValue, "");
                                menu.ChildItems.Add(ChildMenu);
                            }
                        }
                    }
                }
            }
            MenuItem Rewards = new MenuItem("Rewards Program", x.ToString(), "", "~/Rewards/RewardsHome");

            MenuNavigation.Items.Add(Rewards);
            x++;
            MenuItem ContactUs = new MenuItem("Contact Us", x.ToString(), "", "~/ContactUs");

            MenuNavigation.Items.Add(ContactUs);
        }
Beispiel #2
0
        internal void Refresh()
        {
            ddSort.SelectedValue = SortValue;
            lblKeyword.Visible   = false;
            String query = "";


            if (SearchKey != null)
            {
                List <String> parameters = new CustomerBFC().RefineSearchKey(SearchKey);

                foreach (var parameter in parameters)
                {
                    if (!string.IsNullOrEmpty(parameter))
                    {
                        if (parameter.StartsWith(SystemConstants.Query))
                        {
                            query = parameter.Replace(SystemConstants.Query, string.Empty);
                        }
                        else if (parameter.StartsWith(SystemConstants.Location))
                        {
                            String[] locs  = parameter.Replace(SystemConstants.Location, string.Empty).ToUpper().Split(';');
                            var      subDT = new CustomerDAC().RetrieveSuburbs();

                            var suburbs = subDT.Where(x => locs.Contains(x.Name.ToUpper()));

                            foreach (var sub in suburbs)
                            {
                                if (String.IsNullOrEmpty(SuburbID))
                                {
                                    SuburbID = sub.ID.ToString();
                                }
                                else
                                {
                                    SuburbID += "|" + sub.ID.ToString();
                                }
                            }
                        }
                        else if (parameter.StartsWith(SystemConstants.Day))
                        {
                            MonFilter = TueFilter = WedFilter = ThursFilter = FriFilter = SatFilter = SunFilter = false;
                            string[] days = parameter.Replace(SystemConstants.Day, string.Empty).Split(';');
                            foreach (var day in days)
                            {
                                if (day.ToUpper().Equals(DayOfWeek.Monday.ToString().ToUpper()))
                                {
                                    MonFilter = true;
                                }
                                if (day.ToUpper().Equals(DayOfWeek.Tuesday.ToString().ToUpper()))
                                {
                                    TueFilter = true;
                                }
                                if (day.ToUpper().Equals(DayOfWeek.Wednesday.ToString().ToUpper()))
                                {
                                    WedFilter = true;
                                }
                                if (day.ToUpper().Equals(DayOfWeek.Thursday.ToString().ToUpper()))
                                {
                                    ThursFilter = true;
                                }
                                if (day.ToUpper().Equals(DayOfWeek.Friday.ToString().ToUpper()))
                                {
                                    FriFilter = true;
                                }
                                if (day.ToUpper().Equals(DayOfWeek.Saturday.ToString().ToUpper()))
                                {
                                    SatFilter = true;
                                }
                                if (day.ToUpper().Equals(DayOfWeek.Sunday.ToString().ToUpper()))
                                {
                                    SunFilter = true;
                                }
                            }
                        }
                        else if (parameter.StartsWith(SystemConstants.Time))
                        {
                            string[] times = parameter.Replace(SystemConstants.Time, string.Empty).Split('-');
                            if (times.Length == 2)
                            {
                                dtFrom = Convert.ToDateTime(SystemConstants.nodate.ToShortDateString() + " " + Convert.ToDateTime(times[0]).ToShortTimeString());
                                dtTo   = Convert.ToDateTime(SystemConstants.nodate.ToShortDateString() + " " + Convert.ToDateTime(times[1]).ToShortTimeString());
                            }
                            else if (times.Length == 1)
                            {
                                dtFrom = Convert.ToDateTime(SystemConstants.nodate.ToShortDateString() + " " + Convert.ToDateTime(times[0]).ToShortTimeString());
                            }
                        }
                    }
                }
            }

            if (!string.IsNullOrEmpty(query))
            {
                Stopwatch sw = Stopwatch.StartNew();

                SetDataSourceFromSearchKey(query);


                lblAmount.Text = new CustomerDAC().RetrieveProviderActivitiesbySearchPhraseCount(ProviderID, dtFrom.ToString(), dtTo.ToString(), tmFrom.ToString(), tmTo.ToString(), AgeFrom, AgeTo, SuburbID, CategoryID, query, MonFilter.ToString(), TueFilter.ToString(), WedFilter.ToString(), ThursFilter.ToString(), FriFilter.ToString(), SatFilter.ToString(), SunFilter.ToString()).ToString();

                if (Convert.ToInt32(lblAmount.Text) <= Convert.ToInt32(PageSize + StartRow))
                {
                    lblEndIndex.Text = lblAmount.Text;
                }
                else
                {
                    lblEndIndex.Text = (StartRow + PageSize).ToString();
                }

                lblStartIndex.Text = (StartRow + 1).ToString();

                if (Convert.ToInt32(lblStartIndex.Text) >= Convert.ToInt32(lblEndIndex.Text))
                {
                    lblStartIndex.Text = lblEndIndex.Text;
                }

                lblEndIndex1.Text   = lblEndIndex.Text;
                lblStartIndex1.Text = lblStartIndex.Text;
                lblAmount1.Text     = lblAmount.Text;

                lblKeyword.Visible = true;
                if (lblAmount.Text != "0")
                {
                    //  lblKeyword.Text = "Search Found " + lblAmount.Text + " Record  with keyword '" + SearchKey + "'";
                    // else
                    //{

                    //lblKeyword.Text = "there are no records with keyword '" + SearchKey + "'";
                }
                TimeSpan elapsed = sw.Elapsed;
                hdnTimespan.Value = elapsed.ToString();
            }
            else
            {
                SetDataSourceFromCategoryProvider();
                lblAmount.Text = new CustomerDAC().RetrieveProviderActivitiesCount(ProviderID, dtFrom.ToString(), dtTo.ToString(), tmFrom.ToString(), tmTo.ToString(), AgeFrom, AgeTo, SuburbID, CategoryID, MonFilter.ToString(), TueFilter.ToString(), WedFilter.ToString(), ThursFilter.ToString(), FriFilter.ToString(), SatFilter.ToString(), SunFilter.ToString()).ToString();

                if (Convert.ToInt32(lblAmount.Text) <= Convert.ToInt32(PageSize + StartRow))
                {
                    lblEndIndex.Text = lblAmount.Text;
                }
                else
                {
                    lblEndIndex.Text = (StartRow + PageSize).ToString();
                }

                lblStartIndex.Text = (StartRow + 1).ToString();

                if (Convert.ToInt32(lblStartIndex.Text) >= Convert.ToInt32(lblEndIndex.Text))
                {
                    lblStartIndex.Text = lblEndIndex.Text;
                }

                lblEndIndex1.Text   = lblEndIndex.Text;
                lblStartIndex1.Text = lblStartIndex.Text;
                lblAmount1.Text     = lblAmount.Text;
            }
            if (GridViewActivities.HeaderRow != null)
            {
                GridViewActivities.HeaderRow.TableSection = TableRowSection.TableHeader;
            }
        }
Beispiel #3
0
        public List <string> RefineSearchKey(string InputQueries)
        {
            List <string>   SearchParameters = new List <string>();
            String          SearchQuery      = "";
            String          DaysQuery        = "";
            String          LocationsQuery   = "";
            String          TimeQuery        = "";
            List <TimeSpan> Timelist         = new List <TimeSpan>();

            List <string> keywords = InputQueries.ToUpper().Split(' ').OfType <string>().ToList();

            if (isImplementAdvanceSearch())
            {
                /*Delete Prepositions/Postposition from keyword
                 * See SystemConstants.Prepositions for list of prepositions
                 */
                List <string> exclude = (SystemConstants.Prepositions + SystemConstants.Conjunctions).Split(';').Select(x => x.Trim()).OfType <string>().ToList();

                HashSet <string> preposHash = new HashSet <string>(exclude.Select(x => x.ToUpper()));
                keywords.RemoveAll(x => preposHash.Contains(x.ToUpper()));

                /*Match and save locations from keyword
                 * First we retrieve available locations from db
                 */
                var suburbs = new CustomerDAC().RetrieveSuburbs().ToList();

                List <SuburbExplorer> SubsCont = new List <SuburbExplorer>();
                foreach (var suburb in suburbs)
                {
                    string[] subs = suburb.Name.Split(' ');
                    foreach (var sub in subs)
                    {
                        SubsCont.Add(new SuburbExplorer()
                        {
                            ID   = suburb.ID,
                            Name = sub
                        });
                    }
                }

                var           matchedLocs = SubsCont.Where(x => keywords.Contains(x.Name.ToUpper()));
                HashSet <int> locsID      = new HashSet <int>(matchedLocs.Select(x => x.ID));
                IEnumerable <CustomerEDSC.v_SuburbExplorerDTRow> matchedSuburbs = suburbs.Where(x => locsID.Contains(x.ID));

                StringBuilder lq = new StringBuilder();
                foreach (var matchedSuburb in matchedSuburbs)
                {
                    lq.Append(matchedSuburb.Name + ";");
                }
                LocationsQuery = lq.ToString();

                HashSet <string> locationsHash = new HashSet <string>(SubsCont.Select(x => x.Name.ToUpper()));
                keywords.RemoveAll(x => locationsHash.Contains(x.ToUpper()));

                /*Match and save Days from keyword
                 */
                List <string> dayofweek = new List <string> {
                    DayOfWeek.Monday.ToString(), DayOfWeek.Tuesday.ToString(),
                              DayOfWeek.Wednesday.ToString(), DayOfWeek.Thursday.ToString(), DayOfWeek.Friday.ToString(),
                              DayOfWeek.Saturday.ToString(), DayOfWeek.Sunday.ToString(),
                };

                HashSet <string> dayofweekHash = new HashSet <string>(dayofweek.Select(x => x.ToUpper()));
                var days = keywords.Where(x => dayofweekHash.Contains(x.ToUpper()));
                if (days.Count() != 0)
                {
                    DaysQuery = String.Join(";", days);
                }

                keywords.RemoveAll(x => dayofweekHash.Contains(x.ToUpper()));

                foreach (var key in keywords)
                {
                    DateTime dateTime = new DateTime();
                    //12hourformat h:mm tt  6:30 AM
                    if (DateTime.TryParseExact(key, @"h:mm tt", CultureInfo.InvariantCulture, DateTimeStyles.None, out dateTime))
                    {
                        Timelist.Add(dateTime.TimeOfDay);
                    }
                    else if (DateTime.TryParseExact(key, @"h:mm tt", CultureInfo.InvariantCulture, DateTimeStyles.None, out dateTime))
                    {
                        Timelist.Add(dateTime.TimeOfDay);
                    }
                    if (DateTime.TryParseExact(key, @"hmm tt", CultureInfo.InvariantCulture, DateTimeStyles.None, out dateTime))
                    {
                        Timelist.Add(dateTime.TimeOfDay);
                    }
                    else if (DateTime.TryParseExact(key, @"hmm tt", CultureInfo.InvariantCulture, DateTimeStyles.None, out dateTime))
                    {
                        Timelist.Add(dateTime.TimeOfDay);
                    }
                    if (DateTime.TryParseExact(key, @"h:mmtt", CultureInfo.InvariantCulture, DateTimeStyles.None, out dateTime))
                    {
                        Timelist.Add(dateTime.TimeOfDay);
                    }
                    else if (DateTime.TryParseExact(key, @"h:mmtt", CultureInfo.InvariantCulture, DateTimeStyles.None, out dateTime))
                    {
                        Timelist.Add(dateTime.TimeOfDay);
                    }
                    if (DateTime.TryParseExact(key, @"hmmtt", CultureInfo.InvariantCulture, DateTimeStyles.None, out dateTime))
                    {
                        Timelist.Add(dateTime.TimeOfDay);
                    }
                    else if (DateTime.TryParseExact(key, @"hmmtt", CultureInfo.InvariantCulture, DateTimeStyles.None, out dateTime))
                    {
                        Timelist.Add(dateTime.TimeOfDay);
                    }
                    if (DateTime.TryParseExact(key, @"h tt", CultureInfo.InvariantCulture, DateTimeStyles.None, out dateTime))
                    {
                        Timelist.Add(dateTime.TimeOfDay);
                    }
                    if (DateTime.TryParseExact(key, @"htt", CultureInfo.InvariantCulture, DateTimeStyles.None, out dateTime))
                    {
                        Timelist.Add(dateTime.TimeOfDay);
                    }
                    //24hourformat HH:mm 14:30
                    else if (DateTime.TryParseExact(key, @"HH:mm", CultureInfo.InvariantCulture, DateTimeStyles.None, out dateTime))
                    {
                        Timelist.Add(dateTime.TimeOfDay);
                    }
                    else if (DateTime.TryParseExact(key, @"H:mm", CultureInfo.InvariantCulture, DateTimeStyles.None, out dateTime))
                    {
                        Timelist.Add(dateTime.TimeOfDay);
                    }
                    else if (DateTime.TryParseExact(key, @"HHmm", CultureInfo.InvariantCulture, DateTimeStyles.None, out dateTime))
                    {
                        Timelist.Add(dateTime.TimeOfDay);
                    }
                    else if (DateTime.TryParseExact(key, @"Hmm", CultureInfo.InvariantCulture, DateTimeStyles.None, out dateTime))
                    {
                        Timelist.Add(dateTime.TimeOfDay);
                    }
                    else
                    {
                        var keyCollections = new CustomerDAC().SearchKeywordCollection(key);
                        if (keyCollections.Count == 0 || keyCollections == null)
                        {
                            foreach (var keycol in keyCollections)
                            {
                                SearchQuery = SearchQuery + keycol.Keywords + ";";
                            }
                        }
                        if (!string.IsNullOrEmpty(SearchQuery))
                        {
                            SearchQuery = SearchQuery + ";" + key;
                        }
                        else
                        {
                            SearchQuery = key;
                        }
                    }
                }
            }
            else
            {
                SearchQuery = InputQueries.Replace(' ', ';');
            }
            if (Timelist.Count != 0)
            {
                Timelist = Timelist.OrderBy(row => row.Hours).ToList();
                if (Timelist.Count >= 2)
                {
                    TimeQuery = Timelist[0].ToString() + "-" + Timelist[Timelist.Count - 1].ToString();
                }
                else if (Timelist.Count == 1)
                {
                    TimeQuery = Timelist[0].ToString();
                }
            }
            SearchQuery = SearchQuery.Replace(" ", string.Empty);
            SearchQuery = SearchQuery.Replace(";;", ";");
            if (SearchQuery.EndsWith(";"))
            {
                SearchQuery = SearchQuery.TrimEnd(';');
            }
            SearchQuery = SearchQuery.Trim();

            SearchParameters.Add(SystemConstants.Query + SearchQuery);
            if (!string.IsNullOrEmpty(LocationsQuery))
            {
                SearchParameters.Add(SystemConstants.Location + LocationsQuery);
            }
            if (!string.IsNullOrEmpty(DaysQuery))
            {
                SearchParameters.Add(SystemConstants.Day + DaysQuery);
            }
            if (!string.IsNullOrEmpty(TimeQuery))
            {
                SearchParameters.Add(SystemConstants.Time + TimeQuery);
            }
            return(SearchParameters);
        }
Beispiel #4
0
        public void Refresh()
        {
            if (WebSecurity.IsAuthenticated)
            {
                RetrieveSavedList();
            }
            ddSort.SelectedValue = SortValue;
            lblKeyword.Visible   = false;
            String query = "";

            Stopwatch sw = new Stopwatch();

            sw.Start();
            if (!string.IsNullOrEmpty(SearchKey))
            {
                List <String> parameters = new CustomerBFC().RefineSearchKey(SearchKey);

                foreach (var parameter in parameters)
                {
                    if (!string.IsNullOrEmpty(parameter))
                    {
                        if (parameter.StartsWith(SystemConstants.Query))
                        {
                            query = parameter.Replace(SystemConstants.Query, string.Empty);
                        }
                        else if (parameter.StartsWith(SystemConstants.Location))
                        {
                            String[] locs  = parameter.Replace(SystemConstants.Location, string.Empty).ToUpper().Split(';');
                            var      subDT = new CustomerDAC().RetrieveSuburbs();

                            var suburbs = subDT.Where(x => locs.Contains(x.Name.ToUpper()));

                            foreach (var sub in suburbs)
                            {
                                if (String.IsNullOrEmpty(SuburbID))
                                {
                                    SuburbID = sub.ID.ToString();
                                }
                                else
                                {
                                    SuburbID += "|" + sub.ID.ToString();
                                }
                            }
                        }
                        else if (parameter.StartsWith(SystemConstants.Day))
                        {
                            MonFilter = TueFilter = WedFilter = ThursFilter = FriFilter = SatFilter = SunFilter = false;
                            string[] days = parameter.Replace(SystemConstants.Day, string.Empty).Split(';');
                            foreach (var day in days)
                            {
                                if (day.ToUpper().Equals(DayOfWeek.Monday.ToString().ToUpper()))
                                {
                                    MonFilter = true;
                                }
                                if (day.ToUpper().Equals(DayOfWeek.Tuesday.ToString().ToUpper()))
                                {
                                    TueFilter = true;
                                }
                                if (day.ToUpper().Equals(DayOfWeek.Wednesday.ToString().ToUpper()))
                                {
                                    WedFilter = true;
                                }
                                if (day.ToUpper().Equals(DayOfWeek.Thursday.ToString().ToUpper()))
                                {
                                    ThursFilter = true;
                                }
                                if (day.ToUpper().Equals(DayOfWeek.Friday.ToString().ToUpper()))
                                {
                                    FriFilter = true;
                                }
                                if (day.ToUpper().Equals(DayOfWeek.Saturday.ToString().ToUpper()))
                                {
                                    SatFilter = true;
                                }
                                if (day.ToUpper().Equals(DayOfWeek.Sunday.ToString().ToUpper()))
                                {
                                    SunFilter = true;
                                }
                            }
                        }
                        else if (parameter.StartsWith(SystemConstants.Time))
                        {
                            string[] times = parameter.Replace(SystemConstants.Time, string.Empty).Split('-');
                            if (times.Length == 2)
                            {
                                dtFrom = Convert.ToDateTime(SystemConstants.nodate.ToShortDateString() + " " + Convert.ToDateTime(times[0]).ToShortTimeString());
                                dtTo   = Convert.ToDateTime(SystemConstants.nodate.ToShortDateString() + " " + Convert.ToDateTime(times[1]).ToShortTimeString());
                            }
                            else if (times.Length == 1)
                            {
                                dtFrom = Convert.ToDateTime(SystemConstants.nodate.ToShortDateString() + " " + Convert.ToDateTime(times[0]).ToShortTimeString());
                            }
                        }
                    }
                }
            }
            TimeSpan time = sw.Elapsed;

            sw.Restart();
            lbltimerefine.Text = time.ToString();

            if (!string.IsNullOrEmpty(query))
            {
                SetDataSourcebySearchKey(query);
                int amount = new CustomerDAC().RetrieveProviderActivitiesbySearchPhraseCount(ProviderID, dtFrom.ToString(), dtTo.ToString(), tmFrom.ToString(), tmTo.ToString(), AgeFrom, AgeTo, SuburbID, CategoryID, query, MonFilter.ToString(), TueFilter.ToString(), WedFilter.ToString(), ThursFilter.ToString(), FriFilter.ToString(), SatFilter.ToString(), SunFilter.ToString());
                lblAmount.Text = amount.ToString();
                if (Convert.ToInt32(lblAmount.Text) <= Convert.ToInt32(PageSize + StartRow))
                {
                    lblEndIndex.Text = lblAmount.Text;
                }
                else
                {
                    lblEndIndex.Text = (StartRow + PageSize).ToString();
                }

                lblStartIndex.Text = (StartRow + 1).ToString();

                if (Convert.ToInt32(lblStartIndex.Text) >= Convert.ToInt32(lblEndIndex.Text))
                {
                    lblStartIndex.Text = lblEndIndex.Text;
                }

                lblEndIndex1.Text   = lblEndIndex.Text;
                lblStartIndex1.Text = lblStartIndex.Text;
                lblAmount1.Text     = lblAmount.Text;

                lblKeyword.Visible = true;
                if (amount == 0)
                {
                    ItemCountBottom.Visible = false;
                }
                else
                {
                    if (amount <= PageSize)
                    {
                        divPager.Visible        = false;
                        ItemCountBottom.Visible = true;
                    }
                    else
                    {
                        divPager.Visible = ItemCountBottom.Visible = true;
                    }
                }
                TimeSpan time1 = sw.Elapsed;
                lblshowres.Text = hdnTimespan.Value = "Set list by searchprovcat: " + time1.ToString();
            }
            else
            {
                SetDataSourcebyProviderCategory();
                int amount = new CustomerDAC().RetrieveProviderActivitiesCount(ProviderID, dtFrom.ToString(), dtTo.ToString(), tmFrom.ToString(), tmTo.ToString(), AgeFrom, AgeTo, SuburbID, CategoryID, MonFilter.ToString(), TueFilter.ToString(), WedFilter.ToString(), ThursFilter.ToString(), FriFilter.ToString()
                                                                               , SatFilter.ToString(), SunFilter.ToString());
                lblAmount.Text = amount.ToString();

                if (Convert.ToInt32(lblAmount.Text) <= Convert.ToInt32(PageSize + StartRow))
                {
                    lblEndIndex.Text = lblAmount.Text;
                }
                else
                {
                    lblEndIndex.Text = (StartRow + PageSize).ToString();
                }

                lblStartIndex.Text = (StartRow + 1).ToString();

                if (Convert.ToInt32(lblStartIndex.Text) >= Convert.ToInt32(lblEndIndex.Text))
                {
                    lblStartIndex.Text = lblEndIndex.Text;
                }

                lblEndIndex1.Text   = lblEndIndex.Text;
                lblStartIndex1.Text = lblStartIndex.Text;
                lblAmount1.Text     = lblAmount.Text;


                if (amount == 0)
                {
                    ItemCountBottom.Visible = false;
                }
                else
                {
                    if (amount <= PageSize)
                    {
                        divPager.Visible        = false;
                        ItemCountBottom.Visible = true;
                    }
                    else
                    {
                        divPager.Visible = ItemCountBottom.Visible = true;
                    }
                }
                TimeSpan time1 = sw.Elapsed;
                lblshowres.Text = hdnTimespan.Value = "Set list byprovcat: " + time1.ToString();
            }
        }