コード例 #1
0
        public ActionResult Edit(Guid id)
        {
            var roomType = roomTypeRepository.GetRoomTypeById(id);

            RoomTypeVM model = new RoomTypeVM();

            if (roomType != null && roomType.Count > 0)
            {
                model = roomType[0];

                return(View(model));
            }

            return(RedirectToAction("List"));
        }
コード例 #2
0
        public ActionResult ShowRoomList(Guid roomTypeId)
        {
            var roomType = roomTypeRepository.GetRoomTypeById(roomTypeId).FirstOrDefault();

            if (roomType != null)
            {
                var roomList     = roomRepository.GetRoomByRoomTypeId(roomType.Id);
                var floorList    = floorRepository.GetFloors();
                var roomTypeList = roomTypeRepository.GetRoomType(string.Empty);


                ViewBag.RoomList     = roomList;
                ViewBag.FloorList    = floorList;
                ViewBag.RoomTypeList = roomTypeList;

                return(PartialView("_RoomList"));
            }

            return(Json(new
            {
                IsSuccess = false,
                errorMessage = "Not found any rooms details."
            }, JsonRequestBehavior.AllowGet));
        }
コード例 #3
0
        public ActionResult EditBulkReservation(Guid id)
        {
            TempBulkReservationMasterVM model = new TempBulkReservationMasterVM();
            var reservation = reservationRepository.GetTempBulkReservationMasterById(id, LogInManager.LoggedInUserId);

            if (reservation != null)
            {
                model = reservation;

                if (model.ArrivalDate.HasValue)
                {
                    if (model.ArrivalDate.Value.DayOfWeek == DayOfWeek.Friday || model.ArrivalDate.Value.DayOfWeek == DayOfWeek.Saturday)
                    {
                        model.IsWeekEndPrice = true;
                    }
                }

                #region Room Type
                //Get Room Type Details.
                if (model.RoomTypeId.HasValue)
                {
                    var roomType = roomTypeRepository.GetRoomTypeById(model.RoomTypeId.Value).FirstOrDefault();

                    if (roomType != null)
                    {
                        model.RoomTypeCode = roomType.RoomTypeCode;
                    }
                }
                #endregion

                var roomTypeList = new SelectList(roomTypeRepository.GetRoomType(string.Empty), "Id", "RoomTypeCode").ToList();
                var rateTypeList = new SelectList(rateTypeRepository.GetRateType(string.Empty)
                                                  .Select(
                                                      m => new SelectListItem()
                {
                    Value = m.Id.ToString(),
                    Text  = m.RateTypeCode
                }
                                                      ), "Value", "Text").ToList();
                var reservationTypeList = new SelectList(reservationTypeRepository.GetReservationTypes(), "Id", "Name").ToList();

                var marketList = new SelectList(
                    marketRepository.GetMarkets()
                    .Select(
                        m => new SelectListItem()
                {
                    Value = m.Id.ToString(),
                    Text  = !string.IsNullOrWhiteSpace(m.Description) ? m.Description : m.Name
                }
                        ), "Value", "Text").ToList();


                var reservationSourceList = new SelectList(
                    reservationSourceRepository.GetReservationSources()
                    .Select(
                        m => new SelectListItem()
                {
                    Value = m.Id.ToString(),
                    Text  = !string.IsNullOrWhiteSpace(m.Description) ? m.Description : m.Name
                }
                        ), "Value", "Text").ToList();


                var paymentMethodList = paymentMethodRepository.GetPaymentMethods();

                var roomFeaturesList = roomFeatureRepository.GetRoomFeatures();


                var rtcList = new SelectList(rtcRepository.GetRTC(), "Id", "Code").ToList();

                var roomList = new List <SelectListItem>();
                if (model.RoomTypeId.HasValue)
                {
                    roomList = new SelectList(roomRepository.GetRoomDetailsForBulkReservation(model.RoomTypeId.Value, model.Id), "Id", "RoomNo").ToList();
                }


                ViewBag.RateTypeList        = rateTypeList;
                ViewBag.RoomTypeList        = roomTypeList;
                ViewBag.ReservationTypeList = reservationTypeList;

                ViewBag.MarketList            = marketList;
                ViewBag.ReservationSourceList = reservationSourceList;
                ViewBag.PaymentMethodList     = paymentMethodList;
                ViewBag.RoomFeaturesList      = roomFeaturesList;
                ViewBag.RtcList  = rtcList;
                ViewBag.RoomList = roomList;

                double?dblWeekEndPrice = model.Rate;
                if (model.RoomTypeId.HasValue && model.RateCodeId.HasValue)
                {
                    var weekEndPrice = rateRepository.GetWeekEndPrice(model.RoomTypeId.Value, model.RateCodeId.Value).FirstOrDefault();

                    if (weekEndPrice != null)
                    {
                        dblWeekEndPrice = weekEndPrice.Amount;
                    }
                }

                ViewBag.WeekEndPrice = dblWeekEndPrice;

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

                //Original Credit Card#
                ViewBag.OriginalCreditCardNo = model.CreditCardNo;

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

                return(View(model));
            }

            return(RedirectToAction("BulkReservation"));
        }
