//Add Data From Linked Tables for Display public void EditGroupForDisplay(ClientProfileGroup clientProfileGroup) { //Set Hierarchy if ClientTopUnit ClientProfileGroupClientTopUnit clientProfileGroupClientTopUnit = clientProfileGroup.ClientProfileGroupClientTopUnits.SingleOrDefault(); if (clientProfileGroupClientTopUnit != null) { ClientTopUnitRepository clientTopUnitRepository = new ClientTopUnitRepository(); ClientTopUnit clientTopUnit = new ClientTopUnit(); clientTopUnit = clientTopUnitRepository.GetClientTopUnit(clientProfileGroupClientTopUnit.ClientTopUnitGuid); if (clientTopUnit != null) { clientProfileGroup.HierarchyItem = clientTopUnit.ClientTopUnitName; clientProfileGroup.HierarchyCode = clientTopUnit.ClientTopUnitGuid; clientProfileGroup.HierarchyType = "ClientTopUnit"; } } //Set Hierarchy if ClientSubUnit ClientProfileGroupClientSubUnit clientProfileGroupClientSubUnit = clientProfileGroup.ClientProfileGroupClientSubUnits.SingleOrDefault(); if (clientProfileGroupClientSubUnit != null) { ClientSubUnitRepository clientSubUnitRepository = new ClientSubUnitRepository(); ClientSubUnit clientSubUnit = new ClientSubUnit(); clientSubUnit = clientSubUnitRepository.GetClientSubUnit(clientProfileGroupClientSubUnit.ClientSubUnitGuid); if (clientSubUnit != null) { clientProfileGroup.HierarchyItem = clientSubUnit.ClientSubUnitName; clientProfileGroup.HierarchyCode = clientSubUnit.ClientSubUnitGuid; clientProfileGroup.HierarchyType = "ClientSubUnit"; } } }
// GET: /Publish public ActionResult Publish(int id) { ClientProfileGroup clientProfileGroup = new ClientProfileGroup(); clientProfileGroup = clientProfileGroupRepository.GetGroup(id); //Check Exists if (clientProfileGroup == null) { ViewData["ActionMethod"] = "ViewGet"; return(View("RecordDoesNotExistError")); } ClientProfileGroupVM clientProfileGroupVM = new ClientProfileGroupVM(); clientProfileGroupRepository.EditGroupForDisplay(clientProfileGroup); clientProfileGroupVM.ClientProfileGroup = clientProfileGroup; //Get ClientTopUnit if (clientProfileGroup.HierarchyType == "ClientSubUnit") { ClientProfileGroupClientSubUnit clientProfileGroupClientSubUnit = clientProfileGroup.ClientProfileGroupClientSubUnits.SingleOrDefault(); if (clientProfileGroupClientSubUnit != null) { ClientSubUnitRepository clientSubUnitRepository = new ClientSubUnitRepository(); ClientSubUnit clientSubUnit = new ClientSubUnit(); clientSubUnit = clientSubUnitRepository.GetClientSubUnit(clientProfileGroupClientSubUnit.ClientSubUnitGuid); if (clientSubUnit != null) { if (clientSubUnit.ClientTopUnit != null) { ViewData["ClientTopUnitName"] = clientSubUnit.ClientTopUnit.ClientTopUnitName; } } } } //GDS Window string clientProfileBuilderText = GDSIntegration.WriteGDSProfile(id); if (!string.IsNullOrEmpty(clientProfileBuilderText)) { ViewData["clientProfileText"] = clientProfileBuilderText; } return(View(clientProfileGroupVM)); }
// // GET: /ClientProfileItem/List public ActionResult List(int id, int?clientProfilePanelId) { ClientProfileItemsVM clientProfileItemsVM = new ClientProfileItemsVM(); //Set Access Rights if (hierarchyRepository.AdminHasDomainWriteAccess(groupName)) { clientProfileItemsVM.HasDomainWriteAccess = true; } //Get the ClientProfileGroup ClientProfileGroup clientProfileGroup = new ClientProfileGroup(); clientProfileGroup = clientProfileGroupRepository.GetGroup(id); clientProfileGroupRepository.EditGroupForDisplay(clientProfileGroup); clientProfileItemsVM.ClientProfileGroup = clientProfileGroup; clientProfileItemsVM.ClientProfileGroupId = clientProfileGroup.ClientProfileGroupId; clientProfileItemsVM.ClientProfileGroupClientProfileGroupName = clientProfileGroup.ClientProfileGroupName; GDS gds = new GDS(); GDSRepository gdsRepository = new GDSRepository(); gds = gdsRepository.GetGDS(clientProfileGroup.GDSCode); clientProfileItemsVM.ClientProfileGroupGDSName = gds.GDSName; clientProfileItemsVM.ClientProfileGroupHierarchyItem = clientProfileGroup.HierarchyItem; clientProfileItemsVM.ClientProfileGroupBackOfficeSystemDescription = clientProfileGroup.BackOfficeSystem.BackOfficeSystemDescription; clientProfileItemsVM.ClientProfilePanelId = clientProfilePanelId ?? 0; //Get ClientTopUnit if (clientProfileGroup.HierarchyType == "ClientSubUnit") { ClientProfileGroupClientSubUnit clientProfileGroupClientSubUnit = clientProfileGroup.ClientProfileGroupClientSubUnits.SingleOrDefault(); if (clientProfileGroupClientSubUnit != null) { ClientSubUnitRepository clientSubUnitRepository = new ClientSubUnitRepository(); ClientSubUnit clientSubUnit = new ClientSubUnit(); clientSubUnit = clientSubUnitRepository.GetClientSubUnit(clientProfileGroupClientSubUnit.ClientSubUnitGuid); if (clientSubUnit != null) { if (clientSubUnit.ClientTopUnit != null) { ViewData["ClientTopUnitName"] = clientSubUnit.ClientTopUnit.ClientTopUnitName; } } } } //Get a list of ClientProfileItems for each panel clientProfileItemsVM.ClientProfileItemsClientDetails = clientProfileItemRepository.GetClientProfilePanelClientProfileDataElements(id, 6); clientProfileItemsVM.ClientProfileItemsMidOffice = clientProfileItemRepository.GetClientProfilePanelClientProfileDataElements(id, 3); clientProfileItemsVM.ClientProfileItemsBackOffice = clientProfileItemRepository.GetClientProfilePanelClientProfileDataElements(id, 5); clientProfileItemsVM.ClientProfileItemsAirRailPolicy = clientProfileItemRepository.GetClientProfilePanelClientProfileDataElements(id, 7); clientProfileItemsVM.ClientProfileItemsItinerary = clientProfileItemRepository.GetClientProfilePanelClientProfileDataElements(id, 9); clientProfileItemsVM.ClientProfileItems24Hours = clientProfileItemRepository.GetClientProfilePanelClientProfileDataElements(id, 10); clientProfileItemsVM.ClientProfileItemsAmadeusTPM = clientProfileItemRepository.GetClientProfilePanelClientProfileDataElements(id, 11); /*GDS Integration*/ //https://docs.google.com/document/d/1TMOvJzZmePKjFTt0qFUC6_JGRz0x508uIiV3jGCa7b0/ //TLS Update System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12; ClientProfileService lService = null; StringBuilder clientProfileText = new StringBuilder(); //Format PCC String string formattedPcc = GDSIntegration.FormatPccString(clientProfileGroup.PseudoCityOrOfficeId); try { //This is a singleton, and should be used strictly to retrieve existing profiles from the GDS lService = ClientProfileService.getInstance; } catch (Exception ex) { LogRepository logRepository = new LogRepository(); logRepository.LogError(ex.Message); //Generic Error ViewData["Message"] = "There was a problem with your request, please see the log file or contact an administrator for details"; return(View("Error")); } if (lService != null) { try { //string pGds, string pPcc, string pZeroLevel, string pCompanyProfileName, stringpTravellerProfileName ClientProfileResponse clientProfileResponse = lService.GetProfile(gds.GDSName, formattedPcc, "", clientProfileGroup.ClientProfileGroupName, ""); if (clientProfileResponse != null) { if (clientProfileResponse.Result != CWTResponse.ResultStatus.Error) { if (clientProfileResponse.ClientProfile != null) { ClientProfile clientProfile = clientProfileResponse.ClientProfile; if (clientProfile != null) { if (clientProfile.ProfileLines.Count > 0) { //Loop through the profile and write out the lines foreach (ClientProfileLine line in clientProfile.ProfileLines) { // is new line clientProfileText.AppendFormat("{0} {1} ", line.LineNumber, line.LineText); } //Pass content into view if exists if (!string.IsNullOrEmpty(clientProfileText.ToString())) { ViewData["clientProfileText"] = clientProfileText.ToString(); } } } } } else { //Log Get Profile error messages and show error in GDS window if (clientProfileResponse.MessageList.Count > 0) { string errorMessage = string.Empty; foreach (string message in clientProfileResponse.MessageList) { errorMessage += string.Format("{0} ", message); } if (!string.IsNullOrEmpty(errorMessage)) { ViewData["clientProfileText"] = errorMessage; } } } } } catch (Exception ex) { LogRepository logRepository = new LogRepository(); logRepository.LogError(ex.Message); //Generic Error ViewData["Message"] = "There was a problem with your request, please see the log file or contact an administrator for details"; return(View("Error")); } } return(View(clientProfileItemsVM)); }