public SeatClassModel CreateViewModel(SeatClass model) { SeatClassModel viewModel = null; if (model != null) { viewModel = new SeatClassModel(); CommonMethods.CopyObjectProperties(model, viewModel); } return(viewModel); }
private List <SearchFlightModel> SearchFlight(IEnumerable <SearchFlightModel> searchList, int totalSeat, SeatClassModel seatClass) { var data = new List <SearchFlightModel>(); foreach (var search in searchList) { var check = true; var priceSeat = 0.0; foreach (var flight in search.FlightList) { var totalSeatClass = seatClass.PlaneSeatClasses.Where(planeSeat => planeSeat.PlaneID == flight.PlaneID) .Select(planeSeat => planeSeat.Capacity).FirstOrDefault(); var totalTicket = flight.TicketFlights.Where(ticketflight => ticketflight.Ticket.Status.Equals(Constant.CONST_DB_TICKET_STATUS_SUCCESS) && this.SeatMapService.FindBySeatCode(ticketflight.SeatCode, flight.PlaneID.Value).ID == seatClass.ID).Count(); priceSeat = seatClass.PlaneSeatClasses.Where(planeSeat => planeSeat.PlaneID == flight.PlaneID) .Select(planeSeat => planeSeat.Price.Value).FirstOrDefault(); if (totalSeatClass == null) { check = false; break; } if (totalSeat > (totalSeatClass - totalTicket)) { check = false; break; } } if (check) { var airportCode = new List <string>(); for (var i = 1; i < search.FlightList.Count(); ++i) { airportCode.Add(search.FlightList[i].Departure.Name.Split('-').First()); } search.Price += priceSeat; search.AirportCode = airportCode; data.Add(search); } } return(data); }