コード例 #4
0
        public ActionResult PreviewRegistrationCard(Guid?Id)
        {
            if (Id == null)
            {
                return(HttpNotFound());
            }

            GuestRegistrationCardVM model = new GuestRegistrationCardVM();

            var reservation = reservationRepository.GetReservationById(Id.Value, LogInManager.LoggedInUserId).FirstOrDefault();

            #region Room Mapping

            //Get Room Mapping
            var selectedRooms = roomRepository.GetReservationRoomMapping(Id, 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(roomNumbers))
                {
                    //Remove Last Comma.
                    roomNumbers = Utility.Utility.RemoveLastCharcter(roomNumbers, ',');
                }
            }
            #endregion


            #region Profile

            var profile = new IndividualProfileVM();

            if (reservation.ProfileId.HasValue)
            {
                profile = profileRepository.GetIndividualProfileById(reservation.ProfileId.Value, LogInManager.LoggedInUserId).FirstOrDefault();
            }

            #endregion

            #region Title

            var title = new TitleVM();
            if (profile.TitleId.HasValue)
            {
                title = titleRepository.GetTitlebyId(profile.TitleId.Value).FirstOrDefault();
            }

            #endregion

            #region Room Type

            var roomType = new RoomTypeVM();
            if (reservation.RoomTypeId.HasValue)
            {
                roomType = roomTypeRepository.GetRoomTypeById(reservation.RoomTypeId.Value).FirstOrDefault();
            }

            #endregion

            #region Preference Mapping

            //Get Preference Mapping
            var selectedPreferences = preferenceRepository.GetReservationPreferenceMapping(reservation.Id, null, LogInManager.LoggedInUserId);

            var preferences = "";
            if (selectedPreferences != null && selectedPreferences.Count > 0)
            {
                preferences = String.Join(", ", selectedPreferences.Select(m => m.PreferenceDescription));

                if (!string.IsNullOrWhiteSpace(preferences))
                {
                    preferences = Utility.Utility.RemoveLastCharcter(preferences.Trim(), ',');
                }
            }

            model.Preferences = preferences;

            #endregion

            #region Package Mapping

            //Get Package Mapping
            var selectedPackages = reservationRepository.GetReservationPackageMapping(reservation.Id, null, LogInManager.LoggedInUserId).ToList();

            if (selectedPackages != null)
            {
                model.Packages = selectedPackages;

                //model.PackageName = selectedPackage.PackageName;
                //model.PackagePrice = CurrencyManager.ParseAmountToUserCurrency(selectedPackage.PackagePrice, LogInManager.CurrencyCode);
                //model.PackageTotalAmount = CurrencyManager.ParseAmountToUserCurrency(selectedPackage.TotalAmount, LogInManager.CurrencyCode);
            }

            #endregion


            model.Id                = reservation.Id;
            model.ConfirmationNo    = reservation.ConfirmationNumber;
            model.ProfileId         = reservation.ProfileId;
            model.Title             = title.Title;
            model.Email             = profile.Email;
            model.PhoneNo           = profile.TelephoneNo;
            model.Name              = (profile.FirstName + ' ' + profile.LastName);
            model.CarRegistrationNo = profile.CarRegistrationNo;

            #region Fetch Address
            var address = "";
            if (!string.IsNullOrWhiteSpace(profile.Address))
            {
                //address = profile.Address;
                address = profile.Address.Replace(",", Delimeter.SPACE);
            }
            else if (!string.IsNullOrWhiteSpace(profile.HomeAddress))
            {
                //address = profile.HomeAddress;
                address = profile.HomeAddress.Replace(",", Delimeter.SPACE);
            }

            model.Address = address;

            if (!string.IsNullOrWhiteSpace(profile.CityName))
            {
                //model.Address += !string.IsNullOrWhiteSpace(model.Address) ? (Delimeter.SPACE + profile.CityName) : profile.CityName;
                model.City = profile.CityName;
            }

            if (!string.IsNullOrWhiteSpace(profile.StateName))
            {
                //model.Address += !string.IsNullOrWhiteSpace(model.Address) ? (Delimeter.SPACE + profile.StateName) : profile.StateName;
                model.State = profile.StateName;
            }

            if (profile.CountryId.HasValue)
            {
                var country = countryRepository.GetCountryById(profile.CountryId.Value).FirstOrDefault();

                if (country != null)
                {
                    model.Country = country.Name;
                }
            }

            //Split Address

            //if (!string.IsNullOrWhiteSpace(model.Address))
            //{
            //    //var splitAddress = ExtensionMethod.SplitString(model.Address, 40);

            //    var splitAddress  = model.Address.SplitStringChunks(60);

            //    if (splitAddress != null && splitAddress.Length > 0)
            //    {
            //        model.Address1 = splitAddress[0];

            //        if (splitAddress.Length > 1) { model.Address2 = splitAddress[1]; }
            //        if (splitAddress.Length > 2) { model.Address3 = splitAddress[2]; }
            //    }
            //}

            model.ZipCode = profile.ZipCode;
            #endregion

            model.RoomNumer     = roomNumbers;
            model.ArrivalDate   = reservation.ArrivalDate.HasValue ? reservation.ArrivalDate.Value.ToString("dd-MMM-yyyy") : "";
            model.DepartureDate = reservation.DepartureDate.HasValue ? reservation.DepartureDate.Value.ToString("dd-MMM-yyyy") : "";
            model.NoOfNights    = reservation.NoOfNight;
            model.NoOfAdult     = reservation.NoOfAdult;
            model.NoOfChildren  = reservation.NoOfChildren;

            if (roomType != null)
            {
                model.RoomType = roomType.RoomTypeCode;
            }
            model.Rate           = CurrencyManager.ParseAmountToUserCurrency(reservation.Rate, LogInManager.CurrencyCode);
            model.ConfirmationNo = reservation.ConfirmationNumber;

            #region Record Activity Log
            RecordActivityLog.RecordActivity(Pages.SEARCH_ARRIVALS, "Generated guest registration card report.");
            #endregion

            //HTML to PDF
            string html = Utility.Utility.RenderPartialViewToString((Controller)this, "PreviewRegistrationCard", model);

            byte[] pdfBytes = Utility.Utility.GetPDF(html);

            //return File(pdfBytes, "application/pdf", string.Format("RegistrationCard_{0}.pdf", model.Id));
            return(File(pdfBytes, "application/pdf"));

            //return View(model);
        }