Example #1
0
        protected void btnUsernameSearchGo_Click(object sender, EventArgs e)
        {
            UsernameSearch search;
            if (Session["UsernameSearchRequest"] == null)
            {
                search = new UsernameSearch();
                search.Username = txtUsername.Text.Trim();

                if (Config.Users.RequireProfileToShowInSearch)
                {
                    search.HasAnswer = true;
                }
            }
            else
            {
                search = (UsernameSearch)Session["UsernameSearchRequest"];
                Session.Remove("UsernameSearchRequest");
            }

            UserSearchResults results = search.GetResults();

            SearchResults.ShowLastOnline = true;
            SearchResults.ShowViewedOn = false;
            SearchResults.ShowDistance = true;

            SearchResults.Results = results;

            pnlQuickSearch.Visible = false;
            pnlFilterOnline.Visible = false;
            pnlSearchResults.Visible = true;
        }
Example #2
0
        protected void btnSearch_Click(object sender, EventArgs e)
        {
            UserSearchResults results;
            var username = txtUsername.Text.Trim();

            if (username.Length > 0)
            {
                UsernameSearch usernameSearch = new UsernameSearch();

                usernameSearch.Username = username;
                results = usernameSearch.GetResults();

                SearchResults.ShowLastOnline = true;
                SearchResults.ShowViewedOn = false;
                SearchResults.ShowDistance = true;

                SearchResults.Results = results;
                return;
            }
            var search = new CustomSearch();

            if (Config.Users.RequireProfileToShowInSearch)
            {
                search.HasAnswer = true;
            }
            else
            {
                search.hasAnswer_isSet = false;
            }

            if (!Config.Users.DisableGenderInformation)
            {
                search.Gender = (User.eGender)
                                Convert.ToInt32(dropGender.SelectedValue);
                if (Config.Users.InterestedInFieldEnabled && !Config.Users.DisableGenderInformation)
                    search.InterestedIn = (User.eGender)
                                          Convert.ToInt32(dropInterestedIn.SelectedValue);
            }

            if (!Config.Users.DisableAgeInformation)
            {
                try
                {
                    search.MinAge = Convert.ToInt32(txtAgeFrom.Text);
                    search.MaxAge = Convert.ToInt32(txtAgeTo.Text);
                }
                catch
                {
                }
            }

            if (Config.Users.LocationPanelVisible)
            {
                if (!IsPostBack && (CurrentUserSession == null || SavedSearch.Load(CurrentUserSession.Username, "_lastsearch_") == null))
                {
                    selectedCountry =
                        String.IsNullOrEmpty(Config.Users.ForceCountry) ? Config.Users.DefaultCountry : Config.Users.ForceCountry;
                    search.Country = selectedCountry;
                    setDefault = true;
                }
                else
                {
                    if (dropCountry != null)
                    {
                        search.Country = selectedCountry ?? dropCountry.SelectedValue();
                    }
                    if (dropRegion != null)
                    {
                        search.State = selectedState ?? dropRegion.SelectedValue();
                    }
                    if (dropCity != null)
                    {
                        search.City = selectedCity ?? dropCity.SelectedValue();
                    }
                }
                if (txtZip != null)
                {
                    search.Zip = txtZip.Text;
                }

                if (dropDistance.SelectedValue != "-1")
                {
                    search.FromLocation = Config.Users.GetLocation(search.Country, search.State, search.City);
                    //if (CurrentUserSession != null && CurrentUserSession.Latitude.HasValue && CurrentUserSession.Longitude.HasValue)
                    //{
                    //    search.FromLocation = new Location { Longitude = CurrentUserSession.Longitude.Value, Latitude = CurrentUserSession.Latitude.Value };
                    //    search.Distance = Int32.Parse(dropDistance.SelectedValue);
                    //}
                    var miles = Int32.Parse(dropDistance.SelectedValue);
                    search.Distance = Config.Search.MeasureDistanceInKilometers ? miles * 0.621371192 : miles;
                }
            }

            if (cbPhotoReq.Checked)
                search.HasPhoto = true;

            search.OnlineOnly = cbOnlineOnly.Checked;

            var lSearchTerms = new List<ProfileAnswer[]>();
            var lSearchIDs = new List<int>();

            var controls = new List<IProfileSearchComponent>(
                Misc.Select<IProfileSearchComponent>(plhCustomSearch));

            foreach (IProfileSearchComponent searchTerm in controls)
            {
                if (searchTerm.Answers != null && searchTerm.Answers.Length > 0)
                {
                    ProfileQuestion question = ProfileQuestion.Fetch(searchTerm.Answers[0].Question.Id);

                    if (!Config.Users.DisableGenderInformation &&
                        (!question.VisibleForMale && search.Gender == Classes.User.eGender.Male
                         || !question.VisibleForFemale && search.Gender == Classes.User.eGender.Female
                         || !question.VisibleForCouple && search.Gender == Classes.User.eGender.Couple))
                        continue;

                    if (question.ParentQuestionID.HasValue)
                    {
                        var parentControl = controls.FirstOrDefault(
                                c =>
                                c != null && c.Answers.Length > 0 &&
                                c.Answers[0].Question.Id == question.ParentQuestionID);
                        if (parentControl != null)
                        {
                            string[] parentAnswers = parentControl.Answers.Select(a => a.Value).ToArray();
                            if (!question.ParentQuestionChoices.Split(':').Any(parentChoice => parentAnswers.Contains(parentChoice)))
                            {
                                continue;
                            }
                        }
                    }

                    lSearchTerms.Add(searchTerm.Answers);
                    lSearchIDs.AddRange(searchTerm.ChoiceIds);
                }
            }

            if (Page.IsPostBack && CurrentUserSession != null)
            {
                SaveSavedSearch("_lastsearch_", lSearchIDs.ToArray());

                if (cbSaveSearch.Checked)
                {
                    if (txtSavedSearchName.Text == "")
                    {
                        return;
                    }
                    SaveSavedSearch(txtSavedSearchName.Text, lSearchIDs.ToArray());
                    LoadSavedSearches();
                }
            }

            search.Answers = lSearchTerms.ToArray();

            results = search.GetResults();

            SearchResults.ShowLastOnline = true;
            SearchResults.ShowViewedOn = false;
            SearchResults.ShowDistance = true;

            SearchResults.Results = results;

            cbSaveSearch.Checked = false;
        }
