示例#1
0
        private async void lblDivarCategory_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            try
            {
                var all = await DivarCategoryBussines.GetAllAsync();

                if (all.Count > 0)
                {
                    if (MessageBox.Show($@"تعداد {all.Count} دسته بندی موجود است. 
                                            درصورت ادامه، دسته بندی فعلی حذف و دسته بندی جدید جایگزین می شود 
                                            آیا ادامه میدهید؟", @"هشدار", MessageBoxButtons.YesNo,
                                        MessageBoxIcon.Question) == DialogResult.No)
                    {
                        return;
                    }
                }

                var div = await DivarAdv.GetInstance();

                await div.GetCategory();

                Utility.CloseAllChromeWindows();
            }
            catch (Exception ex)
            {
                WebErrorLog.ErrorInstence.StartErrorLog(ex);
            }
        }
示例#2
0
 private async void btnSendDivarChat_Click(object sender, EventArgs e)
 {
     var list = new List<string>();
     list.Add("نرم افزار حسابداری نوین پرداز...... تلفن جهت هماهنگی و مشاوره 05137597590");
     var divar = await DivarAdv.GetInstance();
     //await divar.SendChat(list, 5, "تهران", null, null, null);
 }
示例#3
0
        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);
            }
        }
示例#4
0
        private async Task GetDelete()
        {
            try
            {
                if (cls.DayCountForDelete == 0)
                {
                    return;
                }
                var list = await AdvertiseLogBussines.GetAllAsync();

                var day = DateTime.Now.AddDays(-cls.DayCountForDelete);
                list = list.Where(q =>
                                  q.DateM <= day && q.StatusCode != StatusCode.Deleted && q.StatusCode != StatusCode.Expired)
                       .ToList();
                if (list.Count <= 0)
                {
                    return;
                }
                if (FarsiMessegeBox.Show(
                        $"تعداد {list.Count} آگهی وجود دارد که زمان حذف آنها فرارسیده است. آیا مایلید حذف کنید؟",
                        "حذف آگهی ها از سایت", FMessegeBoxButtons.YesNo) == DialogResult.Yes)
                {
                    var divar = await DivarAdv.GetInstance();

                    await divar.DeleteAllAdvFromDivar(list.OrderBy(q => q.DateM).ToList());
                }
            }
            catch (Exception e)
            {
                WebErrorLog.ErrorInstence.StartErrorLog(e);
            }
        }
示例#5
0
 private async void btnDivarCity_Click(object sender, EventArgs e)
 {
     var divar = await DivarAdv.GetInstance();
     var list = divar.GetAllCityFromDivar();
     foreach (var item in list)
     {
         //await item.SaveAsync();
     }
 }
示例#6
0
 private async void btnRegion_Click(object sender, EventArgs e)
 {
     var lst = new List<string>();
     lst.Add("اصفهان");
     lst.Add("اهواز");
     lst.Add("تهران");
     lst.Add("شیراز");
     lst.Add("قم");
     lst.Add("کرج");
     lst.Add("مشهد");
     var divar = await DivarAdv.GetInstance();
     var regList = await divar.GetAllRegionFromDivar(lst);
     foreach (var item in regList)
     {
         //await item.SaveAsync();
     }
 }
示例#7
0
        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);
            }
        }
示例#8
0
        private async void mnuChat_Click(object sender, EventArgs e)
        {
            if (DGrid.RowCount <= 0)
            {
                return;
            }
            if (DGrid.CurrentRow == null)
            {
                return;
            }
            var number = (long)DGrid[dgNumber.Index, DGrid.CurrentRow.Index].Value;
            var div    = await DivarAdv.GetInstance();

            if (await div.LoginChat(number, true))
            {
                await LoadData();
            }
        }
示例#9
0
        public static async Task <ReturnedSaveFuncInfo> Init(long number)
        {
            var res = new ReturnedSaveFuncInfo();

            try
            {
                var divar = DivarAdv.GetInstance();
                res.AddReturnedValue(await divar.StartRegisterAdv(number));
                Navigate("https://divar.ir/new");
            }
            catch (Exception ex)
            {
                WebErrorLog.ErrorInstence.StartErrorLog(ex);
                res.AddReturnedValue(ex);
            }

            return(res);
        }
