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); }
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(); }