public ActionResult BookingCruiseDetail(int id)
        {
            ViewBag.Title = "Chi tiết đặt tàu";
            BookCruise bokcruise = db.BookCruises.FirstOrDefault(a => a.ID == id);

            return(View(bokcruise));
        }
Beispiel #2
0
        // code gửi mail xacs nhận booking
        public JsonResult Cormfirmbookingcruise(string name, string email, string phone, string address, string country, string mrs, string content, List <BookingCabin> listservic)
        {
            try
            {
                BookingCruise ds               = (BookingCruise)Session["detaiboookingcruise"];
                var           listcabinemial   = "";
                var           listserviceemial = "";
                double        PriceCabin       = 0;
                double        PriceService     = 0;
                if (ds.CruiseCabin.Count > 0)
                {
                    for (var i = 0; i < ds.CruiseCabin.Count; i++)
                    {
                        var element = ds.CruiseCabin[i];
                        var coutrom = ds.listcabin.FirstOrDefault(a => a.IDCabin == element.ID).CountRom;
                        if (!string.IsNullOrEmpty(element.Price))
                        {
                            var listtab   = JsonConvert.DeserializeObject <List <EPricetabCabin> >(element.Price);
                            var pricerome = listtab.FirstOrDefault(a => a.NameTabCruise == ds.Duration);
                            if (pricerome != null)
                            {
                                if (pricerome.Pricesale < pricerome.Price)
                                {
                                    PriceCabin += coutrom * pricerome.Pricesale;
                                }
                                else
                                {
                                    PriceCabin += coutrom * pricerome.Price;
                                }

                                listcabinemial += "+Room " + (i + 1) + ": " + element.Name + "<br> Number of cabin: " + coutrom + "<br />";
                            }
                        }
                    }
                }
                if (listservic != null)
                {
                    foreach (var i in listservic)
                    {
                        var countservic = db.ServiceCruises.FirstOrDefault(a => a.ID == i.IDCabin);
                        if (countservic != null)
                        {
                            PriceService     += (countservic.Price ?? 0) * i.CountRom;
                            listserviceemial += "+ " + countservic.Name + ":<br>number of guest: " + i.CountRom + "<br>+Price :" + (countservic.Price ?? 0) * i.CountRom + " USD <br />";
                        }
                    }
                }
                var cruisebooking = new BookCruise
                {
                    PriceCabin   = PriceCabin,
                    FullName     = name,
                    Address      = address,
                    Request      = content,
                    Tel          = phone,
                    Gender       = mrs,
                    Email        = email,
                    Adult        = ds.Adult,
                    Country      = country,
                    Child        = Int32.Parse(ds.Child),
                    CreateDate   = DateTime.Now,
                    Departure    = ds.Checkin,
                    NameCruise   = ds.Cruise.Name,
                    Itinerary    = ds.Duration,
                    PriceService = PriceService,
                    Total        = PriceService + PriceCabin
                };
                cruisebooking.InforService = listserviceemial;
                cruisebooking.InforCabin   = listcabinemial;
                db.BookCruises.InsertOnSubmit(cruisebooking);
                db.SubmitChanges();

                //Gửi email xác nhận đặt Tàu

                Hotel     hotel     = CommentController.DetailHotel(Request.Cookies["LanguageID"].Value);
                SendEmail sendEmail =
                    db.SendEmails.FirstOrDefault(
                        a => a.Type == TypeSendEmail.BookRoom && a.LanguageID == Request.Cookies["LanguageID"].Value);

                sendEmail.Title = sendEmail.Title.Replace("{HotelName}", hotel.Name);
                string contentemail = sendEmail.Content;
                contentemail = contentemail.Replace("{NameCruise}", cruisebooking.NameCruise);
                contentemail = contentemail.Replace("{Gender}", cruisebooking.Gender);
                contentemail = contentemail.Replace("{FullName}", cruisebooking.FullName);
                contentemail = contentemail.Replace("{Email}", cruisebooking.Email);
                contentemail = contentemail.Replace("{Tel}", cruisebooking.Tel);
                contentemail = contentemail.Replace("{Address}", cruisebooking.Address);
                contentemail = contentemail.Replace("{City}", "No");
                contentemail = contentemail.Replace("{Country}", cruisebooking.Country);
                contentemail = contentemail.Replace("{Smoking}", "Something");
                contentemail = contentemail.Replace("{InforService}", listserviceemial);
                contentemail = contentemail.Replace("{InforCabin}", listcabinemial);
                contentemail = contentemail.Replace("{Request}", cruisebooking.Request);
                contentemail = contentemail.Replace("{Request}", cruisebooking.Request);
                contentemail = contentemail.Replace("{CheckIn}", cruisebooking.Departure);
                contentemail = contentemail.Replace("{Itinerary}", ds.Duration);
                contentemail = contentemail.Replace("{Adult}", cruisebooking.Adult.ToString());
                contentemail = contentemail.Replace("{Child}", cruisebooking.Child.ToString());
                contentemail = contentemail.Replace("{PriceCabin}", cruisebooking.PriceCabin.ToString());
                contentemail = contentemail.Replace("{PriceService}", cruisebooking.PriceService.ToString());
                contentemail = contentemail.Replace("{Total}", cruisebooking.Total.ToString());
                contentemail = contentemail.Replace("{HotelName}", hotel.Name);
                contentemail = contentemail.Replace("{HotelEmail}", hotel.Email);
                contentemail = contentemail.Replace("{HotelTel}", hotel.Tel);
                contentemail = contentemail.Replace("{Website}", hotel.Website);

                MailHelper.SendMail(cruisebooking.Email, sendEmail.Title, contentemail);
                MailHelper.SendMail(hotel.Email, hotel.Name + " (113)- Booking Cruise of " + cruisebooking.FullName, contentemail);

                return(Json(new { success = true }));
            }
            catch
            {
                return(Json(new { success = false }));
            }
        }