Beispiel #1
0
        public WeatherReport GetWeather(string city)
        {
            var weatherClient = new OpenWeatherMapClient();
            var weatherObject = weatherClient.GetWeather(city);

            WeatherReport report = new WeatherReport();

            Temperature tempatureInfo = new Temperature
            {
                Current = weatherObject.Result.main.temp,
                Low     = weatherObject.Result.main.temp_min,
                High    = weatherObject.Result.main.temp_max
            };

            report.Temperatures = tempatureInfo;

            report.Pressure = weatherObject.Result.main.pressure;
            report.Humidity = weatherObject.Result.main.humidity;

            Winds wind = new Winds
            {
                Speed     = weatherObject.Result.wind.speed,
                Direction = weatherObject.Result.wind.deg
            };

            report.Winds = wind;

            report.Description = "Here is today's weather data for " + city + "!";

            return(report);
        }
 public Weather(double temperature, double pressure, Winds wind, Precipitations precipitation)
 {
     this._temperature   = temperature;
     this._pressure      = pressure;
     this._wind          = wind;
     this._precipitation = precipitation;
 }
            internal override Region ReadEntry(BinaryReaderEx br)
            {
                RegionType type = br.GetEnum8 <RegionType>(br.Position + br.VarintSize + 2);

                switch (type)
                {
                case RegionType.Region0:
                    return(Region0s.EchoAdd(new Region.Region0(br)));

                case RegionType.Light:
                    return(Lights.EchoAdd(new Region.Light(br)));

                case RegionType.StartPoint:
                    return(StartPoints.EchoAdd(new Region.StartPoint(br)));

                case RegionType.Sound:
                    return(Sounds.EchoAdd(new Region.Sound(br)));

                case RegionType.SFX:
                    return(SFXs.EchoAdd(new Region.SFX(br)));

                case RegionType.Wind:
                    return(Winds.EchoAdd(new Region.Wind(br)));

                case RegionType.EnvLight:
                    return(EnvLights.EchoAdd(new Region.EnvLight(br)));

                case RegionType.Fog:
                    return(Fogs.EchoAdd(new Region.Fog(br)));

                default:
                    throw new NotImplementedException($"Unimplemented region type: {type}");
                }
            }
Beispiel #4
0
        public void FinishRequest()
        {
            FishingRecord record;

            // validate fields
            try
            {
                // date and time
                CommonPresenterStuff.ValidateDateEarlierThanNow(_view.DateTimeStart, "start date and time");
                CommonPresenterStuff.ValidateCronologicalDates(_view.DateTimeStart, _view.DateTimeEnd,
                                                               "start date and time", "end date and time");

                // location name
                CommonPresenterStuff.ValidateFieldNotEmpty(_view.Location, "location");

                // nature events
                CommonPresenterStuff.ValidateFieldNotEmpty(_view.Wind, "wind");
                CommonPresenterStuff.ValidateFieldNotEmpty(_view.MoonPhase, "moon phase");
                CommonPresenterStuff.ValidateFieldNotEmpty(_view.Tide, "tide");
            }
            catch (Exception e)
            {
                _view.ShowErrorMessage(e.Message);
                return;
            }

            // if fish catch or sale is empty, warn user
            if (_fishCatch.GetCaughtFish().Count == 0)
            {
                if (!_view.WarnUser(CommonPresenterStuff.WarnFieldEmptyMessage("fish catch")))
                {
                    return;
                }
            }
            if (_fishCatch.GetSoldFish().Count == 0)
            {
                if (!_view.WarnUser(CommonPresenterStuff.WarnFieldEmptyMessage("fish sale")))
                {
                    return;
                }
            }

            // try create record
            Winds      wind      = CommonPresenterStuff.GetWindEnum(_view.Wind);
            MoonPhases moonPhase = CommonPresenterStuff.GetMoonPhaseEnum(_view.MoonPhase);
            Tides      tide      = CommonPresenterStuff.GetTideEnum(_view.Tide);

            try
            {
                record = FishingRecordFactory.CreateFishingRecord(_view.DateTimeStart, _view.DateTimeEnd,
                                                                  _view.Location, wind, moonPhase, tide, _fishCatch);
            }
            catch (Exception)
            {
                _view.ShowErrorMessage(CommonPresenterStuff.ErrorMessage());
                return;
            }

            Finish(record);
        }
            /// <summary>
            /// Adds a region to the appropriate list for its type; returns the region.
            /// </summary>
            public Region Add(Region region)
            {
                switch (region)
                {
                case Region.Region0 r: Region0s.Add(r); break;

                case Region.Light r: Lights.Add(r); break;

                case Region.StartPoint r: StartPoints.Add(r); break;

                case Region.Sound r: Sounds.Add(r); break;

                case Region.SFX r: SFXs.Add(r); break;

                case Region.Wind r: Winds.Add(r); break;

                case Region.EnvLight r: EnvLights.Add(r); break;

                case Region.Fog r: Fogs.Add(r); break;

                default:
                    throw new ArgumentException($"Unrecognized type {region.GetType()}.", nameof(region));
                }
                return(region);
            }
