public ActionResult SearchResult(Request request) { try { //Nếu là chuyến bay một chiều thì chọn chuyến bay sẽ về luôn nhập thông tin // Nếu không thì sẽ chuyeenrr sang một action trong controller cho phép chọn thêm một chuyến bay nữa if (request.flightType == 0) { ViewBag.redirect = "Detail"; } else { ViewBag.redirect = "SearchResultReturn"; } SearchResultOneWay result = new SearchResultOneWay(); //người lớn và trẻ em thì cho ngồi ghế còn trẻ sơ sinh thì người lớn bế int soluonghanhkhach = request.adultNo + request.childNo; List <ChuyenBay> temp = new List <ChuyenBay>(); DateTime dt = DateTime.ParseExact(request.depDate, "dd/MM/yyyy", CultureInfo.InvariantCulture); result.cb = new List <ChuyenBay>(); temp = new F_DanhSachChuyenBay().DS_ChuyenBay.Where(x => x.DiemDi == request.depAirport && x.DiemDen == request.arvAirport && x.Ngay == dt).ToList(); //kiểm tra thử còn chỗ không với các chuyến bay phù hợp với ngày đã chọn foreach (ChuyenBay item in temp) { int a = new AirLineDbContext().KhachHang_ChuyenBay.Where(x => x.MaChuyenBay == item.MaChuyenBay && x.NgayBay == item.Ngay).ToList().Count();// Lấy ra số chỗ đã đặt thành công if (item.SoCho - a >= soluonghanhkhach) { result.cb.Add(item); } } result.departAirport = request.depAirport; result.arrivedAirport = request.arvAirport; result.date = request.depDate; result.rtndate = request.rtnDate; result.adultNo = request.adultNo; result.childNo = request.childNo; result.infantNo = request.infantNo; var session1 = (UserLogin)Session[CommonSession.USER_SESSION]; if (session1 != null) { TempData["layout"] = "logged in"; } return(View(result)); } catch { return(View("Index")); } }
public ActionResult Detail(TravelerDetail DeTail) { ViewBag.tongtien = 0; // Hiển thị chi tiết của từng chuyến bay(tạo một list có 2 chuyến bay là lượt đi và lượt về ) List <FlightInfo> result = new List <FlightInfo>(); ChuyenBay model = new F_DanhSachChuyenBay().FindEntity(DeTail.MaChuyenBayLuotDi); FlightInfo Flightif = new FlightInfo(); Flightif.LoaiCb = "Chuyến Bay Lượt đi"; Flightif.cb = model; Flightif.adultNo = DeTail.adultNo; Flightif.childNo = DeTail.childNo; Flightif.infantNo = DeTail.infantNo; ViewBag.adultNo = DeTail.adultNo; ViewBag.childNo = DeTail.childNo; ViewBag.infantNo = DeTail.infantNo; //Lưu mã chuyến bay lượt đi vào sesion Session[CommonSession.FLIGHTDEP_ID] = DeTail.MaChuyenBayLuotDi; Flightif.tongGiaVeNguoiLon = DeTail.adultNo * ((int)(Flightif.cb.Gia) + (int)(Flightif.cb.Thue)); Flightif.tongGiaVetreEm = DeTail.childNo * ((int)(Flightif.cb.GiaTreEm) + (int)(Flightif.cb.ThueTreEm)); Flightif.tongGiaveSoSinh = DeTail.infantNo * (int)(Flightif.cb.GiaVeTreSoSinh); ViewBag.tongtien += Flightif.tongGiaVeNguoiLon + Flightif.tongGiaVetreEm + Flightif.tongGiaveSoSinh; result.Add(Flightif); if (DeTail.MaChuyenBayLuotVe != null) { ChuyenBay tmp = new F_DanhSachChuyenBay().FindEntity(DeTail.MaChuyenBayLuotVe); FlightInfo t = new FlightInfo(); t.LoaiCb = "Chuyến Bay Lượt Về"; t.cb = tmp; t.adultNo = DeTail.adultNo; t.childNo = DeTail.childNo; t.infantNo = DeTail.infantNo; t.tongGiaVeNguoiLon = DeTail.adultNo * ((int)(t.cb.Gia) + (int)(t.cb.Thue)); t.tongGiaVetreEm = DeTail.childNo * ((int)(t.cb.GiaTreEm) + (int)(t.cb.ThueTreEm)); t.tongGiaveSoSinh = DeTail.infantNo * (int)(t.cb.GiaVeTreSoSinh); ViewBag.tongtien += t.tongGiaVeNguoiLon + t.tongGiaVetreEm + t.tongGiaveSoSinh; //lưu mã chuyến bay lượt về vào session Session[CommonSession.FLIGHTARV_ID] = DeTail.MaChuyenBayLuotVe; result.Add(t); } var session1 = (UserLogin)Session[CommonSession.USER_SESSION]; if (session1 != null) { TempData["layout"] = "logged in"; } return(View(result)); }