public async Task <ActionResult> GetUser() { // Get the userId from the token var userId = User.FindFirst(ClaimTypes.NameIdentifier)?.Value; if (userId == null) { return(Unauthorized()); } var user = await _repo.GetUserById(userId); if (user == null) { return(BadRequest()); } if (user.CurrentUserMode == UserMode.Driver) { var driver = _mapper.Map <DriverDTO>(user); return(Ok(driver)); } var propertyOwner = _mapper.Map <PropertyOwnerDTO>(user); return(Ok(propertyOwner)); }
public async Task <ActionResult> GetPaymentCard() { // Get the userId from the token var userId = User.FindFirst(ClaimTypes.NameIdentifier)?.Value; var user = await _repo.GetUserById(userId); var paymentCard = user.PaymentCard; var paymentCardToReturn = _mapper.Map <PaymentCardDTO>(paymentCard); return(Ok(paymentCardToReturn)); }
public async Task <ActionResult> CreateParkingLot(string userId, ParkingLotCreateDTO parkingLotCreateDTO) { // Check to see if the user is the current user as pass the token up to our server if (userId != User.FindFirst(ClaimTypes.NameIdentifier).Value) { return(Unauthorized()); } var userFromRepo = await _repo.GetUserById(userId); var parkinglot = _mapper.Map <ParkingLot>(parkingLotCreateDTO); parkinglot.Photos = new List <Photo>(); parkinglot.NumberOfSlots = 1; parkinglot.IsAvailable = true; userFromRepo.ParkingLots.Add(parkinglot); // Save a new parkingLot if (await _repo.SaveAll()) { var parkinglotToReturn = _mapper.Map <ParkingLotDTO>(parkinglot); return(CreatedAtRoute("GetParkingLot", new { id = parkinglot.Id }, parkinglotToReturn)); } return(BadRequest("Could not add the parking lot")); }
public async Task <ActionResult> GetUser(string id) { if (id == null) { return(BadRequest()); } var user = await _repo.GetUserById(id); if (user == null) { return(BadRequest("User does not exsit!")); } var userToReturn = _mapper.Map <UserForAdminDTO>(user); return(Ok(userToReturn)); }
public async Task <ActionResult> CreateVehicle(VehicleDTO vehicleDTO) { var userId = User.FindFirst(ClaimTypes.NameIdentifier)?.Value; var userFromRepo = await _repo.GetUserById(userId); var vehicle = _mapper.Map <Vehicle>(vehicleDTO); userFromRepo.Vehicles.Add(vehicle); if (await _repo.SaveAll()) { var vehicleToReturn = _mapper.Map <VehicleDTO>(vehicle); return(Ok(vehicleToReturn)); } return(BadRequest("Could not add vehicle")); }
public async Task <ActionResult> CreateReservation(int parkingLotId, ReservationCreateDTO reservationCreateDTO) { // Get the userId from the token var userId = User.FindFirst(ClaimTypes.NameIdentifier)?.Value; var userFromRepo = await _repo.GetUserById(userId); var reservation = _mapper.Map <Reservation>(reservationCreateDTO); var vehicle = userFromRepo.Vehicles.FirstOrDefault(); var parkinglot = await _repo.GetParkingLotById(parkingLotId); if (vehicle != null && parkinglot != null) { _repo.Add(reservation); } else { BadRequest("Could not add the reservation"); } // Save a new reservation if (await _repo.SaveAll()) { // For driver var userReservation = new AppUserReservation { User = userFromRepo, UserId = userId, Reservation = reservation, ReservationId = reservation.Id }; _repo.Add(userReservation); // For owner var ownerReservation = new AppUserReservation { User = parkinglot.User, UserId = parkinglot.UserId, Reservation = reservation, ReservationId = reservation.Id }; _repo.Add(ownerReservation); var reservedParkingLot = new ReservedParkingLot { PhotoUrl = parkinglot.PhotoUrl, Title = parkinglot.Title, City = parkinglot.City, Address = parkinglot.Address, PostalCode = parkinglot.PostalCode }; //_repo.Add(reservedParkingLot); reservation.ReservedParkingLot = reservedParkingLot; if (await _repo.SaveAll()) { var reservationToReturn = _mapper.Map <ReservationDTO>(reservation); return(CreatedAtRoute("GetReservation", new { id = reservation.Id }, reservationToReturn)); } } return(BadRequest("Could not add the reservation")); }