Example #1
0
        public async Task <ActionResult> Login(LoginDTO model)
        {
            try
            {
                IdentityUser user = await _userManager.FindByNameAsync(model.Email);

                if (user != null)
                {
                    var result = await _signInManager.CheckPasswordSignInAsync(user, model.Password, false);

                    if (result.Succeeded)
                    {
                        string          token   = GetToken(user);
                        ApplicationUser appUser = _userRepository.GetUserBy(model.Email);
                        PassengerDTO    passengerDTO;
                        if (appUser.Type.Equals(UserType.PASSENGER))
                        {
                            passengerDTO = PassengerDTO.FromPassenger((Passenger)appUser);
                        }
                        else
                        {
                            passengerDTO = PassengerDTO.FromStaff((Staff)appUser);
                        }
                        passengerDTO.Token = token;
                        return(Created("", passengerDTO));
                    }
                }
                return(BadRequest("Invalid login credentials"));
            }
            catch (Exception e) { return(BadRequest(e.Message)); }
        }
Example #2
0
        public void CreateBookingForFlightFailedValidationTest(string flightNumber, PassengerDTO passenger, int status)
        {
            var result = _controller.GetPassengersByFlight(flightNumber).Result as NotFoundResult;

            Assert.IsNotNull(result);
            Assert.AreEqual(status, result.StatusCode);
        }
Example #3
0
 public async Task Save(PassengerDTO passenger)
 {
     if (passenger == null)
     {
         throw new ArgumentNullException();
     }
     await _repositoryAsync.SaveAsync(passenger.ToPerson());
 }
Example #4
0
        public async Task <ActionResult <PassengerDTO> > GetPassengerAsync(int Id)
        {
            PassengerDTO passengerDto = await passengerService.GetPassengerAsync(Id);

            if (passengerDto == null)
            {
                return(NotFound());
            }

            return(Ok(passengerDto));
        }
        private void ListViewPassenger_ItemTapped(object sender, ItemTappedEventArgs e)
        {
            PassengerDTO item = (PassengerDTO)e.Item;

            if (item == null)
            {
                return;
            }

            passengerListViewModel.GetSelectedPassenger(item);
        }
Example #6
0
        public async Task <ActionResult <PassengerDTO> > Add([FromBody] PassengerDTO passengerDto)
        {
            if (passengerDto == null)
            {
                return(BadRequest());
            }

            await passengerService.AddPassengerAsync(passengerDto);

            return(Ok(passengerDto));
        }
Example #7
0
 public Passenger(PassengerDTO passengerDTO)
 {
     if (passengerDTO.Exists)
     {
         PassengerId = passengerDTO.PassengerId;
         FirstName   = passengerDTO.FirstName;
         LastName    = passengerDTO.LastName;
     }
     else
     {
         PassengerId = -1;
     }
 }
Example #8
0
        public async Task DeletePassengerAsync(PassengerDTO passengerDTO)
        {
            var passenger = await unitOfWork.PassengerRepository.Get(passengerDTO.Id);

            if (passenger == null)
            {
                throw new Exception("Not found");
            }



            await unitOfWork.PassengerRepository.Delete(passenger);
        }
Example #9
0
        public async Task <ActionResult <PassengerDTO> > Delete(int Id)
        {
            PassengerDTO passengerDto = await passengerService.GetPassengerAsync(Id);

            if (passengerDto == null)
            {
                return(NotFound());
            }

            await passengerService.DeletePassengerAsync(passengerDto);

            return(NoContent());
        }
Example #10
0
        public async Task <ActionResult <PassengerDTO> > Update(int Id, [FromBody] PassengerDTO passengerDto)
        {
            if (passengerDto == null)
            {
                return(NotFound());
            }

            passengerDto.Id = Id;

            await passengerService.UpdatePassengerAsync(passengerDto);

            return(Ok(passengerDto));
        }
