public BarcelonaController(SedeTaskData user, SedeCheckerProxyAdressDTO proxy, ILogger logger, IRecaptchaV2Resolver recaptchaV2Resolver, SeaSettings settings) : base() { this.UserData = user; this._logger = logger; this._proxy = proxy; _settings = settings; _controllerSettings = settings.ControllerSettings; _scripts = settings.SedeScripts.Scripts; _f = new FileService(_logger); CaptchaResolver = recaptchaV2Resolver; }
public Main(SeaSettings settings) { _settings = settings; InitializeComponent(); _lc = new LoggerConsole { MdiParent = this }; _logger = _lc; _storage = new JsonStorageService <SedeAppDto>(SeaVariables.JsonStorageDb); _tds = new TasksDataService(_storage); _recaptcha = new RuCaptchaResolver(SeaVariables.ReCaptchaApiKey, SeaVariables.SitaCaptchaUrl, _logger); _ps = new SedeProxyService(_logger); _ps.OnProxyCallback += UpdateActiveProxyesCount; _ps.LaunchCheckAdressesState(); f = new FileService(_logger); InitializeUiForms(); InitializeScripts(); var callback = new TimerCallback(LaunchTasksProccesing); var rand = new Random(); var randTime = rand.Next(this._settings.TaskProccesingMinDueTimeout * 1000, this._settings.TaskProccesingMaxTimeout * 1000); _processTasksTimer = new Timer(callback, null, randTime, randTime); var cb = new TimerCallback(LaunchConstitutionTasksProccesing); var cRand = new Random(); var cRandTime = cRand.Next(this._settings.ConstitutionTaskProcessingMinDueTimeout * 1000, this._settings.ConstitutionTaskProcessingMaxTimeout * 1000); _processConstitutuionTasksTimer = new Timer(cb, null, cRandTime, cRandTime); }
public ConstitutionController(ConstitutionTaskData user, SedeCheckerProxyAdressDTO proxy, ILogger logger, IRecaptchaV2Resolver recaptchaV2Resolver, SeaSettings settings, ScriptsSettings scripts) { this.UserData = user; this._logger = logger; this._settings = settings.ControllerSettings; _s = settings; this._proxy = proxy; _scripts = scripts.Scripts; _f = new FileService(_logger); CaptchaResolver = recaptchaV2Resolver; }
private static SeaSettings InitializeSettings() { //todo: move it to json storage -> implement DTO entities & converters var ss = new SeaSettings { DefaultAppDir = Application.StartupPath, DefaultAppDataDir = $"{Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)}\\Sede\\", SitaUrl = "https://sede.administracionespublicas.gob.es/icpplus/index.html", SitaCaptchaUrl = "https://sede.administracionespublicas.gob.es/icpplus/acEntrada", RuCaptchaApiKey = "6Ld3FzoUAAAAANGzDQ-ZfwyAArWaG2Ae15CGxkKt", RucaptchaSuccessAction = "reportgood", RucaptchaBadAction = "reportbad", TaskProccesingMaxTimeout = 300, TaskProccesingMinDueTimeout = 150, ConstitutionTaskProcessingMaxTimeout = 14441, ConstitutionTaskProcessingMinDueTimeout = 14400, MailServiceSettings = new MailServiceSettings { SenderName = "SEA PROJECT", SenderEmail = "*****@*****.**", SmtpUseSsl = false, SmtpServer = "mail.adm.tools", SmtpPort = 25, SmtpPassword = "******", SmtpUser = "******", DefaultSubject = "SEA PROJECT - FOUNDED CITA REPORT", DefaultBodyTemplate = "<b>CONGRATULATIONS!</b> <br /><br /> <b>[REPORT ID]</b> {0} <br /> <b>[REPORT DATETIME]</b> {1} <br /> THE GREAT CITA WAS FOUND FOR <b>{2}</b>!", ReportReceivers = new[] { new MailServiceReportReceiver { Email = "*****@*****.**", Description = "Vitalii Ivanov", IsEnabled = true }, new MailServiceReportReceiver { Email = "*****@*****.**", Description = "Mariya Ponomareva", IsEnabled = true }, new MailServiceReportReceiver { Email = "*****@*****.**", Description = "Zachar Stadnichenko", IsEnabled = true } } }, ControllerSettings = new BaseControllerSettings { ChromeDriverSettings = new ChromeDriverSettings { WindowState = BrowserWindowState.Normal, //BrowserWindowsSize = new Size(), CloseAlianPages = false, DisableDefaultApps = false, DisableInfoBars = true, DisablePopupBlocking = false, IgnoreCertificateErrors = false, LaunchBrowserIncognitoMode = true, PageLoadTimeout = 60, UseProxy = true, //IsHeadless = true, } }, SedeScripts = new ScriptsSettings { Scripts = new Dictionary <string, string>() } }; ss.SedeScripts.Scripts.Add("DomButtonClickAction", $"{ss.DefaultAppDir}\\Scripts\\Sede\\SitaButtonClickAction.js"); ss.SedeScripts.Scripts.Add("SitaCalendarDateSelector", $"{ss.DefaultAppDir}\\Scripts\\Sede\\SitaCalendarDateSelector.js"); ss.SedeScripts.Scripts.Add("SitaGoogleCapthcaSolver", $"{ss.DefaultAppDir}\\Scripts\\Sede\\SitaGoogleCaptchaSolver.js"); ss.SedeScripts.Scripts.Add("SitaRadioDateSelector", $"{ss.DefaultAppDir}\\Scripts\\Sede\\SitaRadioDateSelector.js"); ss.SedeScripts.Scripts.Add("SitaListSelector", $"{ss.DefaultAppDir}\\Scripts\\Sede\\SitaListSelector.js"); return(ss); }