public void Update_WhenDtoIsPassed_ThenReturnedTheSameWithPassedId()
        {
            // Arrange
            var id = Guid.NewGuid();
            var aeroplaneTypeId = Guid.NewGuid();

            var dto = new AeroplaneDto()
            {
                AeroplaneTypeId = aeroplaneTypeId,
                Name            = "Boeing-747",
                Lifetime        = new TimeSpan(10, 0, 0)
            };

            A.CallTo(() => unitOfWorkFake.AeroplaneTypeRepository.Get(aeroplaneTypeId))
            .Returns(new AeroplaneType {
                Id = aeroplaneTypeId
            });

            var service = new AeroplaneService(unitOfWorkFake, mapper, alwaysValidValidator);

            // Act
            var returnedDto = service.Update(id, dto);

            // Assert
            Assert.True(returnedDto.Id == id);
            Assert.True(returnedDto.Id != default(Guid));
            Assert.AreEqual(dto.Name, returnedDto.Name);
            Assert.AreEqual(dto.Lifetime, returnedDto.Lifetime);
            Assert.AreEqual(dto.AeroplaneTypeId, returnedDto.AeroplaneTypeId);
        }
 public FlightsController(
     FlightService flightServices,
     AeroplaneService aeroplaneServices
     )
 {
     _flightServices    = flightServices;
     _aeroplaneServices = aeroplaneServices;
 }
 public FlightController(FlightService flightService, AvioService avioService, UserService userService,
                         AeroplaneService aeroplaneService, SeatService seatService)
 {
     FlightService    = flightService;
     AvioService      = avioService;
     UserService      = userService;
     AeroplaneService = aeroplaneService;
     SeatService      = seatService;
 }
Ejemplo n.º 4
0
        public async Task <IActionResult> CreateFlight([FromBody] FlightDTO model)
        {
            if (ModelState.IsValid)
            {
                if (model.Departure > model.Arrival)
                {
                    return(BadRequest("Departure cannot be before landing."));
                }

                if (model.Departure < DateTime.Now)
                {
                    return(BadRequest("Departure cannot be before today's date."));
                }

                var user = await AvioAdminService.GetCurrentUser();

                if (user != null)
                {
                    var avioCompany = await AvioService.GetCompany(user.AvioCompanyId);

                    if (avioCompany != null)
                    {
                        model.DepartureLocation.DestinationId = 0;
                        model.ArrivalLocation.DestinationId   = 0;
                        foreach (Destination d in model.Transit)
                        {
                            d.DestinationId = 0;
                        }

                        var flight = new Flight()
                        {
                            AeroplaneId       = (await AeroplaneService.GetAeroplane(user.AvioCompanyId, model.Aeroplane)).AeroplaneId,
                            Arrival           = model.Arrival,
                            ArrivalLocation   = model.ArrivalLocation,
                            Departure         = model.Departure,
                            DepartureLocation = model.DepartureLocation,
                            AvioCompanyId     = user.AvioCompanyId,
                            Price             = model.Price,
                            Transit           = model.Transit,
                            TravelDistance    = model.TravelDistance,
                            TravelTime        = model.TravelTime
                        };

                        avioCompany.Flights.Add(flight);
                        await AvioService.UpdateCompany(avioCompany);

                        return(Ok(200));
                    }

                    return(BadRequest("Avio company not found."));
                }

                return(Unauthorized("You must log in as an administrator of this company."));
            }

            return(BadRequest("Not enough data provided."));
        }
Ejemplo n.º 5
0
 public ReservationController(UserService userService, FlightService flightService, AvioService avioService,
                              ReservationService reservationService, AeroplaneService aeroplaneService)
 {
     UserService        = userService;
     FlightService      = flightService;
     AvioService        = avioService;
     ReservationService = reservationService;
     AeroplaneService   = aeroplaneService;
 }
Ejemplo n.º 6
0
 public AvioAdminController(AvioService avioService, AvioAdminService avioAdminService, AeroplaneService aeroplaneService, FlightService flightService,
                            FastReservationFlightTicketService fastReservationFlightTicketService, PriceListItemService priceListItemService)
 {
     AvioService      = avioService;
     AvioAdminService = avioAdminService;
     AeroplaneService = aeroplaneService;
     FlightService    = flightService;
     FastReservationFlightTicketService = fastReservationFlightTicketService;
     PriceListItemService = priceListItemService;
 }
