public bool SaveShare(CreateRideViewModel createRideViewModel) { RideShare rideShare = new RideShare(); rideShare.AC = createRideViewModel.AC; rideShare.ContributionPerHead = createRideViewModel.ContributionPerHead; rideShare.CreatedOn = createRideViewModel.CreatedOn; rideShare.DestinationCityId = createRideViewModel.DestinationCityId; rideShare.Id = Guid.NewGuid().ToString(); rideShare.TravelStartTime = createRideViewModel.TravelStartTime; rideShare.Vehicle = createRideViewModel.Vehicle; rideShare.SeatsOffered = createRideViewModel.SeatsOffered; rideShare.MemberCardId = createRideViewModel.MemberCarId; db.RideShares.Add(rideShare); City city = new City(); city.CityName = createRideViewModel.SourceCity; city.Id = createRideViewModel.SourceCityId; db.Cities.Add(city); city.CityName = createRideViewModel.DestinationCity; city.Id = createRideViewModel.DestinationCityId; db.Cities.Add(city); db.SaveChanges(); return(true); }
public async Task <CreateRideViewModel> CreateRide(CreateRideViewModel model) { var rides = this.mapper.Map <List <Ride> > (model); foreach (Ride r in rides) { r.Driver = await this.repositories.Users.FindById(r.DriverId); } await this.repositories.Rides.CreateRangeAsync(rides); rides.Select(x => { var fromAddress = this.repositories.Addresses.FindByCondition(y => AreEquals(y.Latitude, x.FromAddress.Latitude, 0.0001f) && AreEquals(y.Longitude, x.FromAddress.Longitude, 0.0001f)).FirstOrDefault(); var toAddress = this.repositories.Addresses.FindByCondition(y => AreEquals(y.Latitude, x.ToAddress.Latitude, 0.0001f) && AreEquals(y.Longitude, x.ToAddress.Longitude, 0.0001f)).FirstOrDefault(); if (fromAddress != null) { this.repositories.Addresses.SetEntityState(x.FromAddress, EntityState.Unchanged); } if (toAddress != null) { this.repositories.Addresses.SetEntityState(x.ToAddress, EntityState.Unchanged); } return(0); }).ToList(); await this.repositories.Save(); return(model); }
public IActionResult Create(CreateRideViewModel model) { if (ModelState.IsValid) { Guid userId; var userIdClaim = this.User.Claims.FirstOrDefault(f => f.Type == ClaimTypes.NameIdentifier); Ride ride = new Ride(); ride.Id = Guid.NewGuid(); ride.DriverId = Guid.TryParse(userIdClaim.Value, out userId) ? userId : Guid.Empty; ride.FromCity = model.FromCity; ride.ToCity = model.ToCity; ride.TravelDate = model.TravelDate; ride.FreePlaces = model.FreeSeats.Value; ride.Price = model.Price.Value; ride.AdditionalInformation = model.AdditionalInformation; this.ridesManager.CreateItem(ride); this.ridesManager.SaveChanges(); return(RedirectToAction("Manage", "Rides")); } return(View(model)); }
public void SetUp() { _fakeBackendApiService = Substitute.For <IBackendApiService>(); _fakeNavigationService = Substitute.For <INavigationService>(); _fakePageDialogService = Substitute.For <IPageDialogService>(); _uut = new CreateRideViewModel(_fakeNavigationService, _fakePageDialogService, _fakeBackendApiService); _priceResponseOk = new PriceResponse(new HttpResponseMessage() { StatusCode = HttpStatusCode.OK, Content = new StringContent(JsonConvert.SerializeObject(new { price = 100.00, }), Encoding.UTF8, "application/json"), }); _priceResponseBadRequest = new PriceResponse(new HttpResponseMessage() { StatusCode = HttpStatusCode.BadRequest, Content = new StringContent(JsonConvert.SerializeObject(new { errors = new Dictionary <string, IList <string> >() { { "error", new List <string> { "The address is not valid" } } }, }), Encoding.UTF8, "application/json"), }); _rideResponseOk = new CreateRideResponse(new HttpResponseMessage() { StatusCode = HttpStatusCode.OK, Content = new StringContent(JsonConvert.SerializeObject(new { id = 1, startDestination = new { cityName = "Test", postalCode = 1234, streetName = "Tester", streetNumber = 1 }, endDestination = new { cityName = "Tester", postalCode = 4321, streetName = "Test", streetNumber = 2 }, departureTime = DateTime.Now.Add(new TimeSpan(0, 0, 30)), confirmationDeadline = DateTime.Now.Subtract(new TimeSpan(0, 2, 0)), passengerCount = 1, createdOn = DateTime.Now, price = 100, status = 0, }), Encoding.UTF8, "application/json"), }); _rideResponseBadRequest = new CreateRideResponse(new HttpResponseMessage() { StatusCode = HttpStatusCode.BadRequest, Content = new StringContent(JsonConvert.SerializeObject(new { errors = new Dictionary <string, IList <string> >() { { "error", new List <string> { "Not enough money" } } }, }), Encoding.UTF8, "application/json"), }); }
public async Task <CreateRideViewModel> CreateRide(CreateRideViewModel model) { return(await this.rideService.CreateRide(model)); }
public List <Ride> Convert(CreateRideViewModel VM, List <Ride> dest, ResolutionContext context) { var toReturn = new List <Ride> (); if (VM.Trip.LayoverAddress == null) { var Ride = new Ride(); Ride.DriverId = VM.userId; Ride.FreeSeats = VM.Trip.FreeSeats1; Ride.FromAddress.CountryCode = VM.Trip.FromAddress.Address.CountryCode; Ride.FromAddress.ExactAddress = VM.Trip.FromAddress.Address.FreeformAddress; Ride.FromAddress.Governorate = VM.Trip.FromAddress.Address.CountrySubdivision; Ride.FromAddress.Municipality = VM.Trip.FromAddress.Address.Municipality; Ride.FromAddress.StreetName = VM.Trip.FromAddress.Address.streetName; Ride.FromAddress.Latitude = VM.Trip.FromAddress.Position.Lat; Ride.FromAddress.Longitude = VM.Trip.FromAddress.Position.Lon; Ride.FromAddress.Country = VM.Trip.FromAddress.Address.Country; Ride.ToAddress.CountryCode = VM.Trip.ToAddress.Address.CountryCode; Ride.ToAddress.ExactAddress = VM.Trip.ToAddress.Address.FreeformAddress; Ride.ToAddress.Governorate = VM.Trip.ToAddress.Address.CountrySubdivision; Ride.ToAddress.Municipality = VM.Trip.ToAddress.Address.Municipality; Ride.ToAddress.StreetName = VM.Trip.ToAddress.Address.streetName; Ride.ToAddress.Latitude = VM.Trip.ToAddress.Position.Lat; Ride.ToAddress.Longitude = VM.Trip.ToAddress.Position.Lon; Ride.ToAddress.Country = VM.Trip.ToAddress.Address.Country; Ride.Departure = new DateTime(VM.Trip.DepartureDate.Year, VM.Trip.DepartureDate.Month, VM.Trip.DepartureDate.Day).AddHours(VM.Trip.DepartureHour).AddMinutes(VM.Trip.departureMinutes); toReturn.Add(Ride); if (VM.IsRoadTrip) { var temp = Ride.ToAddress; Ride.ToAddress = Ride.FromAddress; Ride.FromAddress = temp; Ride.Departure = new DateTime(VM.Trip.RoadTripDate.Year, VM.Trip.RoadTripDate.Month, VM.Trip.RoadTripDate.Day).AddHours(VM.Trip.RoadTripDepartureHour).AddMinutes(VM.Trip.RoadTripdepartureMinutes); toReturn.Add(Ride); } return(toReturn); } else { var Ride1 = new Ride(); Ride1.DriverId = VM.userId; Ride1.FreeSeats = VM.Trip.FreeSeats1; Ride1.FromAddress.CountryCode = VM.Trip.FromAddress.Address.CountryCode; Ride1.FromAddress.ExactAddress = VM.Trip.FromAddress.Address.FreeformAddress; Ride1.FromAddress.Governorate = VM.Trip.FromAddress.Address.CountrySubdivision; Ride1.FromAddress.Municipality = VM.Trip.FromAddress.Address.Municipality; Ride1.FromAddress.StreetName = VM.Trip.FromAddress.Address.streetName; Ride1.FromAddress.Latitude = VM.Trip.FromAddress.Position.Lat; Ride1.FromAddress.Longitude = VM.Trip.FromAddress.Position.Lon; Ride1.FromAddress.Country = VM.Trip.FromAddress.Address.Country; Ride1.ToAddress.CountryCode = VM.Trip.LayoverAddress.Address.CountryCode; Ride1.ToAddress.ExactAddress = VM.Trip.LayoverAddress.Address.FreeformAddress; Ride1.ToAddress.Governorate = VM.Trip.LayoverAddress.Address.CountrySubdivision; Ride1.ToAddress.Municipality = VM.Trip.LayoverAddress.Address.Municipality; Ride1.ToAddress.StreetName = VM.Trip.LayoverAddress.Address.streetName; Ride1.ToAddress.Latitude = VM.Trip.LayoverAddress.Position.Lat; Ride1.ToAddress.Longitude = VM.Trip.LayoverAddress.Position.Lon; Ride1.ToAddress.Country = VM.Trip.ToAddress.Address.Country; Ride1.Departure = new DateTime(VM.Trip.DepartureDate.Year, VM.Trip.DepartureDate.Month, VM.Trip.DepartureDate.Day).AddHours(VM.Trip.DepartureHour).AddMinutes(VM.Trip.departureMinutes); toReturn.Add(Ride1); var Ride2 = new Ride(); Ride2.DriverId = VM.userId; Ride2.FreeSeats = VM.Trip.FreeSeats2; Ride2.FromAddress.CountryCode = VM.Trip.LayoverAddress.Address.CountryCode; Ride2.FromAddress.ExactAddress = VM.Trip.LayoverAddress.Address.FreeformAddress; Ride2.FromAddress.Governorate = VM.Trip.LayoverAddress.Address.CountrySubdivision; Ride2.FromAddress.Municipality = VM.Trip.LayoverAddress.Address.Municipality; Ride2.FromAddress.StreetName = VM.Trip.LayoverAddress.Address.streetName; Ride2.FromAddress.Latitude = VM.Trip.LayoverAddress.Position.Lat; Ride2.FromAddress.Longitude = VM.Trip.LayoverAddress.Position.Lon; Ride2.FromAddress.Country = VM.Trip.LayoverAddress.Address.Country; Ride2.ToAddress.CountryCode = VM.Trip.ToAddress.Address.CountryCode; Ride2.ToAddress.ExactAddress = VM.Trip.ToAddress.Address.FreeformAddress; Ride2.ToAddress.Governorate = VM.Trip.ToAddress.Address.CountrySubdivision; Ride2.ToAddress.Municipality = VM.Trip.ToAddress.Address.Municipality; Ride2.ToAddress.StreetName = VM.Trip.ToAddress.Address.streetName; Ride2.ToAddress.Latitude = VM.Trip.ToAddress.Position.Lat; Ride2.ToAddress.Longitude = VM.Trip.ToAddress.Position.Lon; Ride2.ToAddress.Country = VM.Trip.ToAddress.Address.Country; Ride2.Departure = new DateTime(VM.Trip.DepartureDate.Year, VM.Trip.DepartureDate.Month, VM.Trip.DepartureDate.Day).AddHours(VM.Trip.DepartureHour).AddMinutes(VM.Trip.departureMinutes); toReturn.Add(Ride2); if (VM.IsRoadTrip) { var ride3 = new Ride(); ride3.Departure = new DateTime(VM.Trip.RoadTripDate.Year, VM.Trip.RoadTripDate.Month, VM.Trip.RoadTripDate.Day).AddHours(VM.Trip.RoadTripDepartureHour).AddMinutes(VM.Trip.RoadTripdepartureMinutes); ride3.FreeSeats = Ride2.FreeSeats; ride3.FromAddress = Ride2.ToAddress; ride3.ToAddress = Ride2.FromAddress; ride3.DriverId = VM.userId; var ride4 = new Ride(); ride4.Departure = new DateTime(VM.Trip.RoadTripDate.Year, VM.Trip.RoadTripDate.Month, VM.Trip.RoadTripDate.Day).AddHours(VM.Trip.RoadTripDepartureHour).AddMinutes(VM.Trip.RoadTripdepartureMinutes); ride4.FreeSeats = Ride1.FreeSeats; ride4.FromAddress = Ride1.ToAddress; ride4.ToAddress = Ride1.FromAddress; ride4.DriverId = VM.userId; toReturn.Add(ride3); toReturn.Add(ride4); } return(toReturn); } }
public ActionResult Share(CreateRideViewModel createRideViewModel) { rideShareRepository.SaveShare(createRideViewModel); return(View()); }
// GET: ShareRide public ActionResult Index() { CreateRideViewModel createRideViewModel = new CreateRideViewModel(); return(View(createRideViewModel)); }