private void SetWeatherValuesToTable(DataColumn[] dataWeatherColumns, DataTable weatherDataSource, int dataRowCounter, int rowCounter)
        {
            double            windVector10      = 0;
            double            windVector50      = 0;
            WeatherCalculator weatherCalculator = new WeatherCalculator();

            for (int i = 0; i < dataWeatherColumns.Count(); i++)
            {
                switch (i)
                {
                case 0:
                    dgvMeasurementResults.Rows[dataRowCounter].Cells[dataWeatherColumns[i].ColumnName].Value = Math.Round((double)weatherDataSource.Rows[rowCounter].ItemArray[i + 2] / 100, 3);
                    break;

                case 1:
                    dgvMeasurementResults.Rows[dataRowCounter].Cells[dataWeatherColumns[i].ColumnName].Value = Math.Round((double)weatherDataSource.Rows[rowCounter].ItemArray[i + 2] * 1000, 3);
                    break;

                case 2:
                    dgvMeasurementResults.Rows[dataRowCounter].Cells[dataWeatherColumns[i].ColumnName].Value = Math.Round((double)weatherDataSource.Rows[rowCounter].ItemArray[i + 2] - 273.15, 3);
                    break;

                case 3:
                    dgvMeasurementResults.Rows[dataRowCounter].Cells[dataWeatherColumns[i].ColumnName].Value = Math.Round(weatherCalculator.CalculateVectorSpeed((double)weatherDataSource.Rows[rowCounter].ItemArray[i + 2], (double)weatherDataSource.Rows[rowCounter].ItemArray[i + 3]), 3);
                    break;

                case 4:
                    windVector10 = Math.Round(rbAzimuthVector.Checked ? weatherCalculator.CalculateWindVector((double)weatherDataSource.Rows[rowCounter].ItemArray[i + 1], (double)weatherDataSource.Rows[rowCounter].ItemArray[i + 2]) : weatherCalculator.CalculateWindVector(-(double)weatherDataSource.Rows[rowCounter].ItemArray[i + 1], -(double)weatherDataSource.Rows[rowCounter].ItemArray[i + 2]), 3);
                    if (windVector10 >= 0)
                    {
                        dgvMeasurementResults.Rows[dataRowCounter].Cells[dataWeatherColumns[i].ColumnName].Value = windVector10;
                    }
                    else
                    {
                        dgvMeasurementResults.Rows[dataRowCounter].Cells[dataWeatherColumns[i].ColumnName].Value = windVector10 + 360;
                    }
                    break;

                case 5:
                    dgvMeasurementResults.Rows[dataRowCounter].Cells[dataWeatherColumns[i].ColumnName].Value = Math.Round(weatherCalculator.CalculateVectorSpeed((double)weatherDataSource.Rows[rowCounter].ItemArray[i + 2], (double)weatherDataSource.Rows[rowCounter].ItemArray[i + 3]), 3);
                    break;

                case 6:
                    windVector50 = Math.Round(rbAzimuthVector.Checked ? weatherCalculator.CalculateWindVector((double)weatherDataSource.Rows[rowCounter].ItemArray[i + 1], (double)weatherDataSource.Rows[rowCounter].ItemArray[i + 2]) : weatherCalculator.CalculateWindVector(-(double)weatherDataSource.Rows[rowCounter].ItemArray[i + 1], -(double)weatherDataSource.Rows[rowCounter].ItemArray[i + 2]), 3);
                    if (windVector50 >= 0)
                    {
                        dgvMeasurementResults.Rows[dataRowCounter].Cells[dataWeatherColumns[i].ColumnName].Value = windVector50;
                    }
                    else
                    {
                        dgvMeasurementResults.Rows[dataRowCounter].Cells[dataWeatherColumns[i].ColumnName].Value = windVector50 + 360;
                    }
                    break;

                default:
                    dgvMeasurementResults.Rows[dataRowCounter].Cells[dataWeatherColumns[i].ColumnName].Value = Math.Round((double)weatherDataSource.Rows[rowCounter].ItemArray[i + 2], 3);
                    break;
                }
            }
        }
Exemple #2
0
 public void ShouldReturnSuccessWhenFerengiCalculatorIsValid()
 {
     using (WeatherCalculator _weatherCalculator = new WeatherCalculator())
     {
         //[0,1,2,3,4,5]
         var ferengiVelocity = 1;
         var index           = 3;
         var position        = _weatherCalculator.CalculePosition(index, ferengiVelocity);
         Assert.Equal(3, position);
     }
 }
