private async void picCategory_Click(object sender, EventArgs e) { try { var allcit = await AdvCategoryBussines.GetAllAsync(); if (allcit.Count > 0) { if (FarsiMessegeBox.Show( "دسته بندی ها پیش از این مقداردهی شده اند در صورت ادامه باید تمامی تنظیمات سیمکارت ها و آگهی ها دوباره انجام دهید. آیا ادامه میدهید؟.", "هشدار", FMessegeBoxButtons.YesNo, FMessegeBoxIcons.Information) == DialogResult.No) { return; } } var sh = await SheypoorAdv.GetInstance(); await sh.GetCategory(); var d = await DivarAdv.GetInstance(); await d.GetCategory(); Utility.CloseAllChromeWindows(); } catch (Exception exception) { WebErrorLog.ErrorInstence.StartErrorLog(exception); } }
public static async Task RegisterSheypoor() { var sheypoor = new SheypoorAdv(); var newAdv = new AdvertiseLogBusiness { SimCardNumber = 9154128712, Adv = "dsfsdf", ImagesPathList = new List <string>() }; await sheypoor.RegisterAdv(newAdv); }
private static async Task UpdateAdvStatus(int dayCount = 0) { try { var divar = await DivarAdv.GetInstance(); await divar.UpdateAllAdvStatus(dayCount); var sheypoor = await SheypoorAdv.GetInstance(); await sheypoor.UpdateAllAdvStatus(dayCount); } catch (Exception ex) { WebErrorLog.ErrorInstence.StartErrorLog(ex); } }
private async Task SheypoorRegion(int cityCount) { try { var lstTupple = new List <Tuple <string, string> >(); var finalList = new List <RegionBussiness>(); lstTupple.Add(new Tuple <string, string>("آذربایجان شرقی", "تبریز")); lstTupple.Add(new Tuple <string, string>("اصفهان", "اصفهان")); lstTupple.Add(new Tuple <string, string>("البرز", "کرج")); lstTupple.Add(new Tuple <string, string>("تهران", "تهران")); lstTupple.Add(new Tuple <string, string>("خراسان رضوی", "مشهد")); lstTupple.Add(new Tuple <string, string>("خوزستان", "اهواز")); lstTupple.Add(new Tuple <string, string>("فارس", "شیراز")); lstTupple.Add(new Tuple <string, string>("قم", "قم")); lstTupple.Add(new Tuple <string, string>("گیلان", "رشت")); lstTupple.Add(new Tuple <string, string>("مازندران", "ساری")); foreach (var(item1, item2) in lstTupple) { var sheypoor = await SheypoorAdv.GetInstance(); var regions = await sheypoor.GetAllRegionFromSheypoor(item1, item2); var a = SheypoorCityBussines.GetAsync(item2); foreach (var aRegion in regions) { var clsRegionBusiness = new RegionBussiness() { Guid = Guid.NewGuid(), CityGuid = a.Guid, DateSabt = DateConvertor.M2SH(DateTime.Now), Type = AdvertiseType.Sheypoor, Name = aRegion }; finalList.Add(clsRegionBusiness); } } await RegionBussiness.SaveAsync(AdvertiseType.Sheypoor, finalList); } catch (Exception ex) { WebErrorLog.ErrorInstence.StartErrorLog(ex); } }
private async Task SheypoorCity() { try { var sh = await SheypoorAdv.GetInstance(); var list = await sh.GetAllCityFromSheypoor(); foreach (var item in list) { await item.SaveAsync(); } await SheypoorRegion(list.Count); } catch (Exception e) { WebErrorLog.ErrorInstence.StartErrorLog(e); } }
private async void mnuSheypoorLogin_Click(object sender, EventArgs e) { try { if (DGrid.RowCount <= 0) { return; } if (DGrid.CurrentRow == null) { return; } var number = (long)DGrid[dg_Number.Index, DGrid.CurrentRow.Index].Value; var shey = await SheypoorAdv.GetInstance(); await shey.Login(number); await LoadData(txtSearch.Text); } catch (Exception exception) { WebErrorLog.ErrorInstence.StartErrorLog(exception); } }
public static async Task ManageAdvSend(SettingBussines clsSetting) { try { var tokenSource = new CancellationTokenSource(); SimcardBussines firstSimCardBusiness = null; var list = await SimcardBussines.GetAllAsync(); list = list.OrderBy(q => q.NextUse).Where(q => q.Status).ToList(); foreach (var simCard in list) { while (!await Utility.PingHost("www.google.com")) { //خطا در برقراری اتصال به اینترنت await Utility.Wait(10); lstMessage.Clear(); lstMessage.Add("خطا در برقراری اتصال به اینترنت"); Utility.ShowBalloon("لطفا شبکه خود را چک نمایید", lstMessage); } if (simCard.isSendPostToTelegram) { var city = DivarCityBussines.GetAsync(simCard.CityForGetPost ?? Guid.Empty)?.Name ?? "مشهد"; var cat1 = AdvCategoryBussines.Get(simCard.DivarPostCat1 ?? Guid.Empty)?.Name ?? "خدمات"; var cat2 = AdvCategoryBussines.Get(simCard.DivarPostCat2 ?? Guid.Empty)?.Name ?? "آرایشگری و زیبایی"; var cat3 = AdvCategoryBussines.Get(simCard.DivarPostCat3 ?? Guid.Empty)?.Name ?? ""; var chatID = simCard.ChannelForSendPost ?? "@Test2_2211201"; var divar = await DivarAdv.GetInstance(); await divar.GetPost(simCard.Number, cat1, cat2, cat3 , city, simCard.PostCount ?? 5, chatID, simCard.DescriptionForPost ?? "", simCard.SMS_Description); } if (simCard.IsSendAdv) { try { //کنترل شماره خروجی if (simCard.Number == 0) { lstMessage.Clear(); lstMessage.Add("پر شدن تعداد آگهی در IP"); Utility.ShowBalloon("پر شدن تعداد آگهی در " + await Utility.FindGateWay(), lstMessage); continue; } //کنترل تعداد آگهی ارسال شده در هر IP while (clsSetting?.CountAdvInIP <= AdvertiseLogBussines.GetAllAdvInDayFromIP(await Utility.GetLocalIpAddress())) { await Utility.Wait(20); lstMessage.Clear(); lstMessage.Add("پر شدن تعداد آگهی"); Utility.ShowBalloon("پر شدن تعداد آگهی در " + await Utility.FindGateWay(), lstMessage); await SendChat(clsSetting, simCard); } firstSimCardBusiness = await SimcardBussines.GetAsync(simCard.Number); if (firstSimCardBusiness is null) { continue; } var lastUse = firstSimCardBusiness.NextUse; var startDayOfCurrentMonthOfDateShToMiladi = DateConvertor.StartDayOfPersianMonth(); var startDayOfNextMonthOfDateShToMiladi = DateConvertor.EndDayOfPersianMonth().AddDays(1); //آمار آگهی های ثبت شده برای سیم کارت در ماه جاری var a1 = await AdvertiseLogBussines.GetAllAsync(); a1 = a1.Where(p => p.SimCardNumber == simCard.Number && (p.StatusCode == StatusCode .Published || p.StatusCode == StatusCode .InPublishQueue || p.StatusCode == StatusCode .WaitForPayment) && p.DateM >= startDayOfCurrentMonthOfDateShToMiladi).ToList(); var registeredAdvCount = a1.Count; if (registeredAdvCount >= clsSetting?.CountAdvInMounth) { //تاریخ روز اول ماه شمسی بعد را تنظیم می کند چون تا سر ماه بعد دیگر نیازی به این سیم کارت نیست firstSimCardBusiness.NextUse = startDayOfNextMonthOfDateShToMiladi; await firstSimCardBusiness.SaveAsync(); lstMessage.Clear(); lstMessage.Add( $"سیمکارت {simCard.Number} به دلیل پر بودن آگهی ها در ماه موفق به ارسال آگهی نشد"); Utility.ShowBalloon("عدم ارسال آگهی", lstMessage); await SendChat(clsSetting, simCard); continue; } //آمار آگهی های ثبت شده امروز var currentDate = DateTime.Now.Date; var a2 = await AdvertiseLogBussines.GetAllAsync(); a2 = a2.Where(p => p.SimCardNumber == simCard.Number && (p.StatusCode == StatusCode.Published || p.StatusCode == StatusCode.InPublishQueue || p.StatusCode == StatusCode.WaitForPayment) && p.DateM >= currentDate).ToList(); registeredAdvCount = a2.Count; if (registeredAdvCount >= clsSetting?.CountAdvInDay) { //تاریخ فردا رو ست می کند چون تا فردا دیگه نیازی به این سیم کارت نیست firstSimCardBusiness.NextUse = DateTime.Today.AddDays(1); await firstSimCardBusiness.SaveAsync(); lstMessage.Clear(); lstMessage.Add( $"سیمکارت {simCard.Number} به دلیل پرپودن آگهی ها در روز موفق به ارسال آگهی نشد"); Utility.ShowBalloon("عدم ارسال آگهی", lstMessage); await SendChat(clsSetting, simCard); continue; } var divar = await DivarAdv.GetInstance(); await divar.StartRegisterAdv(simCard); simCard.NextUse = DateTime.Now.AddMinutes(30); await simCard.SaveAsync(); await Wait(2); } catch (Exception e) { } } if (simCard.IsSendAdvSheypoor) { //کنترل شماره خروجی if (simCard.Number == 0) { lstMessage.Clear(); lstMessage.Add("پر شدن تعداد آگهی در IP"); Utility.ShowBalloon("پر شدن تعداد آگهی در " + await Utility.FindGateWay(), lstMessage); continue; } //کنترل تعداد آگهی ارسال شده در هر IP while (clsSetting?.CountAdvInIP <= AdvertiseLogBussines.GetAllAdvInDayFromIP(await Utility.GetLocalIpAddress())) { await Utility.Wait(20); lstMessage.Clear(); lstMessage.Add("پر شدن تعداد آگهی"); Utility.ShowBalloon("پر شدن تعداد آگهی در " + await Utility.FindGateWay(), lstMessage); await SendChat(clsSetting, simCard); } firstSimCardBusiness = await SimcardBussines.GetAsync(simCard.Number); if (firstSimCardBusiness is null) { continue; } var lastUse = firstSimCardBusiness.NextUse; var card1 = simCard.Number; var startDayOfCurrentMonthOfDateShToMiladi = DateConvertor.StartDayOfPersianMonth(); var startDayOfNextMonthOfDateShToMiladi = DateConvertor.EndDayOfPersianMonth().AddDays(1); //آمار آگهی های ثبت شده برای سیم کارت در ماه جاری var a1 = await AdvertiseLogBussines.GetAllAsync(); a1 = a1.Where(p => p.SimCardNumber == card1 && (p.StatusCode == StatusCode .Published || p.StatusCode == StatusCode .InPublishQueue || p.StatusCode == StatusCode .WaitForPayment) && p.DateM >= startDayOfCurrentMonthOfDateShToMiladi).ToList(); var registeredAdvCount = a1.Count; if (registeredAdvCount >= clsSetting?.CountAdvInMounth) { //تاریخ روز اول ماه شمسی بعد را تنظیم می کند چون تا سر ماه بعد دیگر نیازی به این سیم کارت نیست firstSimCardBusiness.NextUse = startDayOfNextMonthOfDateShToMiladi; await firstSimCardBusiness.SaveAsync(); lstMessage.Clear(); lstMessage.Add( $"سیمکارت {simCard.Number} به دلیل پر بودن آگهی ها در ماه موفق به ارسال آگهی نشد"); Utility.ShowBalloon("عدم ارسال آگهی", lstMessage); await SendChat(clsSetting, simCard); continue; } //آمار آگهی های ثبت شده امروز var currentDate = DateTime.Now.Date; var a2 = await AdvertiseLogBussines.GetAllAsync(); a2 = a2.Where(p => p.SimCardNumber == card1 && (p.StatusCode == StatusCode.Published || p.StatusCode == StatusCode.InPublishQueue || p.StatusCode == StatusCode.WaitForPayment) && p.DateM >= currentDate).ToList(); registeredAdvCount = a2.Count; if (registeredAdvCount >= clsSetting?.CountAdvInDay) { //تاریخ فردا رو ست می کند چون تا فردا دیگه نیازی به این سیم کارت نیست firstSimCardBusiness.NextUse = DateTime.Today.AddDays(1); await firstSimCardBusiness.SaveAsync(); lstMessage.Clear(); lstMessage.Add( $"سیمکارت {simCard.Number} به دلیل پرپودن آگهی ها در روز موفق به ارسال آگهی نشد"); Utility.ShowBalloon("عدم ارسال آگهی", lstMessage); await SendChat(clsSetting, simCard); continue; } var shey = await SheypoorAdv.GetInstance(); await shey.StartRegisterAdv(simCard); simCard.NextUse = DateTime.Now.AddMinutes(30); await simCard.SaveAsync(); await Wait(2); } if (simCard.IsSendChat) { await SendChat(clsSetting, simCard); } CloseAllChromeWindows(); simCard.NextUse = DateTime.Now.AddHours(1); await simCard.SaveAsync(); } await Utility.Wait(10); lstMessage.Clear(); lstMessage.Add("لیست کاملا پیمایش شد"); Utility.ShowBalloon("اتمام یک دور کامل از پیمایش سیمکارت ها", lstMessage); await UpdateAdvStatus(clsSetting?.DayCountForUpdateState ?? 10); CloseAllChromeWindows(); } catch (Exception ex) { WebErrorLog.ErrorInstence.StartErrorLog(ex); } }
public static async Task ManageAdvSend() { try { var tokenSource = new CancellationTokenSource(); var res = await SettingBusiness.GetAllAsync(); var cls = res.Count == 0 ? new SettingBusiness() : res[0]; short maxDailyCountDivar = 1; short maxMountlyCountDivar = 1; short maxAdvCountInIpInDayDivar = 1; short maxDailyCountSheypoor = 1; short maxMountlyCountSheypoor = 1; short maxAdvCountInIpInDaySheypoor = 1; short maxDailyCountNiazmandyHa = 1; short maxMountlyCountNiazmandyHa = 1; short maxAdvCountInIpInDayNiazmandyHa = 1; var filePath = Path.Combine(Application.StartupPath, "GateWay.txt"); var filelst = ReadAllLines(filePath).ToList(); var GateWayCount = 0; while (!tokenSource.IsCancellationRequested) { var isIpFull = true; for (var i = (int)AdvertiseType.Divar; i <= (int)AdvertiseType.NiazmandyHa; i++) { var lst = new List <long>(); switch (i) { case (int)AdvertiseType.Divar: maxDailyCountDivar = (short)cls.DivarSetting.AdvCountInDay; maxMountlyCountDivar = (short)cls.DivarSetting.AdvCountInMonth; maxAdvCountInIpInDayDivar = (short)cls.DivarSetting.CountAdvInIp; break; case (int)AdvertiseType.Sheypoor: maxDailyCountSheypoor = (short)cls.SheypoorSetting.AdvCountInDay; maxMountlyCountSheypoor = (short)cls.SheypoorSetting.AdvCountInMonth; maxAdvCountInIpInDaySheypoor = (short)cls.SheypoorSetting.CountAdvInIp; break; case (int)AdvertiseType.NiazKade: break; case (int)AdvertiseType.NiazmandyHa: maxDailyCountNiazmandyHa = (short)cls.NiazmandyHaSetting.AdvCountInDay; maxMountlyCountNiazmandyHa = (short)cls.NiazmandyHaSetting.AdvCountInMonth; maxAdvCountInIpInDayNiazmandyHa = (short)cls.NiazmandyHaSetting.CountAdvInIp; break; } var number = await SimCardBusiness.GetNextSimCardNumberAsync( (short)i, maxDailyCountDivar, maxDailyCountSheypoor, await GetLocalIpAddress(), maxMountlyCountDivar, maxMountlyCountSheypoor, maxAdvCountInIpInDayDivar, maxAdvCountInIpInDaySheypoor, maxDailyCountNiazmandyHa, maxMountlyCountNiazmandyHa, maxAdvCountInIpInDayNiazmandyHa); if (number != 0) { isIpFull = false; lst.Add(number); if (i == (int)AdvertiseType.Divar) { if (await PingHost("185.105.239.1")) { var divar = await DivarAdv.GetInstance(); await divar.StartRegisterAdv(lst, maxDailyCountDivar); } } else if (i == (int)AdvertiseType.Sheypoor) { if (await PingHost("185.105.239.1")) { var sheypoor = await SheypoorAdv.GetInstance(); await sheypoor.StartRegisterAdv(lst, maxDailyCountSheypoor); } } else if (i == (int)AdvertiseType.NiazKade) { isIpFull = false; continue; } else if (i == (int)AdvertiseType.DivarChat) { isIpFull = false; continue; } else if (i == (int)AdvertiseType.NiazmandyHa) { //if (await PingHost("185.105.239.1")) //{ // var niazmandyHa = await NiazmandyHaAdv.GetInstance(); // await niazmandyHa.StartRegisterAdv(lst, maxDailyCountNiazmandyHa); //} isIpFull = false; continue; } } CloseAllChromeWindows(); if (!isIpFull) { continue; } GateWayCount++; if (GateWayCount > filelst.Count) { numbers = new List <int>(); if (await FindGateWay() == IP_Store.IP_Mokhaberat.Value) { await ChangeIp(); await Wait(60); } while (await GetLocalIpAddress() == null) { await Wait(10); lstMessage.Clear(); lstMessage.Add("مودم مخابرات ریست شد. لطفا منتظر بمانید"); ShowBalloon("درحال اتصال...", lstMessage); } await UpdateAdvStatus(1); i = -1; GateWayCount = 0; continue; } var gateway = await GetRandomGeteWay(); if (gateway == null) { continue; } await SetGateway(gateway); lstMessage.Clear(); lstMessage.Add(" GateWay تعویض شد. لطفا منتظر بمانید"); ShowBalloon("درحال اتصال...", lstMessage); while (await GetLocalIpAddress() == null) { await Wait(2); lstMessage.Add(" GateWay تعویض شد. لطفا منتظر بمانید"); ShowBalloon("درحال اتصال...", lstMessage); } //GateWayCount = 0; i = -1; } } } catch (Exception ex) { WebErrorLog.ErrorLogInstance.StartLog(ex); } }
public static async Task <bool> GoToNextSite(AdvertiseType type, short mode) { try { //mode 0 => حرکت رو به جلو //mode 1 => از سر گیری سایت ها بعد از ریستارت مورم SettingBusiness _cls; var res = await SettingBusiness.GetAllAsync(); _cls = res.Count == 0 ? new SettingBusiness() : res[0]; var path = Path.Combine(Application.StartupPath, "SiteRate.txt"); var lst = File.ReadAllLines(path).ToList(); if (!lst.Any()) { return(false); } var index = ""; if (mode == 0) { for (var i = 0; i < lst.Count; i++) { if (lst[i] != type.ToString()) { continue; } if (i + 1 == lst.Count) { index = null; break; } index = lst[i + 1]; break; } } else { CloseAllChromeWindows(); index = lst[0]; } switch (index) { case "Divar": if (_cls.DivarSetting.CountAdvInIp != 0) { var divar = await DivarAdv.GetInstance(); await divar.StartRegisterAdv(); return(true); } break; case "Sheypoor": if (_cls.SheypoorSetting.CountAdvInIp != 0) { var sheypoor = await SheypoorAdv.GetInstance(); await sheypoor.StartRegisterAdv(); return(true); } break; case "NiazKade": if (_cls.NiazSetting.CountAdvInIp != 0) { var niaz = await NiazAdv.GetInstance(); await niaz.StartRegisterAdv(); return(true); } break; case "NiazmandyHa": break; } return(false); } catch (Exception ex) { WebErrorLog.ErrorLogInstance.StartLog(ex); return(false); } }