示例#1
0
        public void SaveQuery()
        {
            if (webBrowser.Url.ToString() != UrlSearch)
            {
                MessageBox.Show("Это не страница поиска");
                return;
            }
            var form = WatinBrowser.Form(Find.ByName("tx_uedbflat_pi2"));

            if (!form.Exists)
            {
                MessageBox.Show("Это не страница поиска");
                return;
            }
            var criteria = SearchContext.Current.Data.Criteria;

            criteria.Town = form.SelectList(Find.ByName("tx_uedbflat_pi2[DATA][town_id][e]")).GetAttributeValue("value");
            var tmp = form.SelectList(Find.ByName("tx_uedbflat_pi2[DATA][rooms][e][1]")).GetAttributeValue("value");

            criteria.RoomCount = int.Parse(tmp);

            criteria.IgnoreFirstFloor = form.CheckBox(Find.ByName("tx_uedbflat_pi2[DATA][storey][ne]")).Checked;
            criteria.IgnoreLastFloor  = form.CheckBox(Find.ByName("tx_uedbflat_pi2[DATA][storey][fne]")).Checked;

            tmp = form.TextField(Find.ByName("tx_uedbflat_pi2[DATA][area_kitchen][ge]")).Value;
            criteria.KitcherFrom = string.IsNullOrWhiteSpace(tmp) ? (decimal?)null : decimal.Parse(tmp);

            tmp = form.TextField(Find.ByName("tx_uedbflat_pi2[DATA][area_living][ge]")).Value;
            criteria.LivingSpaceFrom = string.IsNullOrWhiteSpace(tmp) ? (decimal?)null : decimal.Parse(tmp);

            tmp             = form.TextField(Find.ByName("tx_uedbflat_pi2[DATA][building_year][le]")).Value;
            criteria.YearTo = string.IsNullOrWhiteSpace(tmp) ? (int?)null : int.Parse(tmp);

            tmp = form.SelectList(Find.ByName("tx_uedbflat_pi2[rec_per_page]")).GetAttributeValue("value");
            criteria.FlatsPerPage = int.Parse(tmp);

            tmp = form.TextField(Find.ByName("tx_uedbflat_pi2[DATA][price][le]")).Value;
            criteria.PriceTo = string.IsNullOrWhiteSpace(tmp) ? (int?)null : int.Parse(tmp);
            tmp = form.TextField(Find.ByName("tx_uedbflat_pi2[DATA][price][ge]")).Value;
            criteria.PriceFrom = string.IsNullOrWhiteSpace(tmp) ? (int?)null : int.Parse(tmp);
        }
示例#2
0
        private void SetCriterias()
        {
            try
            {
                var form = WatinBrowser.Form(Find.ByName("tx_uedbflat_pi2"));
                if (!form.Exists)
                {
                    WatinBrowser.WaitForComplete();
                }
                var criteria = SearchContext.Current.Data.Criteria;


                form.SelectOption("tx_uedbflat_pi2[DATA][rooms][e][1]", criteria.RoomCount > 0 ? criteria.RoomCount.ToString() : "3");

                // tmp.SelectByValue(criteria.RoomCount > 0 ? criteria.RoomCount.ToString() : "3");

                form.SetCheked("tx_uedbflat_pi2[DATA][storey][ne]", criteria.IgnoreFirstFloor);
                form.SetCheked("tx_uedbflat_pi2[DATA][storey][fne]", criteria.IgnoreLastFloor);
                form.TextField(Find.ByName("tx_uedbflat_pi2[DATA][building_year][le]")).Value = criteria.YearTo.ToString();
                form.TextField(Find.ByName("tx_uedbflat_pi2[DATA][area_kitchen][ge]")).Value  = criteria.KitcherFrom.ToString();
                form.TextField(Find.ByName("tx_uedbflat_pi2[DATA][area_living][ge]")).Value   = criteria.LivingSpaceFrom.ToString();
                form.TextField(Find.ByName("tx_uedbflat_pi2[DATA][price][ge]")).Value         = criteria.PriceFrom.ToString();
                form.TextField(Find.ByName("tx_uedbflat_pi2[DATA][price][le]")).Value         = criteria.PriceTo.ToString();

                if (criteria.FlatsPerPage > 0)
                {
                    form.SelectOption("tx_uedbflat_pi2[rec_per_page]", criteria.FlatsPerPage.ToString());
                }


                form.SelectOption("tx_uedbflat_pi2[DATA][town_id][e]", string.IsNullOrWhiteSpace(criteria.Town) ? "5102" : criteria.Town);
            }
            catch (Exception ex)
            {
                SearchContext.Current.Log.AddMessage(Severity.Warning, "Ошибка установки параметров по умролчанию", ex);
            }
        }