Exemple #3
0
 public void ShoulReturnSuccessWhenBetasoideCalculatorIsValid()
 {
     using (WeatherCalculator _weatherCalculator = new WeatherCalculator())
     {
         //[0,3,6,9,12]
         var betasoideVelocity = 3;
         var index             = 4;
         var position          = _weatherCalculator.CalculePosition(index, betasoideVelocity);
         Assert.Equal(12, position);
     }
 }
Exemple #4
0
 public void ShouldReturnSuccessWhenVolcanoCalculatorIsValid()
 {
     using (WeatherCalculator _weatherCalculator = new WeatherCalculator())
     {
         //[0,5,10,15,20,25]
         var volcanoVelocity = 5;
         var index           = 5;
         var position        = _weatherCalculator.CalculePosition(index, volcanoVelocity);
         Assert.Equal(25, position);
     }
 }
Exemple #5
0
        public string Clima(int dia)
        {
            Console.WriteLine("clima");
            var k      = new WeatherCalculator.MaxRain();
            var result = new WeatherCalculator.dayData
            {
                dia   = dia,
                clima = WeatherCalculator.GetWeather(dia, ref k)
            };

            return(JsonConvert.SerializeObject(result));
        }
Exemple #6
0
        public void ShouldReturnSuccessWhenWeatherIsValid()
        {
            using (WeatherCalculator _weatherCalculator = new WeatherCalculator())
            {
                var handler = new WeatherHandler(new FakeWeatherRepository(), _weatherCalculator);
                var command = new NewWeatherCommand()
                {
                    Type           = Domain.VolcanoContext.Enums.WeatherType.Lluvia,
                    Description    = "Test",
                    Date           = DateTime.Now,
                    PlanetPosition = 40
                };

                handler.Handle(command);
                Assert.True(command.IsValid());
            }
        }
Exemple #7
0
 public dynamic Report()
 {
     Console.WriteLine("Report");
     return(WeatherCalculator.GetNextTenYearsReport());
 }
Exemple #8
0
        private DataRow SetDataRowWithValues(DataRow dataRow, string[] values, bool isFirstFile = false)
        {
            double            windVector10      = 0;
            double            windVector50      = 0;
            WeatherCalculator weatherCalculator = new WeatherCalculator();

            for (int i = 0; i < values.Count(); i++)
            {
                switch (i)
                {
                case 0:
                    string dateTimeString = values[i];
                    dataRow[i] = ConvertDateTime(dateTimeString);
                    break;

                case 1:
                    dataRow[i] = Math.Round(double.Parse(values[i]) / 100, 3);
                    break;

                case 2:
                    dataRow[i] = Math.Round(double.Parse(values[i]) * 1000, 3);
                    break;

                case 3:
                    dataRow[i] = Math.Round(double.Parse(values[i]) - 273.15, 3);
                    break;

                case 4:
                    dataRow[i] = Math.Round(weatherCalculator.CalculateVectorSpeed(double.Parse(values[i]), double.Parse(values[i + 1])), 3);
                    break;

                case 5:
                    windVector10 = Math.Round(rbAzimuthVector.Checked ? weatherCalculator.CalculateWindVector(double.Parse(values[i - 1]), double.Parse(values[i])) : weatherCalculator.CalculateWindVector(-double.Parse(values[i - 1]), -double.Parse(values[i])), 3);
                    if (windVector10 >= 0)
                    {
                        dataRow[i] = windVector10;
                    }
                    else
                    {
                        dataRow[i] = windVector10 + 360;
                    }
                    break;

                case 6:
                    double windSpeed = Math.Round(weatherCalculator.CalculateVectorSpeed(double.Parse(values[i]), double.Parse(values[i + 1])), 3);
                    dataRow[i] = windSpeed;
                    if (cbSpeedAndPower.Checked)
                    {
                        dataRow[i + 2] = weatherCalculator.CalculateWindSpeedByHeight((double)nudHx.Value, windSpeed, (double)nudAlpha.Value, 50);
                        dataRow[i + 3] = weatherCalculator.ConversionOfWindSpeedIntoPower(windSpeed, (double)nudPr.Value, (double)nudVci.Value, (double)nudVr.Value, (double)nudVco.Value);
                    }
                    break;

                case 7:
                    windVector50 = Math.Round(rbAzimuthVector.Checked ? weatherCalculator.CalculateWindVector(double.Parse(values[i - 1]), double.Parse(values[i])) : weatherCalculator.CalculateWindVector(-double.Parse(values[i - 1]), -double.Parse(values[i])), 3);
                    if (windVector50 >= 0)
                    {
                        dataRow[i] = windVector50;
                    }
                    else
                    {
                        dataRow[i] = windVector50 + 360;
                    }
                    break;
                }
            }


            return(dataRow);
        }