Exemple #1
0
        // GET: Profile/Create
        public ActionResult CreateIndividualProfile()
        {
            var countryList = new SelectList(countryRepository.GetCountries(), "Id", "Name").ToList();
            //var titleList = new SelectList(titleRepository.GetTitle(), "Id", "Title").ToList();
            var titleList = new SelectList(titleRepository.GetTitle()
                                           .Select(
                                               m => new SelectListItem()
            {
                Value = m.Id.ToString(),
                Text  = (m.Title)
            }
                                               ), "Value", "Text").ToList();
            var vipList         = new SelectList(vipRepository.GetVip(), "Id", "Description").ToList();
            var nationalityList = new SelectList(nationalityRepository.GetNationality(), "Id", "Name").ToList();

            var profileTypeId = profileTypeRepository.GetProfileType(ProfileTypeName.INDIVIDUAL).FirstOrDefault().Id;

            var preferenceGroupList = new SelectList(preferenceGroupRepository.GetPreferenceGroup(), "Id", "Name").ToList();

            IndividualProfileVM model = new IndividualProfileVM();

            model.ProfileTypeId = profileTypeId;
            model.IsActive      = true;

            ViewBag.TitleList           = titleList;
            ViewBag.VipList             = vipList;
            ViewBag.CountryList         = countryList;
            ViewBag.NationalityList     = nationalityList;
            ViewBag.PreferenceGroupList = preferenceGroupList;
            return(View(model));
        }
        public string AddIndividualProfile(IndividualProfileVM profile)
        {
            string profileId = string.Empty;

            SqlParameter[] parameters =
            {
                new SqlParameter {
                    ParameterName = "@ProfileTypeId", Value = profile.ProfileTypeId
                },
                new SqlParameter {
                    ParameterName = "@FirstName", Value = profile.FirstName
                },
                new SqlParameter {
                    ParameterName = "@LastName", Value = profile.LastName
                },
                new SqlParameter {
                    ParameterName = "@TitleId", Value = profile.TitleId
                },
                new SqlParameter {
                    ParameterName = "@TelephoneNo", Value = profile.TelephoneNo
                },
                new SqlParameter {
                    ParameterName = "@BusinessTelephoneNo", Value = profile.BusinessTelephoneNo
                },
                new SqlParameter {
                    ParameterName = "@Email", Value = profile.Email
                },
                new SqlParameter {
                    ParameterName = "@Address", Value = profile.Address
                },
                new SqlParameter {
                    ParameterName = "@HomeAddress", Value = profile.HomeAddress
                },
                new SqlParameter {
                    ParameterName = "@CountryId", Value = profile.CountryId
                },
                new SqlParameter {
                    ParameterName = "@StateId", Value = profile.StateId
                },
                new SqlParameter {
                    ParameterName = "@StateName", Value = profile.StateName
                },
                new SqlParameter {
                    ParameterName = "@CityId", Value = profile.CityId
                },
                new SqlParameter {
                    ParameterName = "@CityName", Value = profile.CityName
                },
                new SqlParameter {
                    ParameterName = "@ZipCode", Value = profile.ZipCode
                },
                new SqlParameter {
                    ParameterName = "@VipId", Value = profile.VipId
                },
                new SqlParameter {
                    ParameterName = "@NationalityId", Value = profile.NationalityId
                },
                new SqlParameter {
                    ParameterName = "@CarRegistrationNo", Value = profile.CarRegistrationNo
                },
                new SqlParameter {
                    ParameterName = "@PassportNo", Value = profile.PassportNo
                },
                new SqlParameter {
                    ParameterName = "@DOB", Value = profile.DOB
                },
                //new SqlParameter { ParameterName = "@Remarks", Value = profile.Remarks },
                new SqlParameter {
                    ParameterName = "@Remarks", Value = string.Empty
                },
                new SqlParameter {
                    ParameterName = "@IsMailingList", Value = profile.IsMailingList
                },
                new SqlParameter {
                    ParameterName = "@IsActive", Value = profile.IsActive
                },
                new SqlParameter {
                    ParameterName = "@CreatedBy", Value = profile.CreatedBy
                }
            };

            profileId = Convert.ToString(DALHelper.ExecuteScalar("AddIndividualProfile", parameters));

            return(profileId);
        }
