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 })); } }