Ejemplo n.º 7
0
        public AeroplaneViewModel(IDialogService dialogService)
        {
            _dialogService = dialogService;
            _service       = new AeroplaneService();

            AddCommand    = new RelayCommand(AddAeroplane);
            UpdateCommand = new RelayCommand(UpdateAeroplane);
            DeleteCommand = new RelayCommand(DeleteAeroplane);

            DownloadData();
        }
Ejemplo n.º 8
0
 public SystemController(UserManager <RegularUser> userManager, UserService userService, AvioService avioService, RentACarService rentACarService,
                         AvioAdminService avioAdminService, CarAdminService carAdminService, AeroplaneService aeroplaneService, SeatService seatService)
 {
     UserManager      = userManager;
     UserService      = userService;
     AvioService      = avioService;
     RentACarService  = rentACarService;
     AvioAdminService = avioAdminService;
     CarAdminService  = carAdminService;
     AeroplaneService = aeroplaneService;
     SeatService      = seatService;
 }
        public void Create_WhenDtoIsEmpty_ThenThrowValidExeption()
        {
            // Arrange
            var dto = new AeroplaneDto()
            {
            };

            var service = new AeroplaneService(unitOfWorkFake, mapper, validator);

            // Act

            // Assert
            Assert.Throws <ValidationException>(() => service.Create(dto));
        }
Ejemplo n.º 10
0
        public async Task <IActionResult> CreateAvioCompany([FromBody] AvioCompanyDTO avioCompanyDTO)
        {
            if (ModelState.IsValid)
            {
                if (await AvioService.CompanyExists(avioCompanyDTO.Name))
                {
                    return(BadRequest("Company already exists with the same name."));
                }

                var profile = new AvioCompanyProfile()
                {
                    Name             = avioCompanyDTO.Name,
                    Address          = avioCompanyDTO.Address,
                    PromoDescription = avioCompanyDTO.Description
                };

                // add destinations
                var dest = new List <Destination>();
                string[,] destinations = { { "Belgrade", "44.786568",  "20.448921"  },
                                           { "Tokyo",    "35.689487",  "139.691711" },
                                           { "New York", "40.712776",  "-74.005974" },
                                           { "Berlin",   "52.520008",  "13.404954"  },
                                           { "Rome",     "41.9028",    "12.4964"    },
                                           { "Zurich",   "47.3768880", "8.541694"   } };

                for (int j = 0; j < destinations.GetLength(0); ++j)
                {
                    Destination destination = new Destination()
                    {
                        Name      = destinations[j, 0],
                        Latitude  = double.Parse(destinations[j, 1], CultureInfo.InvariantCulture),
                        Longitude = double.Parse(destinations[j, 2], CultureInfo.InvariantCulture),
                    };

                    dest.Add(destination);
                }

                AvioCompany company = new AvioCompany()
                {
                    Destinations = dest
                };

                await AvioService.CreateCompany(company, profile);

                // create planes for companies
                var aeroplaneA380 = new Aeroplane()
                {
                    AvioCompanyId = company.AvioCompanyId,
                    Name          = "Airbus A380"
                };

                var aeroplane737 = new Aeroplane()
                {
                    AvioCompanyId = company.AvioCompanyId,
                    Name          = "Boeing 737"
                };

                if (!await AeroplaneService.AeroplaneExists(company.AvioCompanyId, aeroplaneA380.Name))
                {
                    await AeroplaneService.AddAeroplane(aeroplaneA380);
                }

                if (!await AeroplaneService.AeroplaneExists(company.AvioCompanyId, aeroplane737.Name))
                {
                    await AeroplaneService.AddAeroplane(aeroplane737);
                }

                // create seats for planes
                var seatsA380 = new Seats()
                {
                    AeroplaneId = aeroplaneA380.AeroplaneId,
                    SeatCount   = 240,
                    InOneRow    = 6
                };

                var seats737 = new Seats()
                {
                    AeroplaneId = aeroplane737.AeroplaneId,
                    SeatCount   = 320,
                    InOneRow    = 8
                };

                if (!await SeatService.SeatsExist(aeroplaneA380.AeroplaneId))
                {
                    await SeatService.AddSeats(seatsA380);
                }

                if (!await SeatService.SeatsExist(aeroplane737.AeroplaneId))
                {
                    await SeatService.AddSeats(seats737);
                }

                return(Ok(200));
            }

            return(BadRequest("No sufficient data provided."));
        }
 public AeroplanesController(
     AeroplaneService aeroplaneServices
     )
 {
     _aeroplaneServices = aeroplaneServices;
 }