コード例 #1
0
 public async Task <IActionResult> Booking(BookMv book)
 {
     if (!ModelState.IsValid)
     {
         ViewBag.CategoryRoom = await new CategoryRoomDao().GeList();
         return(RedirectToAction("Booking"));
     }
     else
     {
         try
         {
             var data = new BookingDao().Empbooking(book);
             ViewBag.CategoryRoom      = await new CategoryRoomDao().GeList();
             ViewBag.ListGuest         = await new BookingDao().getGuestList();
             ViewBag.ListBookingOnline = await new BookingDao().getListBookingOnline();
             ViewBag.ListBooking       = await new BookingDao().getListBooking();
             return(View("Home"));
         }
         catch (Exception e)
         {
             Console.WriteLine(e.Message);
             ViewBag.CategoryRoom = await new CategoryRoomDao().GeList();
             return(View("Booking"));
         }
     }
 }
コード例 #2
0
        public async Task <object> EmpAcceptBookingOnline(BookMv book)
        {
            book.ListRoomIds = book.RoomIds.Split(',').Select(int.Parse).ToArray();
            var postTask = await _api.Update(url + "/EmpAcceptBooking", book.Id, book);

            return(postTask);
        }
コード例 #3
0
        public async Task <BookMv> getBookingOnlineById(int bookingId)
        {
            try
            {
                var getTask = await _api.GetDataById(url + "/GetBookingById", bookingId);

                var bookingMv = new BookingMv();
                if (getTask.IsSuccessStatusCode)
                {
                    var result = getTask.Content.ReadAsStringAsync().Result;
                    bookingMv = JsonConvert.DeserializeObject <BookingMv>(result);
                }
                var book = new BookMv()
                {
                    Id         = bookingMv.Id,
                    FirstName  = bookingMv.GuestMv.FirstName,
                    LastName   = bookingMv.GuestMv.LastName,
                    Email      = bookingMv.GuestMv.Email,
                    Phone      = bookingMv.GuestMv.Phone,
                    CheckOut   = bookingMv.CheckOut,
                    CheckIn    = bookingMv.CheckIn,
                    IdentityNo = bookingMv.GuestMv.IdentityNo
                };

                return(book);
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                return(null);

                throw;
            }
        }
コード例 #4
0
        public void EmpAcceptBooking(int id, BookMv book)
        {
            try
            {
                //accept guest
                var guest = _unitOfWork.Guests.GetByID(_unitOfWork.Bookings.GetByID(book.Id).GuestId);

                guest.IdentityNo = book.IdentityNo;
                guest.Email      = book.Email;
                guest.LastName   = book.LastName;
                guest.FirstName  = book.FirstName;
                guest.Phone      = book.Phone;


                _unitOfWork.Guests.Update(guest);
                _unitOfWork.Commit();

                //acceptBooking
                var booking = _unitOfWork.Bookings.GetByID(book.Id);
                booking.CheckOut     = book.CheckOut;
                booking.CheckIn      = book.CheckIn;
                booking.DurationStay = (int)(book.CheckOut - book.CheckIn).TotalDays;
                booking.Status       = BookedStatus.booked;
                var amountMoney = 0;

                foreach (var item in book.ListRoomIds)
                {
                    var money = _unitOfWork.CategoryRooms
                                .GetByID(_unitOfWork.Rooms.GetByID(item).CategoryRoomId)
                                .Price;
                    var durationDay = booking.DurationStay;

                    var totalMoney = durationDay * money;
                    amountMoney += (int)totalMoney;
                }

                booking.Amount = amountMoney;

                _unitOfWork.Bookings.Update(booking);
                _unitOfWork.Commit();
                //create booking room
                foreach (var item in book.ListRoomIds)
                {
                    var bookRoom = new BookRoom()
                    {
                        BookingId = book.Id,
                        RoomId    = item
                    };
                    _unitOfWork.BookRooms.Insert(bookRoom);
                    _unitOfWork.Commit();
                }
                new OrderDao(_unitOfWork, _mapper).CreateOrder(booking.Id);
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                throw;
            }
        }
コード例 #5
0
        public async Task <HttpResponseMessage> Empbooking(BookMv book)
        {
            book.ListRoomIds = book.RoomIds.Split(',').Select(int.Parse).ToArray();
            var postTask = await _api.PostData(url + "/employeepost", book);


            return(postTask);
        }