Exemple #3
0
        public ActionResult CreateIndividualProfile(IndividualProfileVM model)
        {
            try
            {
                string profileId = string.Empty;

                model.CarRegistrationNo = Utility.Utility.ToUpperCase(model.CarRegistrationNo);
                model.CreatedBy         = LogInManager.LoggedInUserId;


                profileId = profileRepository.AddIndividualProfile(model);

                if (!string.IsNullOrWhiteSpace(profileId))
                {
                    model.Id = Guid.Parse(profileId);

                    #region Save Profile Preference Mapping
                    var preferenceItems = model.PreferenceItems;

                    if (!string.IsNullOrWhiteSpace(preferenceItems))
                    {
                        var preferenceItemsArr = preferenceItems.Split(',');

                        if (preferenceItemsArr != null)
                        {
                            //Remove Duplication.
                            preferenceItemsArr = preferenceItemsArr.Distinct().ToArray();

                            foreach (var item in preferenceItemsArr)
                            {
                                //Save Profile Preference Mapping.
                                ProfilePreferenceMappingVM profilePreferenceMapping = new ProfilePreferenceMappingVM();
                                profilePreferenceMapping.ProfileTypeId = model.ProfileTypeId;
                                profilePreferenceMapping.PreferenceId  = Guid.Parse(item);
                                profilePreferenceMapping.ProfileId     = Guid.Parse(profileId);
                                profilePreferenceMapping.CreatedBy     = LogInManager.LoggedInUserId;

                                preferenceRepository.AddProfilePreferenceMapping(profilePreferenceMapping);
                            }
                        }
                    }
                    #endregion

                    #region Profile Remarks

                    if (model.RemarksList != null && model.RemarksList.Count > 0)
                    {
                        foreach (var remark in model.RemarksList)
                        {
                            remark.ProfileId = model.Id;
                            remark.CreatedBy = LogInManager.LoggedInUserId;
                            if (!remark.CreatedOn.HasValue)
                            {
                                remark.CreatedOn = DateTime.Now;
                            }

                            profileRepository.AddProfileRemark(remark);
                        }
                    }

                    #endregion

                    #region Record Activity Log
                    RecordActivityLog.RecordActivity(Pages.INDIVIDUAL_PROFILE, string.Format("Created new profile of {0} {1}.", model.LastName, model.FirstName));
                    #endregion

                    #region  Check Source Parameters
                    if (Request.Form["Source"] != null && !string.IsNullOrWhiteSpace(Convert.ToString(Request.Form["Source"])))
                    {
                        string source = string.Empty;
                        string url    = string.Empty;
                        string qid    = string.Empty;

                        source = Convert.ToString(Request.Form["Source"]);

                        if (source == "RateQuery")
                        {
                            TempData["ProfileId"]   = profileId;
                            TempData["FirstName"]   = model.FirstName;
                            TempData["LastName"]    = model.LastName;
                            TempData["CountryId"]   = model.CountryId;
                            TempData["TelephoneNo"] = model.TelephoneNo;
                            //TempData["Remarks"] = model.Remarks;

                            url = Url.Action("RateQuery", "Reservation");
                        }
                        else if (source == "CreateReservation")
                        {
                            TempData["TitleId"]     = model.TitleId;
                            TempData["ProfileId"]   = profileId;
                            TempData["FirstName"]   = model.FirstName;
                            TempData["LastName"]    = model.LastName;
                            TempData["CountryId"]   = model.CountryId;
                            TempData["TelephoneNo"] = model.TelephoneNo;
                            //TempData["Remarks"] = model.Remarks;

                            url = Url.Action("Create", "Reservation");
                        }
                        else if (source == "EditReservation")
                        {
                            qid = Convert.ToString(Request.Form["Qid"]);

                            TempData["TitleId"]     = model.TitleId;
                            TempData["ProfileId"]   = profileId;
                            TempData["FirstName"]   = model.FirstName;
                            TempData["LastName"]    = model.LastName;
                            TempData["CountryId"]   = model.CountryId;
                            TempData["TelephoneNo"] = model.TelephoneNo;
                            //TempData["Remarks"] = model.Remarks;

                            url = Url.Action("Edit", "Reservation", new { Id = qid });
                        }
                        else if (source == "SearchArrivals")
                        {
                            TempData["TitleId"]     = model.TitleId;
                            TempData["ProfileId"]   = profileId;
                            TempData["FirstName"]   = model.FirstName;
                            TempData["LastName"]    = model.LastName;
                            TempData["CountryId"]   = model.CountryId;
                            TempData["TelephoneNo"] = model.TelephoneNo;
                            //TempData["Remarks"] = model.Remarks;

                            url = Url.Action("Arrivals", "FrontDesk");
                        }

                        if (!string.IsNullOrWhiteSpace(url))
                        {
                            return(Json(new
                            {
                                IsSuccess = true,
                                IsExternalUrl = true,
                                data = url
                            }, JsonRequestBehavior.AllowGet));
                        }
                    }
                    #endregion

                    return(Json(new
                    {
                        IsSuccess = true,
                        data = new
                        {
                            ProfileId = model.Id
                        }
                    }, JsonRequestBehavior.AllowGet));
                }
                else
                {
                    return(Json(new
                    {
                        IsSuccess = false,
                        errorMessage = "Individual profile not saved successfully."
                    }, JsonRequestBehavior.AllowGet));
                }
            }
            catch (Exception e)
            {
                Utility.Utility.LogError(e, "CreateIndividualProfile");
                return(Json(new { IsSuccess = false, errorMessage = e.Message }));
            }
        }
