private List <PassengerDto> GetTotalPassengers() { List <PassengerDto> passengerDtos = new List <PassengerDto>(); var query = from b in _bookingDBContext.BookingDetails group b by new { b.FlightScheduleId } into g select new { TotalNumberOfPassenger = g.Sum(p => p.NoOfPassenger), g.Key.FlightScheduleId }; foreach (var q in query) { PassengerDto passenger = new PassengerDto { FlightScheduleId = q.FlightScheduleId, TotalPassengers = q.TotalNumberOfPassenger }; passengerDtos.Add(passenger); } return(passengerDtos); }
public async Task <IActionResult> PassengerLogin([FromBody] PassengerLoginModel model) { var passenger = _passengerRepo.Query(x => x.ReservationCode == model.ReservationCode).Include(x => x.Seat).ThenInclude(y => y.Plane).FirstOrDefault(); if (null == passenger) { throw new ArgumentException("incorrect reservationCode"); } var result = await _signInManager.PasswordSignInAsync(passenger.UserName, "Test123!", false, false); if (result.Succeeded) { var token = TokenHelper.GetToken(passenger); var passengerDto = new PassengerDto { UserName = passenger.UserName, PlaneId = passenger.Seat.Plane.Id, Id = passenger.Id.ToString(), Token = token, Seat = new SeatDto(passenger.Seat), }; return(Ok(passengerDto)); } throw new ArgumentException("incorrect reservationCode"); }
public async Task <bool> AddNewPassenger(PassengerDto p) { try { _memoryCache.TryGetValue(PassengerKey, out List <PassengerDto> pCache); _memoryCache.TryGetValue(DocumentTypeKey, out List <DocumentTypeDto> dCache); var documentType = dCache.Find(c => c.Id == p.DocumentTypeId); if (documentType != null) { p.DocumentType = documentType; } p.Id = pCache.Count + 1; p.IssueDate = DateTime.UtcNow; p.IsActive = true; pCache.Add(p); return(true); } catch (Exception e) { Console.WriteLine(e); return(false); } finally { await Task.Delay(new TimeSpan(0)); } }
public bool DeletePassenger(PassengerDto model) { try { var param = new SqlParameter[10]; param[0] = new SqlParameter("@Id", model.Id); param[1] = new SqlParameter("@Name", model.Name); param[2] = new SqlParameter("@Surname", model.Surname); param[3] = new SqlParameter("@Age", model.Age); param[4] = new SqlParameter("@BirthDate", model.BirthDate); param[5] = new SqlParameter("@Tc", model.Tc); param[6] = new SqlParameter("@IsTc", model.IsTc); param[7] = new SqlParameter("@PassportNo", model.PassportNo); param[8] = new SqlParameter("@PassengerAndTicketId", model.PassengerAndTicketId); param[9] = new SqlParameter("@OperationType", "DEL"); var cmd = new SqlCommand("prdCityOperation", new SqlConnection(connStr)); cmd.CommandType = CommandType.StoredProcedure; for (int i = 0; i < param.Length; i++) { cmd.Parameters.Add(param[i]); } cmd.CommandTimeout = (1000 * 60 * 10); cmd.ExecuteNonQuery(); return(true); } catch (Exception ex) { return(false); } }
public async Task <bool> ChangePassengerInfo(PassengerDto p) { try { _memoryCache.TryGetValue(PassengerKey, out List <PassengerDto> pCache); _memoryCache.TryGetValue(DocumentTypeKey, out List <DocumentTypeDto> dCache); var passenger = pCache.Find(c => c.Id == p.Id); if (passenger != null) { p.Adapt(passenger); passenger.DocumentType = dCache.Find(c => c.Id == p.DocumentTypeId); passenger.IssueDate = DateTime.UtcNow; } return(true); } catch (Exception e) { Console.WriteLine(e); return(false); } finally { await Task.Delay(new TimeSpan(0)); } }
public async Task <IActionResult> Edit(int id, [FromBody] PassengerDto obj, string scenario) { switch (scenario) { case Scenario.Online: try { _passengerOperation = new PassengerOperation(new OnlinePassengerManager(_passengerRepository, _documentTypeRepository)); return(Ok(await _passengerOperation.ChangePassengerInfo(obj))); } catch (Exception ex) { _logger.LogCritical(ex.Message, ex); return(BadRequest(ex.Message)); } case Scenario.Offline: try { _passengerOperation = new PassengerOperation(new OfflinePassengerManager(_memoryCache)); return(Ok(await _passengerOperation.ChangePassengerInfo(obj))); } catch (Exception ex) { _logger.LogCritical(ex.Message, ex); return(BadRequest(ex.Message)); } default: return(Ok()); } }
public async Task <IActionResult> Edit(PassengerDto passenger, string scenario) { try { HttpClient client = new() { BaseAddress = new Uri(Configuration.GetConnectionString("PassengerApi")) }; var response = await client.PutAsync( client.BaseAddress + "api/" + scenario + "/Passenger/Edit/" + passenger.Id, new StringContent(JsonConvert.SerializeObject(passenger), Encoding.UTF8, "application/json")); if (!response.IsSuccessStatusCode) { return(View("Error", new ErrorViewModel { ErrorCode = (int)response.StatusCode + " " + response.ReasonPhrase, ErrorMessage = response.RequestMessage != null ? response.RequestMessage.ToString() : "No message delivered by the service." })); } var result = Convert.ToBoolean(JsonConvert.DeserializeObject(response.Content.ReadAsStringAsync().Result)); return(result ? RedirectToAction("Index", "Passenger", new { scenario }) : View(passenger)); } catch (Exception exception) { _logger.LogCritical(exception.Message, exception); return(View("Error", new ErrorViewModel { ErrorMessage = exception.Message })); } }
internal static void ShowPrintTravel(OrderDetailDto order, PassengerDto passenger, ResponseChangeOrder rasorder = null, ResponseAfterSalePassenger raspassenger = null, int flag = 0, OrderInfoViewModel orderInfoViewModel = null, AfterSaleInfoViewModel afterSaleInfoViewModel = null, Action <bool?> call = null) { DispatcherHelper.UIDispatcher.Invoke(new Action(() => { var window = new PrintTravelWindow { Owner = Application.Current.MainWindow }; var vm = new PrintTravelViewModel { RspOrder = order, Passenger = passenger, RsAferSaleOrder = rasorder, RsAfterSalePassenger = raspassenger, RFlag = flag, OrderInfoViewModel = orderInfoViewModel, AfterSaleInfoViewModel = afterSaleInfoViewModel }; vm.Init(); window.DataContext = vm; var result = window.ShowDialog(); if (call != null) { call(result); } window.DataContext = null; })); }
private static PassengerViewModel BuildPassenger(PassengerDto passenger) { return(new PassengerViewModel { FirstName = passenger.FirstName, SecondName = passenger.SecondName, PassengerType = BuilPassengerType(passenger.PassengerType) }); }
public PassengerEntity toEntity(PassengerDto passengerDto) { PassengerEntity passenger = new PassengerEntity(); passenger.PassengerId = passengerDto.PassengerId; passenger.FirstName = passengerDto.FirstName; passenger.LastName = passengerDto.LastName; passenger.PlaneId = passengerDto.PlaneId ?? null; return(passenger); }
internal PassengerDto HateoasMainLinksPassenger(PassengerDto passenger) { var passengerDto = passenger; passengerDto.Links.Add(UrlLink("all", "GetPassengers", null)); passengerDto.Links.Add(UrlLink("_self", "GetPassengerById", new { id = passengerDto.Id })); passengerDto.Links.Add(UrlLink("_next", "GetPassengerById", new { id = passengerDto.Id + 1 })); passengerDto.Links.Add(UrlLink("_name=Greta", "GetPassengerByName", new { Name = "Greta" })); passengerDto.Links.Add(UrlLink("_identificationNumber", "GetPassengerByIdentificationNumber", new { IdentificationNumber = "199002128812" })); return(passengerDto); }
public async Task <bool> AddNewPassenger(PassengerDto p) { try { var newPassenger = p.Adapt(new Data.Entity.Passenger()); return(newPassenger != null && await _passengerRepository.CreateAsync(newPassenger)); } catch (Exception e) { Console.WriteLine(e); throw; } }
public void SavePassenger(PassengerDto dto) { var passenger = _railwayContext.Passengers.FirstOrDefault(x => x.Id == dto.Id); if (passenger != null) { Mapper.Map(dto, passenger); } else { passenger = Mapper.Map <Passenger>(dto); _railwayContext.Passengers.Add(passenger); } _railwayContext.SaveChanges(); }
public async Task <ActionResult <PassengerDto> > PostEvent(PassengerDto passengerDto) { try { var mappedEntity = _mapper.Map <Passenger>(passengerDto); _passengerRepo.Add(mappedEntity); if (await _passengerRepo.Save()) { return(Created($"/api/v1.0/Destinations/{mappedEntity.ID}", _mapper.Map <Destination>(mappedEntity))); } } catch (Exception e) { return(this.StatusCode(StatusCodes.Status500InternalServerError, $"Database Failure: {e.Message}")); } return(BadRequest()); }
public async Task <bool> ChangePassengerInfo(PassengerDto p) { try { var passenger = await _passengerRepository.GetByIdAsync(p.Id); if (passenger != null) { var updatedPassenger = p.Adapt(passenger); return(updatedPassenger != null && await _passengerRepository.UpdateAsync(updatedPassenger)); } return(false); } catch (Exception e) { Console.WriteLine(e); throw; } }
public PassengerDto[] CreatePassengers(int columns, int rows) { var passengers = new List <PassengerDto>(); var count = rows * columns; for (var i = 0; i < count; i++) { var passenger = new PassengerDto { Id = $"{i + 1}", Satisfaction = Math.Round(randomizer.GetRandomDouble(), 2), Quality = Math.Round(randomizer.GetRandomDouble(), 2), TransportType = TransportTypes.GetRandomTransportTypeBetweenCarAndBus(randomizer), FirstBusQuality = 0.5 }; passengers.Add(passenger); } return(passengers.ToArray()); }
public IActionResult CreatePassenger([FromBody] PassengerDto passenger) { try { if (passenger == null) { return(BadRequest()); } // custom validation to make sure duplicate passengers don't get created if (_flightInfoRepository.GetPassengersByNameAndMobile(passenger.Name, passenger.Mobile) != null) { ModelState.AddModelError("Passenger", "Passenger Already Exists."); _logger.LogCritical($"Passenger Already Exists with Name: {passenger.Name}, mobile: {passenger.Mobile}"); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var passengerEntity = AutoMapper.Mapper.Map <Passenger>(passenger); _flightInfoRepository.AddPassenger(passengerEntity); if (!_flightInfoRepository.Save()) { _logger.LogCritical("An Error Occured While Handing Your Request."); return(StatusCode(500, "An Error Occured While Handing Your Request.")); } var newPassenger = AutoMapper.Mapper.Map <PassengerDto>(passengerEntity); return(CreatedAtRoute("GetPassengerById", new { id = passengerEntity.Id }, newPassenger)); } catch (Exception ex) { _logger.LogCritical("An Error Occured While Handing Your Request. {0}", ex.ToString()); return(StatusCode(500, "An Error Occured While Handing Your Request.")); } }
public async Task <ActionResult <PassengerDto> > PutEvent(int id, PassengerDto passengerDto) { try { var oldpassenger = await _passengerRepository.GetPassengerById(id); if (oldpassenger == null) { return(NotFound($"Couldn't find any passenger with id: {id}")); } var newPassenger = _mapper.Map(passengerDto, oldpassenger); _passengerRepository.Update(newPassenger); if (await _passengerRepository.Save()) { return(NoContent()); } } catch (Exception e) { return(this.StatusCode(StatusCodes.Status500InternalServerError, $"Database Failure: {e.Message}")); } return(BadRequest()); }
public void AddPassenger(PassengerDto passenger) { _passengerRepository.AddNewPassenger(_mapper.Map <PassengerDto, Passenger>(passenger)); }
public async Task <bool> AddNewPassenger(PassengerDto obj) { return(await _passengerManager.AddNewPassenger(obj)); }
public async Task <bool> ChangePassengerInfo(PassengerDto obj) { return(await _passengerManager.ChangePassengerInfo(obj)); }
public bool AddPassenger(PassengerDto passenger) { return(_passengerRepository.AddNewPassenger(_mapper.Map <PassengerDto, Passenger>(passenger))); }
public void GetFlightInfo(PassengerDto expectedPassenger, Flight expectedFlight, HttpClient client, HttpResponseMessage result) { "Given that I have a flight with one passenger in the database".x(() => { expectedPassenger = new PassengerDto { Id = 5, Name = "Bob", Surname = "XYZ" }; Passenger passenger = new Passenger { Id = expectedPassenger.Id }; expectedFlight = new Flight { Id = 123, Number = "abc", Operator = "xyz", Passengers = new List <Passenger> { passenger } }; client = factory.WithWebHostBuilder(builder => { builder.ConfigureAppConfiguration((hostingContext, config) => { config.AddInMemoryCollection(new Dictionary <string, string> { { "ProviderUrl", mockProviderServiceBaseUri } }); }); builder.ConfigureServices(services => { // Create a new service provider. var serviceProvider = new ServiceCollection() .AddEntityFrameworkInMemoryDatabase() .BuildServiceProvider(); // Add a database context (ApplicationDbContext) using an in-memory // database for testing. services.AddDbContext <DatabaseContext>(options => { options.UseInMemoryDatabase("InMemoryDbForTesting"); options.UseInternalServiceProvider(serviceProvider); }); // Build the service provider. var sp = services.BuildServiceProvider(); using (var scope = sp.CreateScope()) { var scopedServices = scope.ServiceProvider; var dbContext = scopedServices.GetRequiredService <DatabaseContext>(); dbContext.Passengers.Add(passenger); dbContext.Flights.Add(expectedFlight); dbContext.SaveChanges(); } }); }).CreateClient(); }); "And the Passengers Api has the details of the passenger".x(() => { mockProviderService .Given($"There is a passenger with id {expectedPassenger.Id}") .UponReceiving("A GET request to retrieve the passenger data") .With(new ProviderServiceRequest { Method = HttpVerb.Get, Path = $"/api/passengers/{expectedPassenger.Id}" }) .WillRespondWith(new ProviderServiceResponse { Status = 200, Headers = new Dictionary <string, object> { { "Content-Type", "application/json; charset=utf-8" } }, Body = new { expectedPassenger.Id, Name = Match.Type(expectedPassenger.Name), Surname = Match.Type(expectedPassenger.Surname) } }); }); "When I query the Flights Api".x(async() => { result = await client.GetAsync($"/api/flights/{expectedFlight.Id}"); }); "Then the Flights Api should return the flight info with the passenger detail".x(async() => { result.EnsureSuccessStatusCode(); var content = await result.Content.ReadAsStringAsync(); var expectedPassengers = new List <PassengerDto> { expectedPassenger }; string expectedResponse = JsonConvert.SerializeObject(new { expectedFlight.Id, expectedFlight.Number, expectedFlight.Operator, passengers = expectedPassengers }); expectedResponse.Should().BeEquivalentTo(content); }); }
internal PassengerDto HateoasSideLinks(PassengerDto passenger) { PassengerDto passengerDto = passenger; throw new System.NotImplementedException(); }
public PassengerDto FindPassenger(PassengerDto passengerDto) { return(PassengerMapper.toDto(PassengerRepository.GetPassengerByID(passengerDto.PassengerId))); }
public PassengerDto AddPassenger(PassengerDto passengerDto) { PassengerEntity passengerEntity = PassengerRepository.InsertPassengerEntity(PassengerMapper.toEntity(passengerDto)); return(PassengerMapper.toDto(passengerEntity)); }