/// <summary> /// Initializes a new instance of the <see cref="CheckFareController"/> class. /// </summary> /// <param name="executionParam"> /// The execution param. /// </param> internal CheckFareController(ExecutionParam executionParam = null) { this._executionParam = executionParam; var liveFareDir = Path.Combine(ProcessUtils.CurrentProcessDirectory, "LiveFare"); this._liveFareStorage = new LiveFareFileStorage(liveFareDir); this._monitors = new AggeratingFareRequestMonitor(); }
/// <summary> /// Initializes a new instance of the <see cref="CheckFareForm"/> class. /// </summary> /// <param name="param"> /// The param. /// </param> public CheckFareForm(ExecutionParam param) { this.InitializeComponent(); this.Text = AppUtil.ProductName + " " + this.Text; this.Initialize(param); this.trayIcon.Icon = this.Icon; GUIBuilder.AttachMenuToTrayIcon(this, this.trayIcon, true); this.fareBrowserTabs.ImageList = new ImageList { ImageSize = new Size(6, 6) }; // Get extra empty space on tab header }
/// <summary> /// Initializes a new instance of the <see cref="SchedulerForm"/> class. /// </summary> /// <param name="defaultParam"> /// The default param. /// </param> /// <param name="logger"> /// The logger. /// </param> public SchedulerForm(ExecutionParam defaultParam, ILogger logger) { this.InitializeComponent(); this.InitializeImageList(); this._logger = logger; this._scheduler = new SchedulerManager(this._logger); this.Text = AppUtil.ProductName + " " + this.Text; this.loadProgress.ControlItem.ContainerControl = this; this.loadProgress.ControlItem.ShowInTaskbar = false; this.statusStrip.Items.Add(this.loadProgress); this._defaultParam = defaultParam.ReflectionDeepClone(logger); if (this._defaultParam.OperationMode != OperationMode.GetFareAndSave && this._defaultParam.OperationMode != OperationMode.LiveMonitor) { this._defaultParam.OperationMode = OperationMode.GetFareAndSave; } this.loadProgress.VisibleChanged += this.LoadProgress_VisibleChanged; }
/// <summary> /// Initializes a new instance of the <see cref="EnvConfiguratorDialog"/> class. /// </summary> /// <param name="environment"> /// The environment. /// </param> /// <param name="executionParam"> /// The execution param. /// </param> /// <exception cref="ArgumentException"> /// </exception> internal EnvConfiguratorDialog(MonitorEnvironment environment, ExecutionParam executionParam) : this() { if (environment == null) { throw new ArgumentException("Environment cannot be null"); } if (environment.Logger == null) { throw new ArgumentException("Environment logger cannot be null"); } if (environment.ConfigStore == null) { throw new ArgumentException("Environment config store cannot be null"); } if (executionParam.ConfigHandler == null) { throw new ArgumentException("Execution param config store cannot be null"); } this._logger = environment.Logger; this._typeResolver = new TypeResolver(this._logger); this._executionParam = executionParam.ReflectionDeepClone(this._logger); this.Height -= this.pnlTop.Height; this._env = environment.ReflectionDeepClone(this._logger); #if DEBUG this._env.Id = Guid.NewGuid().ToString(); #endif this.InitializeData(); }
/// <summary> /// Initializes a new instance of the <see cref="FlightStatisticForm"/> class. /// </summary> /// <param name="data"> /// The data. /// </param> /// <param name="executionParam"> /// The execution param. /// </param> /// <param name="isMainForm"> /// The is main form. /// </param> public FlightStatisticForm(IList<TravelRoute> data, ExecutionParam executionParam, bool isMainForm) { this.InitializeComponent(); this._isMainForm = isMainForm; this._routeData = data; if (data != null && data.Count > 0) { this._activeRoute = data[0]; this.ReloadRoutes(); } this._executionParam = executionParam; this.InitializeView(); }
/// <summary> /// The btn config_ click. /// </summary> /// <param name="sender"> /// The sender. /// </param> /// <param name="e"> /// The e. /// </param> private void btnConfig_Click(object sender, EventArgs e) { using (var configDialog = new EnvConfiguratorDialog(AppContext.MonitorEnvironment, this._executionParam)) { var result = configDialog.ShowDialog(this); if (result == DialogResult.OK) { var resultEnv = configDialog.ResultEnvironment; this._executionParam = configDialog.ResultParam; WinFormGlobalContext.GetInstance().SetEnvironment(resultEnv); this.InitializeView(); this.ReloadRoutes(); } } }
/// <summary> /// The get execution param. /// </summary> /// <param name="autoSync"> /// The auto sync. /// </param> /// <param name="exitAfterDone"> /// The exit after done. /// </param> /// <param name="isMinimized"> /// The is minimized. /// </param> /// <param name="opMode"> /// The op mode. /// </param> /// <returns> /// The <see cref="ExecutionParam"/>. /// </returns> private ExecutionParam GetExecutionParam(bool autoSync, bool exitAfterDone, bool isMinimized, OperationMode opMode) { FilterCondition filter = this.ReadFilter(); var result = new ExecutionParam { ConfigHandler = this._executionParam.ConfigHandler, AutoSync = autoSync, Departure = filter.Departure, DepartureDate = filter.DepartureDate, DepartureDateRange = this._executionParam.DepartureDateRange, Destination = filter.Destination, ExitAfterDone = exitAfterDone, IsMinimized = isMinimized, PriceLimit = filter.MaxPrice, ReturnDate = filter.ReturnDate, ReturnDateRange = this._executionParam.ReturnDateRange, MinStayDuration = filter.MinDuration, MaxStayDuration = filter.MaxDuration, OperationMode = opMode }; if (result.Departure == null) { result.Departure = this._executionParam.Departure; } if (result.Destination == null) { result.Destination = this._executionParam.Destination; } return result; }
/// <summary> /// The initialize. /// </summary> /// <param name="param"> /// The param. /// </param> private void Initialize(ExecutionParam param) { // Update the view based on Execution parameters this._executionParam = param.ReflectionDeepClone(AppContext.Logger); this.txtDeparture.SelectedAirport = param.Departure; this.txtDestination.SelectedAirport = param.Destination; if (param.MinStayDuration == int.MinValue || param.MinStayDuration == int.MaxValue) { param.MinStayDuration = Settings.Default.DefaultDurationMin; } if (param.MaxStayDuration == int.MinValue || param.MaxStayDuration == int.MaxValue) { param.MaxStayDuration = Settings.Default.DefaultDurationMax; } if (param.DepartureDate.IsUndefined() || param.DepartureDate < DateTime.Now) { param.DepartureDate = DateTime.Now.AddDays(1); } if (param.ReturnDate.IsUndefined() || param.ReturnDate < param.DepartureDate) { param.ReturnDate = param.DepartureDate.AddDays(param.MaxStayDuration); } this.departureDatePicker.MinDate = this.returnDatePicker.MinDate = DateTime.Now.Date; this.departureDatePicker.Value = param.DepartureDate; this.returnDatePicker.Value = param.ReturnDate; this.numDepartDateRangePlus.Value = param.DepartureDateRange.Plus; this.numDepartDateRangeMinus.Value = param.DepartureDateRange.Minus; this.numReturnDateRangePlus.Value = param.ReturnDateRange.Plus; this.numReturnDateRangeMinus.Value = param.ReturnDateRange.Minus; this.numMinDuration.Value = param.MinStayDuration; this.numMaxDuration.Value = param.MaxStayDuration; this.numPriceLimit.Value = param.PriceLimit > 0 ? param.PriceLimit : 1; this.loadProgress.ControlItem.ContainerControl = this; this.loadProgress.ControlItem.ShowInTaskbar = false; this.statusStrip.Items.Add(this.loadProgress); this.statusStrip.Items.Add(this.springLabelStrip); this.chkAutoFocusTabStrip.Control.Text = "Auto-focus completed tab"; this.chkAutoFocusTabStrip.Alignment = ToolStripItemAlignment.Right; this.statusStrip.Items.Add(this.chkAutoFocusTabStrip); this.chkAutoSyncStrip.Control.Text = "Auto-sync exported data"; this.chkAutoSyncStrip.Alignment = ToolStripItemAlignment.Right; this.chkAutoSyncStrip.ControlItem.DataBindings.Clear(); this.chkAutoSyncStrip.ControlItem.DataBindings.Add("Checked", this._executionParam, "AutoSync"); this.statusStrip.Items.Add(this.chkAutoSyncStrip); this.chkExitAfterDoneStrip.ControlItem.Text = "Exit after done"; this.chkExitAfterDoneStrip.ControlItem.DataBindings.Clear(); this.chkExitAfterDoneStrip.ControlItem.DataBindings.Add("Checked", this._executionParam, "ExitAfterDone"); this.chkExitAfterDoneStrip.Alignment = ToolStripItemAlignment.Right; this.statusStrip.Items.Add(this.chkExitAfterDoneStrip); foreach (ToolStripItem item in this.statusStrip.Items) { item.Margin = new Padding(3, 1, 3, 1); } this.UpdateViewForDuration(); this.ResizeStatusStrip(); }