private void buttonLoad_Click(object sender, EventArgs e)
 {
     try
     {
         RawRange data = new NASA(Vars.Options.CacheFolder + "\\nasa").GetRange(DateTime.Now - TimeSpan.FromDays(30 * 365), DateTime.Now, new NPSMeteostationInfo()
         {
             Position = point
         });
         DataRange range = new DataRange(data, new DataRangeConverterParams()
         {
             HourModel  = hourModel,
             Interval   = StandartIntervals.D1,
             SourceType = sourceType,
             Year       = year
         });
         range.Name   = "Ряд NASA в точке " + point.ToString();
         Result       = range;
         DialogResult = DialogResult.OK;
         Close();
     }
     catch (Exception ex)
     {
         MessageBox.Show(this, "При загрузке данных произошла ошибка. Причина:\r\n" + ex.Message, this.Text, MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
Beispiel #2
0
        static void Main(string[] args)
        {
            var nasa    = new NASA();
            var view    = new CaptureUserInstructionsConsoleView(Console.In, Console.Out);
            var program = new Program(
                new CaptureUserInstructionsPresenter(
                    view,
                    new SynchronousCommandPump(new DefaultRegistry <ParameterizedCommand <string> >
            {
                new CreateMarsCommand(nasa),
                new DeployRoverCommand(
                    new DefaultRegistry <HeadingFactory>
                {
                    new HeadingFactory("N", x => new North(x)),
                    new HeadingFactory("E", x => new East(x)),
                    new HeadingFactory("W", x => new West(x)),
                    new HeadingFactory("S", x => new South(x)),
                    new UnknownHeadingFactory(),
                },
                    nasa),
                new NavigateRoverCommand(
                    new DefaultRegistry <Navigation>
                {
                    new Navigation('L', x => x.turn_left()),
                    new Navigation('R', x => x.turn_right()),
                    new Navigation('M', x => x.move_forward()),
                    new UnknownNavigation(),
                }
                    ,
                    view, nasa)
            }, new SynchronousCommandProcessor(), new CommandFactory())));

            program.run_against(args.Select(x => (CommandLineArgument)x));
        }
Beispiel #3
0
        /// <summary>
        /// нажатие на кнопку загрузки данных
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void buttonDownload_Click(object sender, EventArgs e)
        {
            if (spoint == null)
            {
                _ = MessageBox.Show(this, "Точка не выбрана", "Загрузка ряда", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }
            try
            {
                buttonDownload.Enabled = false;

                //сохранение последней точки
                Vars.Options.LoadNasaLastPoint = spoint.Position;

                NasaWindSpeedHeight spdParam = (NasaWindSpeedHeight)(new EnumTypeConverter <NasaWindSpeedHeight>().ConvertFrom(comboBoxSpeedHeight.SelectedItem));
                NASA     engineNASA          = new NASA(Vars.Options.CacheFolder + "\\nasa", 168, spdParam);
                RawRange res = engineNASA.GetRange(dateTimePickerFromDate.Value, dateTimePickerToDate.Value, spoint);
                try
                {
                    res.Name = geocoder.GetAddress(spoint.Position);
                }
                catch (Exception)
                {
                    res.Name = $"Широта {spoint.Position.Lat:0.000} Долгота {spoint.Position.Lng:0.000}";
                }

                Result       = res;
                DialogResult = DialogResult.OK;
                Close();
            }
            catch (WebException we)
            {
                buttonDownload.Enabled = true;
                _ = MessageBox.Show(this, we.Message, "Загрузка ряда", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            catch (ApplicationException exx)
            {
                buttonDownload.Enabled = true;
                _ = MessageBox.Show(this, exx.Message, "Загрузка ряда", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
        }
Beispiel #4
0
 public CreateMarsCommand(NASA nasa)
 {
     this.nasa = nasa;
 }
 public NavigateRoverCommand(Registry <Navigation> navigations, CaptureUserInstructionsView view, NASA nasa)
 {
     this.navigations = navigations;
     this.nasa        = nasa;
     this.view        = view;
 }
Beispiel #6
0
 public DeployRoverCommand(Registry <HeadingFactory> factories, NASA nasa)
 {
     this.factories = factories;
     this.nasa      = nasa;
 }