Beispiel #6
0
        public static FishingRecord CreateFishingRecord(DateTime inDtStart, DateTime inDtEnd, string inLocationName,
                                                        Winds inWind, MoonPhases inMoonPhase, Tides inTide, FishCatch inFishCatch)
        {
            DateTime         dtAdded    = DateTime.Now;
            DateTimeInterval dtInterval = new DateTimeInterval(inDtStart, inDtEnd);
            Location         location   = LocationRepository.GetInstance().GetLocation(inLocationName);
            NatureEvents     nContext   = new NatureEvents(inWind, inMoonPhase, inTide);

            FishingRecord record = new FishingRecord(dtAdded, dtInterval, location, nContext, inFishCatch);

            return(record);
        }
Beispiel #7
0
            internal override Region ReadEntry(BinaryReaderEx br)
            {
                RegionType type = br.GetEnum8 <RegionType>(br.Position + 0xA);

                switch (type)
                {
                case RegionType.Region0:
                    var region0 = new Region.Region0(br);
                    Region0s.Add(region0);
                    return(region0);

                case RegionType.Light:
                    var light = new Region.Light(br);
                    Lights.Add(light);
                    return(light);

                case RegionType.StartPoint:
                    var startPoint = new Region.StartPoint(br);
                    StartPoints.Add(startPoint);
                    return(startPoint);

                case RegionType.Sound:
                    var sound = new Region.Sound(br);
                    Sounds.Add(sound);
                    return(sound);

                case RegionType.SFX:
                    var sfx = new Region.SFX(br);
                    SFXs.Add(sfx);
                    return(sfx);

                case RegionType.Wind:
                    var wind = new Region.Wind(br);
                    Winds.Add(wind);
                    return(wind);

                case RegionType.EnvLight:
                    var envLight = new Region.EnvLight(br);
                    EnvLights.Add(envLight);
                    return(envLight);

                case RegionType.Fog:
                    var fog = new Region.Fog(br);
                    Fogs.Add(fog);
                    return(fog);

                default:
                    throw new NotImplementedException($"Unimplemented region type: {type}");
                }
            }
        /// <summary>
        /// Метод для получения статистики
        /// </summary>
        private IList <WindChange> GetWindChanges()
        {
            int windsCount = Winds.Count() - 1;
            IList <WindChange> windChanges = new List <WindChange>(windsCount);

            for (int i = 0; i < windsCount; i++)
            {
                Wind       currentWind = Winds.ElementAt(i);
                Wind       nextWind    = Winds.ElementAt(i + 1);
                WindChange windChange  = new WindChange(currentWind, nextWind);

                windChanges.Add(windChange);
            }
            return(windChanges);
        }
        /// <summary>
        /// Метод для получения информации о периодах
        /// </summary>
        /// <returns>Информация о периодах</returns>
        public IList <PeriodInformation> GetPeriodsInformation()
        {
            IEnumerable <int>         years        = Winds.Select(_ => _.WindDate.Year).Distinct();
            IList <PeriodInformation> periodsInfos = new List <PeriodInformation>(years.Count());

            foreach (int year in years)
            {
                IList <Wind>      periodWinds = Winds.Where(_ => _.WindDate.Year == year).OrderBy(_ => _.WindDate).ToList();
                PeriodInformation periodInfo  = new PeriodInformation(periodWinds, year);

                periodsInfos.Add(periodInfo);
            }

            return(periodsInfos);
        }