Exemple #4
0
        public ActionResult EditIndividualProfile(Guid id)
        {
            IndividualProfileVM model = new IndividualProfileVM();
            var profile = profileRepository.GetIndividualProfileById(id, LogInManager.LoggedInUserId);

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

                model.Remarks = string.Empty;

                model.CarRegistrationNo = Utility.Utility.ToUpperCase(model.CarRegistrationNo);

                #region Preference Mapping
                //Get Preference Mapping
                var selectedPreferences = preferenceRepository.GetProfilePreferenceMapping(model.ProfileTypeId, model.Id, null, LogInManager.LoggedInUserId);

                ViewBag.SelectedPreferences = selectedPreferences;
                #endregion

                var countryList = new SelectList(countryRepository.GetCountries(), "Id", "Name").ToList();
                //var titleList = new SelectList(titleRepository.GetTitle(), "Id", "Title").ToList();
                var titleList = new SelectList(titleRepository.GetTitle()
                                               .Select(
                                                   m => new SelectListItem()
                {
                    Value = m.Id.ToString(),
                    Text  = (m.Title)
                }
                                                   ), "Value", "Text").ToList();
                var vipList             = new SelectList(vipRepository.GetVip(), "Id", "Description").ToList();
                var nationalityList     = new SelectList(nationalityRepository.GetNationality(), "Id", "Name").ToList();
                var preferenceGroupList = new SelectList(preferenceGroupRepository.GetPreferenceGroup(), "Id", "Name").ToList();

                ViewBag.TitleList           = titleList;
                ViewBag.VipList             = vipList;
                ViewBag.CountryList         = countryList;
                ViewBag.NationalityList     = nationalityList;
                ViewBag.PreferenceGroupList = preferenceGroupList;

                ////Get State
                //var stateList = new SelectList(new List<StateVM>(), "Id", "Name").ToList();

                ////Get City
                //var cityList = new SelectList(new List<CityVM>(), "Id", "Name").ToList();

                //if (model.CountryId.HasValue)
                //{
                //    stateList = new SelectList(stateRepository.GetStates(model.CountryId), "Id", "Name").ToList();

                //    cityList = new SelectList(cityRepository.GetCities(model.CountryId,model.StateId), "Id", "Name").ToList();
                //}

                //ViewBag.StateList = stateList;
                //ViewBag.CityList = cityList;

                return(View(model));
            }

            return(RedirectToAction("IndividualProfileList"));
        }
        public ActionResult PrintMultipleRegistrationCard()
        {
            if (Session["ReservationIds"] == null || string.IsNullOrWhiteSpace(Convert.ToString(Session["ReservationIds"])))
            {
                return(HttpNotFound());
            }

            var reservationIds = (List <Guid>)Session["ReservationIds"];

            StringBuilder html = new StringBuilder();

            if (reservationIds != null && reservationIds.Count > 0)
            {
                foreach (var reservationId in reservationIds)
                {
                    var reservation = reservationRepository.GetReservationById(reservationId, LogInManager.LoggedInUserId).FirstOrDefault();

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

                        #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(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;

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

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

            //Clear session.
            //Session["ReservationIds"] = null;

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

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