Exemple #1
0
        public override void Finish(FishingRecord record)
        {
            // try adding record
            try
            {
                FishingRecordRepository.GetInstance().AddRecord(record);
            }
            catch (FishingRecordAlreadyExistsException)
            {
                _view.ShowErrorMessage("Fishing record already exists!");
                return;
            }
            catch (FishingRecordsInCollisionException)
            {
                _view.ShowErrorMessage(_fishingRecordsInCollisionError);
                return;
            }
            catch (Exception)
            {
                _view.ShowErrorMessage(CommonPresenterStuff.ErrorMessage());
                return;
            }

            NotifyObservers(new Object());

            _view.ShowMessage("Fishing record added.");
            _view.End();
        }
        public PresenterFishingRecordEdit(IViewFishingRecord inView, int inRecordIndex) : base(inView)
        {
            _recordIndex = inRecordIndex;
            FishingRecord record = FishingRecordRepository.GetInstance().GetRecord(inRecordIndex);

            _fishCatch = record.FishCatch;

            // set record details on view
            _view.DateTimeStart = record.DateTimeInterval.Start;
            _view.DateTimeEnd   = record.DateTimeInterval.End;
            _view.Location      = record.Location.Name;
            _view.Wind          = CommonPresenterStuff.GetWindStrings()[(int)record.NatureContex.Wind];
            _view.MoonPhase     = CommonPresenterStuff.GetMoonPhaseStrings()[(int)record.NatureContex.MoonPhase];
            _view.Tide          = CommonPresenterStuff.GetTideStrings()[(int)record.NatureContex.Tide];
            foreach (string fish in record.FishCatch.GetCaughtFish())
            {
                _view.AddFishCatch(fish, record.FishCatch.GetCaughtFishMass(fish));
            }
            foreach (string fish in record.FishCatch.GetSoldFish())
            {
                _view.AddFishSale(fish, record.FishCatch.GetSoldFishMass(fish), record.FishCatch.GetSoldFishPrice(fish));
            }

            _view.SetFinishButtonText("Save changes");
        }
Exemple #3
0
        public void Test_GetFishingRecord()
        {
            FishingRecordRepository repository = FishingRecordRepository.GetInstance();

            repository.AddRecord(record1);
            FishingRecord recordGet = repository.GetRecord(0);

            Assert.AreEqual(record1, recordGet);
        }
Exemple #4
0
        public void Test_UpdateFishingRecord()
        {
            FishingRecordRepository repository = FishingRecordRepository.GetInstance();

            repository.AddRecord(record1);
            repository.UpdateRecord(0, record2);
            FishingRecord recordGet = repository.GetRecord(0);

            Assert.AreEqual(record1, recordGet);

            string expectedLocation = "Medulin";
            string resultLocation   = recordGet.Location.Name;

            Assert.AreEqual(expectedLocation, resultLocation);
        }
Exemple #5
0
        public void Test_DeleteLocationThanIsPartOfAFishingRecord()
        {
            LocationRepository locRepository = LocationRepository.GetInstance();

            locRepository.AddLocation(location1);

            FishingRecordRepository recRepository = FishingRecordRepository.GetInstance();

            recRepository.DeleteAllRecords();
            FishingRecord record = EntityGenerator.GetFishingRecord1();

            record.Location = location1;
            recRepository.AddRecord(record);

            locRepository.DeleteLocation(0);
        }
Exemple #6
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();
        }
        public override void Finish(FishingRecord record)
        {
            // try updating records
            try
            {
                FishingRecordRepository.GetInstance().UpdateRecord(_recordIndex, record);
            }
            catch (FishingRecordsInCollisionException)
            {
                _view.ShowErrorMessage(_fishingRecordsInCollisionError);
                return;
            }
            catch (Exception)
            {
                _view.ShowErrorMessage(CommonPresenterStuff.ErrorMessage());
            }

            NotifyObservers(new Object());

            _view.ShowMessage("Changes saved.");
            _view.End();
        }
Exemple #8
0
 public abstract void Finish(FishingRecord record);
Exemple #9
0
 public FishingRecordRepository_Test()
 {
     record1 = EntityGenerator.GetFishingRecord1();
     record2 = EntityGenerator.GetFishingRecord2();
 }