示例#10
0
        private async void mnuDivarChatLogIn_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 divar  = await DivarAdv.GetInstance();

                await divar.LoginChat(number, true);
                await LoadData(txtSearch.Text);
            }
            catch (Exception exception)
            {
                WebErrorLog.ErrorInstence.StartErrorLog(exception);
            }
        }
示例#11
0
        private async Task DivarRegion(int cityCount)
        {
            try
            {
                var lst = new List <string>();
                lst.Add("اصفهان");
                lst.Add("اهواز");
                lst.Add("تهران");
                lst.Add("شیراز");
                lst.Add("قم");
                lst.Add("کرج");
                lst.Add("مشهد");
                var divar = await DivarAdv.GetInstance();

                var regList = await divar.GetAllRegionFromDivar(lst);

                await RegionBussiness.SaveAsync(AdvertiseType.Divar, regList);
            }
            catch (Exception exception)
            {
                WebErrorLog.ErrorInstence.StartErrorLog(exception);
            }
        }
示例#12
0
        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);
            }
        }
示例#13
0
        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);
            }
        }
示例#14
0
 private async void btnLogIn_Click(object sender, EventArgs e)
 {
     var divar = await DivarAdv.GetInstance();
     await divar.Login(long.Parse(txtLogin.Text));
 }