Beispiel #10
0
            public void Add(IMsbRegion item)
            {
                switch (item)
                {
                case Region.Region0 r:
                    Region0s.Add(r);
                    break;

                case Region.Light r:
                    Lights.Add(r);
                    break;

                case Region.StartPoint r:
                    StartPoints.Add(r);
                    break;

                case Region.Sound r:
                    Sounds.Add(r);
                    break;

                case Region.SFX r:
                    SFXs.Add(r);
                    break;

                case Region.Wind r:
                    Winds.Add(r);
                    break;

                case Region.EnvLight r:
                    EnvLights.Add(r);
                    break;

                case Region.Fog r:
                    Fogs.Add(r);
                    break;

                default:
                    throw new ArgumentException(
                              message: "Item is not recognized",
                              paramName: nameof(item));
                }
            }
Beispiel #11
0
        public void AddFishingRecordRequest()
        {
            // ensure nature contex is not empty
            if (_view.Wind == "")
            {
                _view.ShowErrorMessage(_windEmptyError);
                return;
            }
            if (_view.MoonPhase == "")
            {
                _view.ShowErrorMessage(_moonPhaseEmptyError);
                return;
            }
            if (_view.Tide == "")
            {
                _view.ShowErrorMessage(_tideEmptyError);
                return;
            }

            Winds      wind      = CommonFunctionalities.GetWindEnum(_view.Wind);
            MoonPhases moonPhase = CommonFunctionalities.GetMoonPhaseEnum(_view.MoonPhase);
            Tides      tide      = CommonFunctionalities.GetTideEnum(_view.Tide);

            try
            {
                FishingRecord record = FishingRecordFactory.CreateFishingRecord(_view.StartDateTime, _view.EndDateTime,
                                                                                _view.Location, wind, moonPhase, tide, fishCatch);

                FishingRecordRepository.GetInstance().AddRecord(record);
            }
            catch (FishermanBaseException e)
            {
                _view.ShowErrorMessage(e.Info);
                return;
            }

            _parent.AddRecordName(DateTime.Now);

            _view.End();
        }
Beispiel #12
0
        //敵オブジェクト配置
        void CreateObject(asd.Vector2DF position, int obj)
        {
            switch (obj)
            {
            case 0:
                Walls.Add(new Wall(position));
                LayerOfMain.AddObject(Walls[Walls.Count - 1]);
                SetWallRainColligeData(Walls[Walls.Count - 1].Position);
                break;

            case 1:
                Clouds.Add(new Cloud(position, TypeOfCloud.Small));
                LayerOfMain.AddObject(Clouds[Clouds.Count - 1]);
                break;

            case 2:
                Clouds.Add(new Cloud(position, TypeOfCloud.Medium));
                LayerOfMain.AddObject(Clouds[Clouds.Count - 1]);
                break;

            case 3:
                Clouds.Add(new Cloud(position, TypeOfCloud.Large));
                LayerOfMain.AddObject(Clouds[Clouds.Count - 1]);
                break;

            case 4:
                break;

            case 5:
                Healers.Add(new Healer(position));
                LayerOfMain.AddObject(Healers[Healers.Count - 1]);
                break;

            case 6:
                Winds.Add(new Wind(position));
                LayerOfMain.AddObject(Winds[Winds.Count - 1]);
                break;
            }
        }
