private async Task LoadData(AdvertiseType type, string search = "") { try { if (type == AdvertiseType.Divar) { var list = await DivarCityBussines.GetAllAsync(search); DivarBindingSource.DataSource = list.OrderBy(q => q.Name).Where(q => q.Status).ToList(); lblCounter.Text = DivarBindingSource.Count.ToString(); } else if (type == AdvertiseType.Sheypoor) { var list = await SheypoorCityBussines.GetAllAsync(search); SheypoorBindingSource.DataSource = list.OrderBy(q => q.Name).Where(q => q.Status).ToList(); lblCounter.Text = SheypoorBindingSource.Count.ToString(); } } catch (Exception e) { WebErrorLog.ErrorInstence.StartErrorLog(e); } }
private async void picCity_Click(object sender, EventArgs e) { try { var allcit = await DivarCityBussines.GetAllAsync(); if (allcit.Count > 0) { if (FarsiMessegeBox.Show( "شهرهای دیوار پیش از این مقداردهی شده اند در صورت ادامه باید تمامی تنظیمات سیمکارت ها و آگهی ها دوباره انجام دهید. آیا ادامه میدهید؟.", "هشدار", FMessegeBoxButtons.YesNo, FMessegeBoxIcons.Information) == DialogResult.No) { return; } } var divar = await DivarAdv.GetInstance(); var list = divar.GetAllCityFromDivar(); await DivarCityBussines.SaveAsync(list); await DivarRegion(list.Count); await SheypoorCity(); Utility.CloseAllChromeWindows(); } catch (Exception exception) { WebErrorLog.ErrorInstence.StartErrorLog(exception); } }
private async void Form1_Load(object sender, EventArgs e) { //Fill Number ComboBox var list1 = await SimcardBussines.GetAllAsync(); SimcardBindingSource.DataSource = list1; //Fill Ads To Grid //var list2 = await Advertise.GetAllAsync("D:\\DivarTest"); //SimcardAdvBindingSource.DataSource = list2; //Fill Divar City To Grid var list3 = await DivarCityBussines.GetAllAsync(); divarCityBussinesBindingSource.DataSource = list3.ToList(); }
private async Task FillCity() { try { var list3 = await DivarCityBussines.GetAllAsync(); cityBindingSource.DataSource = list3.ToList(); var list4 = await SheypoorCityBussines.GetAllAsync(); SheypoorCityBindingSource.DataSource = list4; } catch (Exception e) { WebErrorLog.ErrorInstence.StartErrorLog(e); } }
private void FillComboBox() { try { Invoke(new MethodInvoker(async() => { var list = await SimcardBussines.GetAllAsync(); var a = list.Select(q => q.Operator).Distinct().ToList(); cmbOperator.DataSource = a; var divarCat1 = await AdvCategoryBussines.GetAllAsync(Guid.Empty, AdvertiseType.Divar); divarCat1 = divarCat1.OrderBy(q => q.Name).ToList(); PostCat1BindingSource.DataSource = divarCat1; var dCity = await DivarCityBussines.GetAllAsync(); dCity = dCity.OrderBy(q => q.Name).ToList(); DivarCBindingSource.DataSource = dCity; cmbDivarCity.SelectedIndex = 0; var shCity = await SheypoorCityBussines.GetAllAsync(); shCity = shCity.OrderBy(q => q.Name).ToList(); SheypoorCBindingSource.DataSource = shCity; cmbSheypoorCity.SelectedIndex = 0; var divarChat1 = await AdvCategoryBussines.GetAllAsync(Guid.Empty, AdvertiseType.Divar); divarChat1 = divarChat1.OrderBy(q => q.Name).ToList(); DivarChatBindingSource1.DataSource = divarChat1; var sheypoorChat1 = await AdvCategoryBussines.GetAllAsync(Guid.Empty, AdvertiseType.Sheypoor); sheypoorChat1 = sheypoorChat1.OrderBy(q => q.Name).ToList(); SheypoorChatBindingSource1.DataSource = sheypoorChat1; var postCity = await DivarCityBussines.GetAllAsync(); postCity = postCity.OrderBy(q => q.Name).ToList(); PostCityBindingSource.DataSource = postCity; cmbPostCity.SelectedIndex = 0; })); } catch (Exception e) { WebErrorLog.ErrorInstence.StartErrorLog(e); } }
private async Task LoadCity() { try { var a = new DivarCityBussines() { Guid = Guid.Empty, Name = "[همه]" }; var list = await DivarCityBussines.GetAllAsync(); list.Add(a); CityBindingSource.DataSource = list.ToList().OrderBy(q => q.Name); } catch (Exception e) { WebErrorLog.ErrorInstence.StartErrorLog(e); } }
private static async Task SendChat(SettingBussines clsSetting, SimcardBussines simCard) { try { var passage1 = new List <string>(); if (!string.IsNullOrEmpty(simCard.FirstChatPassage)) { passage1.Add(simCard.FirstChatPassage); } if (!string.IsNullOrEmpty(simCard.FirstChatPassage2)) { passage1.Add(simCard.FirstChatPassage2); } if (!string.IsNullOrEmpty(simCard.FirstChatPassage3)) { passage1.Add(simCard.FirstChatPassage3); } if (!string.IsNullOrEmpty(simCard.FirstChatPassage4)) { passage1.Add(simCard.FirstChatPassage4); } var passage2 = new List <string>(); if (!string.IsNullOrEmpty(simCard.SecondChatPassage)) { passage2.Add(simCard.SecondChatPassage); } if (!string.IsNullOrEmpty(simCard.SecondChatPassage2)) { passage2.Add(simCard.SecondChatPassage2); } if (!string.IsNullOrEmpty(simCard.SecondChatPassage3)) { passage2.Add(simCard.SecondChatPassage3); } if (!string.IsNullOrEmpty(simCard.SecondChatPassage4)) { passage2.Add(simCard.SecondChatPassage4); } var date = DateConvertor.M2SH(DateTime.Now); date = date.Replace("/", "_"); if (simCard.IsSendChat) { var city = DivarCityBussines.GetAsync(simCard.DivarCityForChat); var cat1 = AdvCategoryBussines.Get(simCard.DivarChatCat1)?.Name ?? ""; var cat2 = AdvCategoryBussines.Get(simCard.DivarChatCat2)?.Name ?? ""; var cat3 = AdvCategoryBussines.Get(simCard.DivarChatCat3)?.Name ?? ""; var fileName = $"{cat1}__{cat2}__{cat3}__{date}"; fileName = fileName.Replace(" ", "_"); var ff = Path.Combine(clsSetting.Address, fileName + ".txt"); var divar = await DivarAdv.GetInstance(); await divar.SendChat(passage1, passage2, simCard.ChatCount, city.Name, cat1, cat2, cat3, ff, simCard); } //if (simCard.IsSendChatSheypoor) //{ // var city1 = SheypoorCityBussines.GetAsync(simCard.SheypoorCityForChat); // var cat1 = AdvCategoryBussines.Get(simCard.SheypoorChatCat1)?.Name ?? ""; // var cat2 = AdvCategoryBussines.Get(simCard.SheypoorChatCat2)?.Name ?? ""; // var fileName = $"{cat1}__{cat2}__{date}"; // var ff = Path.Combine(clsSetting.Address, fileName + ".txt"); // var shey = await SheypoorAdv.GetInstance(); // await shey.SendChat(passage1, passage2, simCard.ChatCount, city1.Name, cat1, cat2, null, // ff, simCard); //} simCard.NextUse = DateTime.Now.AddMinutes(30); await simCard.SaveAsync(); } catch (Exception e) { WebErrorLog.ErrorInstence.StartErrorLog(e); } }
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); } }