コード例 #6
0
        public async Task CreateBooking(BookMv book)
        {
            try
            {
                System.Net.Mail.MailMessage MyMailMessage = new System.Net.Mail.MailMessage();
                MyMailMessage.From = new System.Net.Mail.MailAddress("*****@*****.**");
                MyMailMessage.To.Add(book.Email);// Mail would be sent to this address
                MyMailMessage.Subject = "Khach San";

                System.Net.Mail.SmtpClient SMTPServer = new System.Net.Mail.SmtpClient("smtp.gmail.com");
                SMTPServer.Port        = 587;
                SMTPServer.Credentials = new System.Net.NetworkCredential("*****@*****.**", "dinhhoang0712");
                SMTPServer.EnableSsl   = true;

                var guest        = _unitOfWork.Guests.Get().FirstOrDefault(x => x.Email == book.Email);
                var currentGuest = new Guest();
                if (guest != null)
                {
                    currentGuest = guest;
                }
                else
                {
                    var guestData = new Guest()
                    {
                        FirstName = book.FirstName,
                        LastName  = book.LastName,
                        Email     = book.Email,
                        Phone     = book.Phone
                    };
                    currentGuest = _unitOfWork.Guests.InsertData(guestData);
                }
                _unitOfWork.Commit();

                var bookingData = new Booking()
                {
                    BookingDate  = DateTime.Now,
                    CheckIn      = book.CheckIn,
                    CheckOut     = book.CheckOut,
                    SecretCode   = new Random().Next(100000, 999999).ToString(),
                    GuestId      = currentGuest.Id,
                    Status       = BookedStatus.booking,
                    DurationStay = (int)(book.CheckOut - book.CheckIn).TotalDays,
                };
                MyMailMessage.Body = $"ma so bi mat ban la: {bookingData.SecretCode}";
                _unitOfWork.Bookings.Insert(bookingData);
                _unitOfWork.Commit();
                await SMTPServer.SendMailAsync(MyMailMessage);
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
                throw;
            }
        }
コード例 #7
0
 public async Task <IActionResult> EmpleePostAsync([FromBody] BookMv booking)
 {
     try
     {
         await new BookingDao(_unitOfWork, _mapper).EmployeCreateBooking(booking);
         return(Ok());
     }
     catch (Exception e)
     {
         Console.WriteLine(e);
         return(NotFound());
     }
 }
コード例 #8
0
        public IActionResult EmpAcceptBooking(int id, BookMv book)
        {
            try
            {
                new BookingDao(_unitOfWork, _mapper).EmpAcceptBooking(id, book);
                return(Ok());
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                return(NotFound());

                throw;
            }
        }
コード例 #9
0
 public async Task <IActionResult> CheckInRoom(BookMv book)
 {
     if (!ModelState.IsValid)
     {
         ViewBag.CategoryRoom      = await new CategoryRoomDao().GeList();
         ViewBag.ListBookingOnline = await new BookingDao().getListBookingOnline();
         return(View());
     }
     else
     {
         ViewBag.ListBookingOnline = await new BookingDao().EmpAcceptBookingOnline(book);
         ViewBag.ListGuest         = await new BookingDao().getGuestList();
         ViewBag.ListBookingOnline = await new BookingDao().getListBookingOnline();
         ViewBag.ListBooking       = await new BookingDao().getListBooking();
         return(View("Home"));
     }
 }
コード例 #10
0
        public async Task EmployeCreateBooking(BookMv book)
        {
            try
            {
                System.Net.Mail.MailMessage MyMailMessage = new System.Net.Mail.MailMessage();
                MyMailMessage.From = new System.Net.Mail.MailAddress("*****@*****.**");
                MyMailMessage.To.Add(book.Email);// Mail would be sent to this address
                MyMailMessage.Subject = "khách sạn";

                System.Net.Mail.SmtpClient SMTPServer = new System.Net.Mail.SmtpClient("smtp.gmail.com");
                SMTPServer.Port        = 587;
                SMTPServer.Credentials = new System.Net.NetworkCredential("*****@*****.**", "dinhhoang0712");
                SMTPServer.EnableSsl   = true;

                var guest        = _unitOfWork.Guests.Get().FirstOrDefault(x => x.Email == book.Email);
                var currentGuest = new Guest();
                if (guest == null)
                {
                    var guestData = new Guest()
                    {
                        FirstName  = book.FirstName,
                        LastName   = book.LastName,
                        Email      = book.Email,
                        Phone      = book.Phone,
                        IdentityNo = book.IdentityNo
                    };
                    currentGuest = _unitOfWork.Guests.InsertData(guestData);
                }
                else
                {
                    currentGuest = guest;
                }
                _unitOfWork.Commit();
                var amountMoney = 0;

                foreach (var item in book.ListRoomIds)
                {
                    var money = _unitOfWork.CategoryRooms
                                .GetByID(_unitOfWork.Rooms.GetByID(item).CategoryRoomId)
                                .Price;
                    var durationDay = (int)(book.CheckOut - book.CheckIn).TotalDays;

                    var totalMoney = durationDay * money;
                    amountMoney += (int)totalMoney;
                }
                var bookingData = new Booking()
                {
                    BookingDate  = DateTime.Now,
                    CheckIn      = book.CheckIn,
                    CheckOut     = book.CheckOut,
                    SecretCode   = new Random().Next(100000, 999999).ToString(),
                    GuestId      = currentGuest.Id,
                    Status       = BookedStatus.booked,
                    DurationStay = (int)(book.CheckOut - book.CheckIn).TotalDays,
                    Amount       = amountMoney
                };


                MyMailMessage.Body = $"mã số bí mật của {currentGuest.LastName} là: {bookingData.SecretCode}";
                _unitOfWork.Bookings.Insert(bookingData);
                _unitOfWork.Commit();

                foreach (var item in book.ListRoomIds)
                {
                    var bookRoom = new BookRoom()
                    {
                        BookingId = bookingData.Id,
                        RoomId    = item
                    };
                    _unitOfWork.BookRooms.Insert(bookRoom);
                    _unitOfWork.Commit();
                }
                new OrderDao(_unitOfWork, _mapper).CreateOrder(bookingData.Id);
                await SMTPServer.SendMailAsync(MyMailMessage);
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
                throw;
            }
        }