Example #3
0
        protected void fbBasicSearchGo_Click(object sender, EventArgs e)
        {
            if (txtUsername != null && txtUsername.Text != String.Empty)
            {
                UsernameSearch search = new UsernameSearch();

                if (Config.Users.RequireProfileToShowInSearch)
                {
                    search.HasAnswer = true;
                }

                search.Username = txtUsername.Text;

                Session["UsernameSearchRequest"] = search;
            }
            else
            {
                var search = new CustomSearch();

                if (Config.Users.RequireProfileToShowInSearch)
                {
                    search.HasAnswer = true;
                }
                else
                {
                    search.hasAnswer_isSet = false;
                }

                search.Gender = (User.eGender)
                                Convert.ToInt32(dropGender.SelectedValue);
                try
                {
                    search.MinAge = Convert.ToInt32(txtAgeFrom.Text);
                    search.MaxAge = Convert.ToInt32(txtAgeTo.Text);
                }
                catch (ArgumentException)
                {
                }
                catch (FormatException)
                {
                }

                search.Country = dropCountry.SelectedValue.Trim();
                search.State = dropRegion.SelectedValue.Trim();
                search.City = dropCity.SelectedValue.Trim();

                var lSearchTerms = new List<ProfileAnswer[]>();

                var controls = new List<IProfileSearchComponent>(
                    Misc.Select<IProfileSearchComponent>(phProfileQuestions));

                foreach (IProfileSearchComponent searchTerm in controls)
                {
                    if (searchTerm.Answers != null && searchTerm.Answers.Length > 0)
                    {
                        ProfileQuestion question = ProfileQuestion.Fetch(searchTerm.Answers[0].Question.Id);

                        if (!Config.Users.DisableGenderInformation &&
                            (!question.VisibleForMale && search.Gender == Classes.User.eGender.Male
                             || !question.VisibleForFemale && search.Gender == Classes.User.eGender.Female
                             || !question.VisibleForCouple && search.Gender == Classes.User.eGender.Couple))
                            continue;

                        if (question.ParentQuestionID.HasValue)
                        {
                            var parentControl = controls.FirstOrDefault(
                                    c =>
                                    c != null && c.Answers.Length > 0 &&
                                    c.Answers[0].Question.Id == question.ParentQuestionID);
                            if (parentControl != null)
                            {
                                string[] parentAnswers = parentControl.Answers.Select(a => a.Value).ToArray();
                                if (!question.ParentQuestionChoices.Split(':').Any(parentChoice => parentAnswers.Contains(parentChoice)))
                                {
                                    continue;
                                }
                            }
                        }

                        lSearchTerms.Add(searchTerm.Answers);
                    }
                }

                search.Answers = lSearchTerms.ToArray();

                Session["CustomSearchRequest"] = search;
            }

            if (Config.BackwardCompatibility.UseClassicSearchPage)
                Response.Redirect("Search.aspx");
            else
                Response.Redirect("Search2.aspx");
        }
        public CreateMessageViewModel ()
	    {
            UsernameSearch = new UsernameSearch();
	    }