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); }
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); } }