public CarDTO Map(RentalAreaViewModel selectedRentalArea, CarViewModel carViewModel,
                          bool provideCustomPosition = false)
        {
            var dto = new CarDTO
            {
                Id                 = carViewModel.Id,
                Status             = carViewModel.CarStatus,
                CurrentDistance    = double.Parse(carViewModel.CurrentDistance),
                PricePerMinute     = decimal.Parse(carViewModel.PricePerMinute),
                RegistrationNumber = carViewModel.RegistrationNumber,
                RentalAreaId       = selectedRentalArea.Id,
                RentalAreaName     = selectedRentalArea.Name,
                TotalDistance      = double.Parse(carViewModel.TotalDistance)
            };

            if (provideCustomPosition)
            {
                dto.CurrentLatitude  = double.Parse(carViewModel.CurrentLatitude);
                dto.CurrentLongitude = double.Parse(carViewModel.CurrentLongitude);
            }
            else
            {
                var positionDto = _positionVewModelMapper.Map(selectedRentalArea.CarStartingPosition);
                dto.CurrentLatitude  = positionDto.Latitude;
                dto.CurrentLongitude = positionDto.Longitude;
            }

            return(dto);
        }
Beispiel #2
0
        public void ShouldSetErrorMessageIfFailedToSaveCar()
        {
            var sutSelectedCar = new CarViewModel
            {
                RentalAreaId       = Guid.NewGuid(),
                Id                 = Guid.NewGuid(),
                PricePerMinute     = "2.6",
                RegistrationNumber = "Kr1234",
                TotalDistance      = "20"
            };
            var sutSelectedRentalArea = new RentalAreaViewModel
            {
                Id = sutSelectedCar.RentalAreaId
            };

            _carViewModelMapperMock.Map(sutSelectedRentalArea, sutSelectedCar).Returns(new CarDTO());
            var message = "Error Message";

            _carServiceMock.When(c => c.UpdateCar(Arg.Any <CarDTO>())).Do(c => throw new Exception(message));
            var sut = new CarsManagementViewModel(_carServiceMock, _rentalAreaServiceMock, _carViewModelMapperMock,
                                                  _rentalAreaViewModelMapperMock);

            sut.SelectedCar        = sutSelectedCar;
            sut.SelectedRentalArea = sutSelectedRentalArea;
            sut.SaveCarCommand.Execute(null);

            Assert.AreEqual(message, sut.SaveErrorContent);
        }
Beispiel #3
0
        public void ShouldEditCarIfCarIsValid()
        {
            var sutSelectedCar = new CarViewModel
            {
                RentalAreaId       = Guid.NewGuid(),
                Id                 = Guid.NewGuid(),
                PricePerMinute     = "2.6",
                RegistrationNumber = "Kr1234",
                TotalDistance      = "20"
            };
            var sutSelectedRentalArea = new RentalAreaViewModel
            {
                Id = sutSelectedCar.RentalAreaId
            };

            _carViewModelMapperMock.Map(sutSelectedRentalArea, sutSelectedCar).Returns(new CarDTO());
            var sut = new CarsManagementViewModel(_carServiceMock, _rentalAreaServiceMock, _carViewModelMapperMock,
                                                  _rentalAreaViewModelMapperMock);

            sut.SelectedCar        = sutSelectedCar;
            sut.SelectedRentalArea = sutSelectedRentalArea;
            sut.SaveCarCommand.Execute(null);

            _carServiceMock.Received().UpdateCar(Arg.Any <CarDTO>());
            Assert.True(sut.IsCarListEnabled);
            Assert.Null(sut.SaveErrorContent);
        }
Beispiel #4
0
        public void ShouldAddRentalAreasToComboBoxList()
        {
            var rentalAreaListDto = new List <RentalAreaDTO>
            {
                new RentalAreaDTO()
            };
            var rentalAreaViewModel = new RentalAreaViewModel();

            _rentalAreaServiceMock.GetAllRentalAreas().Returns(rentalAreaListDto);
            _rentalAreaViewModelMapperMock.Map(rentalAreaListDto[0]).Returns(rentalAreaViewModel);
            var sut = new CarsManagementViewModel(_carServiceMock, _rentalAreaServiceMock, _carViewModelMapperMock,
                                                  _rentalAreaViewModelMapperMock);

            Assert.AreEqual(1, sut.RentalAreas.Count);
            Assert.AreEqual(rentalAreaViewModel, sut.RentalAreas.First());
        }
Beispiel #5
0
        public RentalAreaDTO Map(RentalAreaViewModel rentalArea)
        {
            var result = new RentalAreaDTO
            {
                CarStartingPositionDTO = _positionVewModelMapper.Map(rentalArea.CarStartingPosition),
                Area = new List <PositionDTO>(),
                Id   = rentalArea.Id,
                OutOfBondsPenaltyPerDistanceUnit = decimal.Parse(rentalArea.OutOfBondsPenaltyPerDistanceUnit),
                Name = rentalArea.Name
            };

            foreach (var position in rentalArea.Area)
            {
                result.Area.Add(_positionVewModelMapper.Map(position));
            }

            return(result);
        }
Beispiel #6
0
        public RentalAreaViewModel Map(RentalAreaDTO rentalAreaDto)
        {
            var result = new RentalAreaViewModel
            {
                CarStartingPosition = _positionVewModelMapper.Map(rentalAreaDto.CarStartingPositionDTO),
                Area = new ObservableCollection <PositionViewModel>(),
                Id   = rentalAreaDto.Id,
                OutOfBondsPenaltyPerDistanceUnit = $"{rentalAreaDto.OutOfBondsPenaltyPerDistanceUnit:0.00}",
                Name = rentalAreaDto.Name
            };

            foreach (var positionDto in rentalAreaDto.Area)
            {
                result.Area.Add(_positionVewModelMapper.Map(positionDto));
            }

            return(result);
        }
Beispiel #7
0
        public void ShouldExecuteUpdateRentalAreaCommand()
        {
            var sut = new CarsManagementViewModel(_carServiceMock, _rentalAreaServiceMock, _carViewModelMapperMock,
                                                  _rentalAreaViewModelMapperMock);

            sut.SelectedCar = new CarViewModel
            {
                RentalAreaId = Guid.NewGuid()
            };
            var rentalAreaViewModel = new RentalAreaViewModel
            {
                Id = sut.SelectedCar.RentalAreaId
            };

            sut.RentalAreas = new ObservableCollection <RentalAreaViewModel>
            {
                rentalAreaViewModel
            };

            sut.UpdateRentalAreaCombobox.Execute(null);
            Assert.AreEqual(rentalAreaViewModel, sut.SelectedRentalArea);
        }
Beispiel #8
0
 private void AddRentalArea()
 {
     SelectedRentalArea = null;
     SelectedRentalArea = new RentalAreaViewModel();
 }