Example #11
0
        public void CreatePassenger(PassengerDTO passengerDTO)
        {
            Expression <Func <Passenger, bool> > expressionPredicate = x => x.Id == passengerDTO.PassengerId;
            Passenger passenger = this._unitOfWork.PassengerRepository.Find(expressionPredicate).FirstOrDefault();

            if (passenger != null)
            {
                throw new Exception($"Passenger with Id: {passengerDTO.PassengerId} already exists");
            }
            passenger = new Passenger(passengerDTO.PassengerId, passengerDTO.FirstName, passengerDTO.LastName,
                                      passengerDTO.CurrentPosition.X, passengerDTO.CurrentPosition.Y, this._domainEventPublisher);
            this._unitOfWork.PassengerRepository.Insert(passenger);
            this._unitOfWork.Commit();
        }
Example #12
0
        public PassengerViewModel()
        {
            try
            {
                Passenger         = new PassengerDTO();
                _passengerService = new PassengerService();
                _countryList      = new List <CountryDTO>();
                _lookService      = new LookupsService();

                _countryList = _lookService.GetCountry();
            }
            catch (Exception ex)
            {
                throw (ex);
            }
        }
Example #13
0
 public Task <int> SaveAsync(PassengerDTO passenger)
 {
     try
     {
         _cancellationToken = new CancellationToken();
         endpoint          += "api/Passenger";
         passenger.UserId   = App.User.Id;
         var responseTask = BaseAPIService.Post <APIResponse>(endpoint, passenger, _cancellationToken);
         responseTask.Wait();
     }
     catch (Exception ex)
     {
         throw (ex);
     }
     return(Task.FromResult(1));
 }
Example #14
0
        private InvoiceDTO Invoice(int tripId)
        {
            //Buscamos el viaje.
            var trip = this._db.Trip.Where(t => t.Id == tripId).FirstOrDefault();

            if (trip == null)
            {
                return(new InvoiceDTO()
                {
                });
            }

            //Buscamos al pasajero
            var passenger = this._db.Passenger.Where(p => p.Id == trip.PassengerId).FirstOrDefault();

            //Armamos el objeto con los datos del pasajero
            var passengerDto = new PassengerDTO()
            {
                Names    = passenger.Names,
                surnames = passenger.Surnames
            };

            //Obtenemos al conductor del viaje y armamos el DTO.
            var driver    = this._db.Driver.Where(d => d.Id == trip.DriverId).FirstOrDefault();
            var driverDto = new DriverDTO()
            {
                Fullname = driver.Names + " " + driver.Surnames
            };

            //Buscamos la tarifa actual
            var currentFare = this._db.Fare.OrderByDescending(f => f.RegistrationDate).FirstOrDefault().Price;

            var distance = new Distance().DistanceBetweenPoints((double)trip.OriginLatitude, (double)trip.OriginLongitude, (double)trip.DestinationLatitude, (double)trip.DestinationLongitude);

            var price = Convert.ToDouble(currentFare) * distance;

            return(new InvoiceDTO()
            {
                id = new Random().Next(100000),
                Date = DateTime.Now,
                Passenger = passengerDto,
                Driver = driverDto,
                Price = price
            });
        }
Example #15
0
        public async Task <IActionResult> CreateBooking(string flightNumber, [FromBody] PassengerDTO passenger)
        {
            try
            {
                var booking = await _bookingService.AddPassengerToExistingFlight(flightNumber, passenger);

                if (booking != null)
                {
                    return(Ok(booking));
                }

                _logger.LogError($"Either flight number: {flightNumber} was invalid or non-existing or something was wrong with a passenger to add");
                return(NotFound());
            }
            catch (Exception ex)
            {
                _logger.LogError($"Something went wrong inside CreateBooking action: {ex.Message}.");
                return(StatusCode(500, "Something went wrong"));
            }
        }
