private async Task RegisterAdv(AdvertiseLogBusiness adv) { var ret = new ReturnedSaveFuncInfo(); var monitor = new PerfMonitor(); try { adv.AdvType = AdvertiseType.NiazKade; _driver = RefreshDriver(_driver); _driver.Navigate().GoToUrl("http://www.niazkade.com/new"); await Wait(4); //کلیک روی ساب کتگوری 1 if (string.IsNullOrEmpty(adv.SubCategory1)) { adv.SubCategory1 = _cls?.NiazSetting?.Category1; } _driver.FindElements(By.ClassName("category-list")).FirstOrDefault(q => q.Text == adv.SubCategory1)?.Click(); await Wait(2); //کلیک روی ساب کتگوری2 if (string.IsNullOrEmpty(adv.SubCategory2)) { adv.SubCategory2 = _cls?.NiazSetting?.Category2; } _driver.FindElements(By.ClassName("category-list")).FirstOrDefault(q => q.Text == adv.SubCategory2)?.Click(); await Wait(); //درج عکسها _driver.FindElement(By.XPath("//input[@type='file']")).SendKeys(adv.ImagesPath); //درج عنوان آگهی _driver.FindElement(By.Id("title")).SendKeys(""); _driver.FindElement(By.Id("title")).SendKeys(adv.Title); await Wait(); //انتخاب شهر _driver.FindElements(By.ClassName("vs__search")).FirstOrDefault()?.SendKeys(adv.State + "\n"); await Wait(2); _driver.FindElements(By.ClassName("vs__search")).LastOrDefault()?.SendKeys(adv.City + "\n"); //await Wait(); //درج محتوای آگهی _driver.FindElement(By.Id("description")) .SendKeys(""); _driver.FindElement(By.Id("description")) .SendKeys(adv.Content.Replace('(', '<').Replace(')', '>')); //await Wait(); //درج قیمت _driver.FindElement(By.Id("price"))?.SendKeys(""); _driver.FindElement(By.Id("price"))?.SendKeys(adv.Price.ToString()); await Wait(); _driver.FindElement(By.Id("phone_number"))?.SendKeys(""); _driver.FindElement(By.Id("phone_number"))?.SendKeys("0" + adv.SimCardNumber.ToString()); await Wait(2); //کلیک روی دکمه ثبت آگهی _driver.FindElements(By.TagName("button")).FirstOrDefault(q => q.Text == "ثبت اگهی") ?.Click(); //اگر آگهی با موفقیت ثبت شود لینک مدیریت آگهی ذخیره می شود await Wait(2); adv.URL = _driver.Url; adv.UpdateDesc = @"در صف انتشار"; adv.AdvStatus = @"در صف انتشار"; adv.StatusCode = (short)StatusCode.InPublishQueue; adv.AdvType = AdvertiseType.NiazKade; adv.IP = await GetLocalIpAddress(); await adv.SaveAsync(); var sim = await SimCardBusiness.GetAsync(adv.SimCardNumber); sim.DivarModified = DateTime.Now; await sim.SaveAsync(); //بعد از درج آگهی در دیتابیس لاگ می شود } catch (Exception ex) { // MessageBox.Show(@"در هنگام ثبت آگهی زیر خطا رخ داد\r\n" + adv.Adv + @"\r\n" + ex.Message); WebErrorLog.ErrorLogInstance.StartLog(ex); ret.AddReturnedValue(ex); } finally { monitor.Dispose(); } }
private async Task RegisterAdv(AdvertiseLogBusiness adv) { var ret = new ReturnedSaveFuncInfo(); var monitor = new PerfMonitor(); try { adv.AdvType = AdvertiseType.NiazmandyHa; _driver = Utility.RefreshDriver(_driver); _driver.Navigate().GoToUrl("https://niazmandyha.ir/newAd"); await Utility.Wait(); //درج عکسها _driver.FindElement(By.XPath("//input[@type='file']")).SendKeys(adv.ImagesPath); //درج عنوان آگهی _driver.FindElement(By.Name("title")).SendKeys(""); _driver.FindElement(By.Name("title")).SendKeys(adv.Title); //کلیک کردن روی کتگوری اصلی _driver.FindElements(By.Name("category")).FirstOrDefault()?.Click(); await Utility.Wait(); //کلیک روی ساب کتگوری 1 if (string.IsNullOrEmpty(adv.SubCategory1)) { adv.SubCategory1 = cls?.NiazmandyHaSetting?.Category1; } _driver.FindElements(By.TagName("option")).FirstOrDefault(q => q.Text == adv.SubCategory1)?.Click(); await Utility.Wait(1); //درج قیمت _driver.FindElement(By.Name("cost"))?.SendKeys(""); _driver.FindElement(By.Name("cost"))?.SendKeys(adv.Price.ToString()); await Utility.Wait(); //درج محتوای آگهی var thread = new Thread(() => Clipboard.SetText(adv.Content.Replace('(', '<').Replace(')', '>'))); thread.SetApartmentState(ApartmentState.STA); thread.Start(); var t = _driver.FindElement(By.TagName("iframe")); t.Click(); await Utility.Wait(1); t.SendKeys(OpenQA.Selenium.Keys.Control + "v"); var thread1 = new Thread(Clipboard.Clear); thread1.SetApartmentState(ApartmentState.STA); thread1.Start(); //انتخاب شهر await Utility.Wait(); _driver.FindElement(By.Name("state")).Click(); await Utility.Wait(); _driver.FindElements(By.TagName("option"))?.FirstOrDefault(q => q.Text == adv.State)?.Click(); await Utility.Wait(1); _driver.FindElement(By.Name("city")).Click(); await Utility.Wait(); var cc = _driver.FindElements(By.TagName("option")).FirstOrDefault(q => q.Text == adv.City) ?? _driver.FindElements(By.TagName("option")).LastOrDefault(); await Utility.Wait(); cc?.Click(); //کلیک روی دکمه ثبت آگهی await Utility.Wait(2); _driver.FindElements(By.TagName("button")).FirstOrDefault(q => q.Text == "ثبت آگهی") ?.Click(); //اگر آگهی با موفقیت ثبت شود لینک مدیریت آگهی ذخیره می شود await Utility.Wait(); await Utility.Wait(2); adv.URL = await MakeUrl(_driver.Url); adv.UpdateDesc = @"در صف انتشار"; adv.AdvStatus = @"در صف انتشار"; adv.StatusCode = (short)StatusCode.InPublishQueue; adv.AdvType = AdvertiseType.NiazmandyHa; adv.IP = await Utility.GetLocalIpAddress(); adv.SubCategory2 = "-"; await adv.SaveAsync(); var sim = await SimCardBusiness.GetAsync(adv.SimCardNumber); sim.NiazmandyHaModified = DateTime.Now; await sim.SaveAsync(); //بعد از درج آگهی در دیتابیس لاگ می شود } catch (Exception ex) { // MessageBox.Show(@"در هنگام ثبت آگهی زیر خطا رخ داد\r\n" + adv.Adv + @"\r\n" + ex.Message); WebErrorLog.ErrorLogInstance.StartLog(ex); ret.AddReturnedValue(ex); } finally { monitor.Dispose(); } }