示例#15
0
        private async void lblBaseInfo_Click(object sender, EventArgs e)
        {
            try
            {
                if (MessageBox.Show(this,
                                    "توجه داشته باشید... درصورتیکه از قبل داده ای را دریافت نموده باشید و مجددا نسبت به دریافت آن اقدام نمایدد، می بایست داده های موجود در صفحه تطبیق را هم اصلاح نمایید. آیا ادامه میدهید؟",
                                    "هشدار", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.No)
                {
                    return;
                }


                var divar    = DivarAdv.GetInstance();
                var cityList = divar.GetAllCityFromDivar();

                var serializedData = new SerializedDataBussines()
                {
                    Guid = Guid.NewGuid(),
                    Name = "DivarCities",
                    Data = Json.ToStringJson(cityList)
                };

                await SerializedDataBussines.SaveAsync("DivarCities", serializedData.Data);


                var cities = await SerializedDataBussines.GetDivarCityAsync();

                var dc = cities.Where(q =>
                                      q.Name.Contains("مشهد") || q.Name.Contains("اصفهان") || q.Name.Contains("تهران") ||
                                      q.Name.Contains("کرج") || q.Name.Contains("اهواز") || q.Name.Contains("شیراز") ||
                                      q.Name.Contains("قم")).ToList();
                var regList = await divar.GetAllRegionFromDivar(dc);

                Utility.CloseAllChromeWindows();
                var serializedData_ = new SerializedDataBussines()
                {
                    Guid = Guid.NewGuid(),
                    Name = "DivarRegions",
                    Data = Json.ToStringJson(regList)
                };

                await SerializedDataBussines.SaveAsync("DivarRegions", serializedData_.Data);


                //var sheypoor = SheypoorAdv.GetInstance();
                //var cityList = sheypoor.GetAllCityFromSheypoor();

                //var serializedData = new SerializedDataBussines()
                //{
                //    Guid = Guid.NewGuid(),
                //    Name = "SheypoorCities",
                //    Data = Json.ToStringJson(cityList)
                //};

                //await SerializedDataBussines.SaveAsync("SheypoorCities", serializedData.Data);



                //var cities_ = await SerializedDataBussines.GetAsync("SheypoorCities");
                //var dc_ = cities_.Data.FromJson<List<SheypoorCities>>();

                //var regList_ = await sheypoor.GetAllRegionFromSheypoor(dc_);
                //Utility.CloseAllChromeWindows();
                //var serializedData_ = new SerializedDataBussines()
                //{
                //    Guid = Guid.NewGuid(),
                //    Name = "DivarRegions",
                //    Data = Json.ToStringJson(regList_)
                //};

                //await SerializedDataBussines.SaveAsync("DivarRegions", serializedData_.Data);
            }
            catch (Exception ex)
            {
                WebErrorLog.ErrorInstence.StartErrorLog(ex);
            }
        }
示例#16
0
 private async void btnDivarChatLogin_Click(object sender, EventArgs e)
 {
     var divar = await DivarAdv.GetInstance();
     await divar.LoginChat(long.Parse(textBox1.Text), false);
 }
示例#17
0
        private async void btnSeach_Click(object sender, EventArgs e)
        {
            try
            {
                clsAdvertise.MaxFileCount = (int)txtMaxFile.Value;

                var     list = new List <BuildingViewModel>();
                decimal fPrice1 = 0, sPrice1 = 0, fPrice2 = 0, sPrice2 = 0;

                if (cmbRahn1.SelectedIndex == 0)
                {
                    fPrice1 = txtFPrice1.Text.ParseToDecimal() * 10000;
                }
                if (cmbRahn1.SelectedIndex == 1)
                {
                    fPrice1 = txtFPrice1.Text.ParseToDecimal() * 10000000;
                }
                if (cmbRahn1.SelectedIndex == 2)
                {
                    fPrice1 = txtFPrice1.Text.ParseToDecimal() * 10000000000;
                }

                if (cmbRahn2.SelectedIndex == 0)
                {
                    sPrice1 = txtFPrice2.Text.ParseToDecimal() * 10000;
                }
                if (cmbRahn2.SelectedIndex == 1)
                {
                    sPrice1 = txtFPrice2.Text.ParseToDecimal() * 10000000;
                }
                if (cmbRahn2.SelectedIndex == 2)
                {
                    sPrice1 = txtFPrice2.Text.ParseToDecimal() * 10000000000;
                }

                if (cmbEjare1.SelectedIndex == 0)
                {
                    fPrice2 = txtSPrice1.Text.ParseToDecimal() * 10000;
                }
                if (cmbEjare1.SelectedIndex == 1)
                {
                    fPrice2 = txtSPrice1.Text.ParseToDecimal() * 10000000;
                }
                if (cmbEjare1.SelectedIndex == 2)
                {
                    fPrice2 = txtSPrice1.Text.ParseToDecimal() * 10000000000;
                }

                if (cmbEjare2.SelectedIndex == 0)
                {
                    sPrice2 = txtSPrice2.Text.ParseToDecimal() * 10000;
                }
                if (cmbEjare2.SelectedIndex == 1)
                {
                    sPrice2 = txtSPrice2.Text.ParseToDecimal() * 10000000;
                }
                if (cmbEjare2.SelectedIndex == 2)
                {
                    sPrice2 = txtSPrice2.Text.ParseToDecimal() * 10000000000;
                }

                if (chbSystem.Checked)
                {
                    _token?.Cancel();
                    _token = new CancellationTokenSource();
                    list.AddRange(await BuildingBussines.GetAllAsync(txtCode.Text, _token.Token,
                                                                     (Guid)cmbBuildingType.SelectedValue,
                                                                     (Guid)cmbBuildingAccountType.SelectedValue, txtFMasahat.Text.ParseToInt(),
                                                                     txtSMasahat.Text.ParseToInt(), txtRoomCount.Text.ParseToInt(), fPrice1, fPrice2,
                                                                     sPrice1, sPrice2,
                                                                     (EnRequestType)cmbReqType.SelectedIndex, RegionList));
                }

                if (chbDivar.Checked)
                {
                    var list_ = new List <string>();
                    foreach (var item in RegionList)
                    {
                        var related = await AdvertiseRelatedRegionBussines.GetByRegionGuidAsync(item);

                        if (related != null)
                        {
                            list_.Add(related.OnlineRegionName);
                            continue;
                        }

                        var region = await RegionsBussines.GetAsync(item);

                        if (region != null)
                        {
                            list_.Add(region.Name);
                        }
                    }

                    list_ = list_.GroupBy(q => q).Select(q => q.Key).ToList();
                    var divar = DivarAdv.GetInstance();
                    list.AddRange(await divar.GetBuildingAsync((EnRequestType)cmbReqType.SelectedIndex, fPrice1,
                                                               sPrice1, fPrice2, sPrice2, txtFMasahat.Text.ParseToInt(),
                                                               txtSMasahat.Text.ParseToInt(), (int)txtMaxFile.Value, list_));
                }


                var frm = new frmBuildingAdvanceSearch(list);
                frm.ShowDialog(this);
            }
            catch (Exception ex)
            {
                WebErrorLog.ErrorInstence.StartErrorLog(ex);
            }
        }
示例#18
0
        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);
            }
        }
示例#19
0
        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);
            }
        }