Example #1
0
        public ActionResult SearchAdvanceRoom(SearchAdvanceRoomParametersVM model)
        {
            try
            {
                if (model.RoomFeatures != null && model.RoomFeatures.Count > 0)
                {
                    model.RoomFeaturesIds = String.Join(",", model.RoomFeatures.ToArray());
                }

                model.UserId = LogInManager.LoggedInUserId;

                var rooms = roomRepository.SearchAdvanceRoom(model);

                return(Json(new
                {
                    IsSuccess = true,
                    data = rooms
                }, JsonRequestBehavior.AllowGet));
            }
            catch (Exception e)
            {
                Utility.Utility.LogError(e, "SearchAdvanceRoom");
                return(Json(new { IsSuccess = false, errorMessage = e.Message }));
            }
        }
        public List <SearchAdvanceRoomResultVM> SearchAdvanceRoom(SearchAdvanceRoomParametersVM model)
        {
            SqlParameter[] parameters =
            {
                new SqlParameter {
                    ParameterName = "@RoomTypeId", Value = model.RoomTypeId
                },
                new SqlParameter {
                    ParameterName = "@ArrivalDate", Value = model.ArrivalDate
                },
                new SqlParameter {
                    ParameterName = "@NoOfNight", Value = model.NoOfNight
                },
                new SqlParameter {
                    ParameterName = "@DepartureDate", Value = model.DepartureDate
                },
                new SqlParameter {
                    ParameterName = "@RoomNo", Value = model.RoomNo
                },
                new SqlParameter {
                    ParameterName = "@Type", Value = model.Type
                },
                new SqlParameter {
                    ParameterName = "@RoomFeatures", Value = model.RoomFeaturesIds
                },
                new SqlParameter {
                    ParameterName = "@IsClean", Value = model.IsClean
                },
                new SqlParameter {
                    ParameterName = "@IsDirty", Value = model.IsDirty
                },
                new SqlParameter {
                    ParameterName = "@IsInspected", Value = model.IsInspected
                },
                new SqlParameter {
                    ParameterName = "@ReservationId", Value = model.ReservationId
                },
                new SqlParameter {
                    ParameterName = "@UserId", Value = model.UserId
                }
            };

            var dt = DALHelper.GetDataTableWithExtendedTimeOut("SearchAdvanceRoom", parameters);

            var results = new List <SearchAdvanceRoomResultVM>();

            results = DALHelper.CreateListFromTable <SearchAdvanceRoomResultVM>(dt);

            return(results);
        }
        public ActionResult ShowCheckInPaymentMethod(Guid reservationId, string source = "")
        {
            try
            {
                var reservation = reservationRepository.GetReservationById(reservationId, LogInManager.LoggedInUserId).FirstOrDefault();

                var paymentMethodList = paymentMethodRepository.GetPaymentMethods();

                #region Room Mapping

                //Get Room Mapping
                var selectedRooms = roomRepository.GetReservationRoomMapping(reservationId, null, LogInManager.LoggedInUserId);
                var roomIds       = string.Empty;
                var roomNumbers   = string.Empty;

                if (selectedRooms != null && selectedRooms.Count > 0)
                {
                    foreach (var room in selectedRooms)
                    {
                        roomIds     += string.Format("{0},", room.RoomId);
                        roomNumbers += string.Format("{0}, ", room.RoomNo);
                    }

                    if (!string.IsNullOrWhiteSpace(roomIds))
                    {
                        //Remove Last Comma.
                        roomIds = Utility.Utility.RemoveLastCharcter(roomIds, ',');
                    }

                    if (!string.IsNullOrWhiteSpace(roomNumbers))
                    {
                        //Remove Last Comma.
                        roomNumbers = Utility.Utility.RemoveLastCharcter(roomNumbers, ',');
                    }
                }
                else
                {
                    SearchAdvanceRoomParametersVM searchRoomModel = new SearchAdvanceRoomParametersVM();
                    searchRoomModel.RoomTypeId    = reservation.RoomTypeId;
                    searchRoomModel.ArrivalDate   = reservation.ArrivalDate;
                    searchRoomModel.NoOfNight     = reservation.NoOfNight;
                    searchRoomModel.DepartureDate = reservation.DepartureDate;
                    searchRoomModel.RoomNo        = string.Empty;
                    searchRoomModel.Type          = string.Empty;
                    searchRoomModel.IsClean       = true; //only take clean room.
                    searchRoomModel.UserId        = LogInManager.LoggedInUserId;

                    var availableRoomList = roomRepository.SearchAdvanceRoom(searchRoomModel);

                    if (availableRoomList != null && availableRoomList.Count > 0)
                    {
                        //Get default available rooms by top.
                        availableRoomList = availableRoomList.Take(reservation.NoOfRoom.HasValue ? reservation.NoOfRoom.Value : 1).ToList();

                        foreach (var room in availableRoomList)
                        {
                            roomIds     += string.Format("{0},", room.RoomId);
                            roomNumbers += string.Format("{0}, ", room.RoomNo);
                        }

                        if (!string.IsNullOrWhiteSpace(roomIds))
                        {
                            //Remove Last Comma.
                            roomIds = Utility.Utility.RemoveLastCharcter(roomIds, ',');
                        }

                        if (!string.IsNullOrWhiteSpace(roomNumbers))
                        {
                            //Remove Last Comma.
                            roomNumbers = Utility.Utility.RemoveLastCharcter(roomNumbers, ',');
                        }
                    }
                }

                #endregion

                CheckInPaymentMethodVM model = new CheckInPaymentMethodVM();

                model.ReservationId = reservation.Id;
                model.ProfileId     = reservation.ProfileId;

                model.CheckInDate = reservation.ArrivalDate;
                model.CheckInTime = reservation.ETA;
                if (reservation.ETA.HasValue)
                {
                    model.CheckInTimeText = string.Format("{0:hh\\:mm\\:ss}", reservation.ETA.Value);
                }

                model.NoOfRoom        = reservation.NoOfRoom.HasValue ? reservation.NoOfRoom.Value : 1;
                model.Name            = Convert.ToString(reservation.LastName + " " + reservation.FirstName).Trim();
                model.PaymentMethodId = reservation.PaymentMethodId;

                //Decrypt Credit Card#
                model.CreditCardNo = Utility.Utility.Decrypt(reservation.CreditCardNo, Utility.Utility.EncryptionKey);

                //Original Credit Card#
                ViewData["OriginalCreditCardNo"] = model.CreditCardNo;

                //Mask Credit Card#
                model.CreditCardNo = Utility.Utility.MaskCreditCardNo(model.CreditCardNo);

                model.CardExpiryDate = reservation.CardExpiryDate;
                model.RoomNumbers    = roomNumbers;
                model.RoomIds        = roomIds;
                model.RoomTypeId     = reservation.RoomTypeId;

                ViewData["Source"]        = source;
                ViewData["ArrivalDate"]   = reservation.ArrivalDate.HasValue ? reservation.ArrivalDate.Value.ToString("dd/MM/yyyy") : "";
                ViewData["DepartureDate"] = reservation.DepartureDate.HasValue ? reservation.DepartureDate.Value.ToString("dd/MM/yyyy") : "";

                ViewData["PaymentMethodList"] = paymentMethodList;

                return(PartialView("_PaymentMethod", model));
            }
            catch (Exception e)
            {
                Utility.Utility.LogError(e, "ShowCheckInPaymentMethod");
                return(Json(new { IsSuccess = false, errorMessage = e.Message }));
            }
        }