Example #16
0
        public void CreateBookingForFlightOkTest(string flightNumber, int status)
        {
            var newPassenger = new PassengerDTO
            {
                Name      = "Kendall Velazquez Jr.",
                DateBirth = "09/24/1980",
                Gender    = "Male",
                Address   = "806-1408 Mi Rd.",
                Email     = "*****@*****.**",
                Id        = _bookingRepositoryAsync.GetAllAsync().Result.Max(booking => booking.Id) + 1
            };

            var result = _controller.CreateBooking(flightNumber, newPassenger).Result as OkObjectResult;

            Assert.IsNotNull(result);
            Assert.AreEqual(status, result.StatusCode);

            var booking = result.Value as BookingDTO;

            Assert.IsNotNull(booking);
            Assert.AreEqual(booking.Customer.Name, _bookingRepositoryAsync.GetAsync(booking.Id).Result.Customer.Name);
        }
Example #17
0
        public PassengerPage(PassengerDTO passenger)
        {
            try
            {
                InitializeComponent();

                _passengerViewModel           = new PassengerViewModel();
                _passengerViewModel.Passenger = passenger;

                Title               = "Yolcu Görüntüle";
                btnSave.IsVisible   = false;
                btnCancel.IsVisible = true;
                if (passenger.Gender == "K")
                {
                    pickerGender.SelectedIndex = 0;
                }
                else
                {
                    pickerGender.SelectedIndex = 1;
                }

                BindingContext = _passengerViewModel;

                for (int x = 0; x < _passengerViewModel.CountryList.Count; x++)
                {
                    if (_passengerViewModel.CountryList[x].Id == _passengerViewModel.Passenger.CountryId)
                    {
                        pickerCountry.SelectedIndex = x;
                    }
                }
            }
            catch (Exception ex)
            {
                MessageNotificationHelper.ShowMessageError(ex.Message);
            }
        }
Example #18
0
        public async Task <BookingDTO> AddPassengerToExistingFlight(string flightNumber, PassengerDTO passenger)
        {
            if (string.IsNullOrWhiteSpace(flightNumber))
            {
                return(null);
            }
            if (passenger == null)
            {
                return(null);
            }

            var allFlights = await _flightRepository.GetAllAsync();

            var newBookingFlight = allFlights.FirstOrDefault(flight =>
                                                             string.Equals(flight.Number, flightNumber, StringComparison.CurrentCultureIgnoreCase));

            if (newBookingFlight == null)
            {
                return(null);
            }

            await _personRepository.SaveAsync(passenger.ToPerson());

            var savedPerson = await _personRepository.GetAsync(passenger.Id);

            if (savedPerson == null)
            {
                return(null);
            }

            var newBooking = new Booking
            {
                Flight     = newBookingFlight,
                Customer   = savedPerson,
                Passengers = new List <Person> {
                    savedPerson
                },
                Id          = _bookingRepository.GetAllAsync().Result.Max(booking => booking.Id) + 1,
                Number      = "WO-999666",
                DateBooking = DateTime.Now,
            };

            await _bookingRepository.SaveAsync(newBooking);

            var result = await _bookingRepository.GetAsync(newBooking.Id);

            return(await Task.FromResult(result.ToBookingDto()));
        }
        public void AddPassengerToExistingFlightValidationTest(string flightNumber, PassengerDTO passenger, bool expected)
        {
            var result = _bookingService.AddPassengerToExistingFlight(flightNumber, passenger).Result;

            Assert.That(result == null, Is.EqualTo(expected));
        }
 public async void GetSelectedPassenger(PassengerDTO passenger)
 {
     await NavigationHelper.PushAsyncSingle(new PassengerPage(passenger));
 }
Example #21
0
        public async Task UpdatePassengerAsync(PassengerDTO passengerDTO)
        {
            var passenger = mapper.Map <Passenger>(passengerDTO);

            await unitOfWork.PassengerRepository.Update(passenger);
        }