Beispiel #13
0
        //オブジェクト破棄
        void DisposeObject()
        {
            for (int i = 0; i < Walls.Count; i++)
            {
                if (Walls[i].Position.X < CameraOfMain.Src.Position.X - 300.0f)
                {
                    Walls[i].Dispose();
                    Walls.RemoveAt(i);
                    if (Walls.Count == i)
                    {
                        break;
                    }
                    i--;
                }
                else if (!Walls[i].IsAlive)
                {
                    Walls.RemoveAt(i);
                    if (Walls.Count == i)
                    {
                        break;
                    }
                    i--;
                }
            }

            for (int i = 0; i < Clouds.Count; i++)
            {
                if (Clouds[i].Position.X < CameraOfMain.Src.Position.X - 300.0f)
                {
                    Clouds[i].Dispose();
                    Clouds.RemoveAt(i);
                    if (Clouds.Count == i)
                    {
                        break;
                    }
                    i--;
                }
                else if (!Clouds[i].IsAlive)
                {
                    Clouds.RemoveAt(i);
                    if (Clouds.Count == i)
                    {
                        break;
                    }
                    i--;
                }
            }

            for (int i = 0; i < Rains.Count; i++)
            {
                if (Rains[i].Position.X < CameraOfMain.Src.Position.X - 300.0f)
                {
                    Rains[i].Dispose();
                    Rains.RemoveAt(i);
                    if (Rains.Count == i)
                    {
                        break;
                    }
                    i--;
                }
                else if (!Rains[i].IsAlive)
                {
                    Rains.RemoveAt(i);
                    if (Rains.Count == i)
                    {
                        break;
                    }
                    i--;
                }
            }

            for (int i = 0; i < Healers.Count; i++)
            {
                if (Healers[i].Position.X < CameraOfMain.Src.Position.X - 300.0f)
                {
                    Healers[i].Dispose();
                    Healers.RemoveAt(i);
                    if (Healers.Count == i)
                    {
                        break;
                    }
                    i--;
                }
                else if (!Healers[i].IsAlive)
                {
                    Healers.RemoveAt(i);
                    if (Healers.Count == i)
                    {
                        break;
                    }
                    i--;
                }
            }

            for (int i = 0; i < Winds.Count; i++)
            {
                if (Winds[i].Position.X < CameraOfMain.Src.Position.X - 300.0f)
                {
                    Winds[i].Dispose();
                    Winds.RemoveAt(i);
                    if (Winds.Count == i)
                    {
                        break;
                    }
                    i--;
                }
                else if (!Winds[i].IsAlive)
                {
                    Winds.RemoveAt(i);
                    if (Winds.Count == i)
                    {
                        break;
                    }
                    i--;
                }
            }
        }
Beispiel #14
0
 public override string ToString() => $"Root: [Symbol: {Symbol.Map(x => x.ToString()).Join(", ")}, Wind: {Winds.Map(x => x.ToString()).Join(", ")}, Day: {Day.Map(x => x.ToString()).Join(", ")}, Night: {Night.Map(x => x.ToString()).Join(", ")}, Cloud: {Cloud.Map(x => x.ToString()).Join(", ")}]";
Beispiel #15
0
 public ParamWind(Winds inWind)
 {
     _value = inWind;
 }
 private IList <WindType> GetWindTypes()
 {
     return(Winds.Select(_ => _.WindType).Distinct().OrderBy(_ => (int)_).ToList());
 }
Beispiel #17
0
 public NatureEvents(Winds inWind, MoonPhases inMoonPhase, Tides inTide)
 {
     Wind      = inWind;
     MoonPhase = inMoonPhase;
     Tide      = inTide;
 }
Beispiel #18
0
 public SearchParamWind(Winds inWind)
 {
     _value = inWind;
 }