public JsonResult Publish(int clientProfileGroupId, string sabreStatus, string gdsCode) { //Get Item From Database ClientProfileGroup clientProfileGroup = new ClientProfileGroup(); clientProfileGroup = clientProfileGroupRepository.GetGroup(clientProfileGroupId); //Check Exists in Database if (clientProfileGroup == null) { ViewData["ActionMethod"] = "DeletePost"; return(Json("Record Does Not Exist Error")); } //Check Access RolesRepository rolesRepository = new RolesRepository(); if (!rolesRepository.HasWriteAccessToClientProfileGroup(clientProfileGroup.ClientProfileGroupId)) { ViewData["Message"] = "You do not have access to this item"; return(Json("Error")); } GDS gds = new GDS(); GDSRepository gdsRepository = new GDSRepository(); gds = gdsRepository.GetGDS(clientProfileGroup.GDSCode); string gdsName = gds.GDSName; switch (gdsCode) { case "1S": gdsName = sabreStatus; break; } string response = DoPublish(clientProfileGroup, gds, gdsName, clientProfileGroup.PseudoCityOrOfficeId, false); return(Json(response)); }
// // 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)); }
public ActionResult Delete(int id) { //Get BookingChannel BookingChannel bookingChannel = new BookingChannel(); bookingChannel = bookingChannelRepository.BookingChannel(id); //Check Exists if (bookingChannel == null) { ViewData["ActionMethod"] = "DeleteGet"; return(View("RecordDoesNotExistError")); } //Access Rights RolesRepository rolesRepository = new RolesRepository(); if (!rolesRepository.HasWriteAccessToClientSubUnit(bookingChannel.ClientSubUnitGuid) || !hierarchyRepository.AdminHasDomainWriteAccess(groupName)) { ViewData["Message"] = "You do not have access to this item"; return(View("Error")); } BookingChannelVM bookingChannelVM = new BookingChannelVM(); bookingChannelVM.BookingChannel = bookingChannel; //Get ClientSubUnit ClientSubUnit clientSubUnit = new ClientSubUnit(); clientSubUnit = clientSubUnitRepository.GetClientSubUnit(bookingChannel.ClientSubUnitGuid); bookingChannelVM.ClientSubUnit = clientSubUnit; //Get GDS GDSRepository gdsRepository = new GDSRepository(); GDS gds = gdsRepository.GetGDS(bookingChannel.GDSCode); bookingChannelVM.GDS = gds; //Channel Products if (bookingChannel.ProductChannelTypeId != null) { ProductChannelTypeRepository productChannelTypeRepository = new ProductChannelTypeRepository(); ProductChannelType productChannelType = productChannelTypeRepository.GetProductChannelType((int)bookingChannel.ProductChannelTypeId); if (productChannelType != null) { bookingChannelVM.BookingChannel.ProductChannelType = productChannelType; } } //Desktop Used Types if (bookingChannel.DesktopUsedTypeId != null) { DesktopUsedTypeRepository desktopUsedTypeRepository = new DesktopUsedTypeRepository(); DesktopUsedType desktopUsedType = desktopUsedTypeRepository.GetDesktopUsedType((int)bookingChannel.DesktopUsedTypeId); if (desktopUsedType != null) { bookingChannelVM.BookingChannel.DesktopUsedType = desktopUsedType; } } //Content Booked Items ContentBookedItemRepository contentBookedItemRepository = new ContentBookedItemRepository(); List <ContentBookedItem> contentBookedItems = contentBookedItemRepository.GetBookingChannelContentBookedItems(bookingChannel.BookingChannelId).ToList(); if (contentBookedItems != null) { bookingChannelVM.ContentBookedItemsList = String.Join(", ", contentBookedItems.Select(x => x.Product.ProductName.ToString()).ToArray()); } //Show Form return(View(bookingChannelVM)); }
// GET: /View public ActionResult View(int id) { //Get BookingChannel BookingChannel bookingChannel = new BookingChannel(); bookingChannel = bookingChannelRepository.BookingChannel(id); //Check Exists if (bookingChannel == null) { ViewData["ActionMethod"] = "DeleteGet"; return(View("RecordDoesNotExistError")); } BookingChannelVM bookingChannelVM = new BookingChannelVM(); bookingChannelVM.BookingChannel = bookingChannel; //Get ClientSubUnit ClientSubUnit clientSubUnit = new ClientSubUnit(); clientSubUnit = clientSubUnitRepository.GetClientSubUnit(bookingChannel.ClientSubUnitGuid); bookingChannelVM.ClientSubUnit = clientSubUnit; //Get GDS GDSRepository gdsRepository = new GDSRepository(); GDS gds = gdsRepository.GetGDS(bookingChannel.GDSCode); bookingChannelVM.GDS = gds; //Channel Products if (bookingChannel.ProductChannelTypeId != null) { ProductChannelTypeRepository productChannelTypeRepository = new ProductChannelTypeRepository(); ProductChannelType productChannelType = productChannelTypeRepository.GetProductChannelType((int)bookingChannel.ProductChannelTypeId); if (productChannelType != null) { bookingChannelVM.BookingChannel.ProductChannelType = productChannelType; } } //Desktop Used Types if (bookingChannel.DesktopUsedTypeId != null) { DesktopUsedTypeRepository desktopUsedTypeRepository = new DesktopUsedTypeRepository(); DesktopUsedType desktopUsedType = desktopUsedTypeRepository.GetDesktopUsedType((int)bookingChannel.DesktopUsedTypeId); if (desktopUsedType != null) { bookingChannelVM.BookingChannel.DesktopUsedType = desktopUsedType; } } //Content Booked Items ContentBookedItemRepository contentBookedItemRepository = new ContentBookedItemRepository(); List <ContentBookedItem> contentBookedItems = contentBookedItemRepository.GetBookingChannelContentBookedItems(bookingChannel.BookingChannelId).ToList(); if (contentBookedItems != null) { bookingChannelVM.ContentBookedItemsList = String.Join(", ", contentBookedItems.Select(x => x.Product.ProductName.ToString()).ToArray()); } //Show Form return(View(bookingChannelVM)); }
public JsonResult IsProfileReadytoPublish(string clientProfileGroupId) { if (clientProfileGroupId == null) { return(Json("No Id")); } int id = Int32.Parse(clientProfileGroupId); string retval = "true"; //Get Item From Database ClientProfileGroup clientProfileGroup = new ClientProfileGroup(); clientProfileGroup = clientProfileGroupRepository.GetGroup(id); //Get GDS GDS gds = new GDS(); GDSRepository gdsRepository = new GDSRepository(); gds = gdsRepository.GetGDS(clientProfileGroup.GDSCode); //Check Exists if (clientProfileGroup == null) { retval = "RecordDoesNotExistError"; } //Check Access RolesRepository rolesRepository = new RolesRepository(); if (!rolesRepository.HasWriteAccessToClientProfileGroup(id)) { retval = "You do not have access to this item"; } List <ClientProfileItemVM> clientProfileItemsList = GDSIntegration.GetProfileLineItems(id, true); bool doIncompleteFieldsExists = false; //Check if all mandatory fields are complete foreach (ClientProfileItemVM clientProfileItemVM in clientProfileItemsList) { ClientProfileItemRow clientProfileItemRow = clientProfileItemVM.ClientProfileItem; if (clientProfileItemRow.MandatoryFlag == true && ( clientProfileItemRow.ClientProfileMoveStatusId == null || string.IsNullOrEmpty(clientProfileItemRow.Remark) || string.IsNullOrEmpty(clientProfileItemRow.GDSCommandFormat))) { doIncompleteFieldsExists = true; } } if (doIncompleteFieldsExists) { return(Json("There are incomplete mandatory elements.<br/><br/>Please return to the Items page and correct the error.")); } //Check Line Counts int lineCount = clientProfileItemsList.Count(); int maxLineCount = 0; switch (gds.GDSName) { case "Apollo": maxLineCount = 200; break; case "Amadeus": maxLineCount = 100; break; case "Galileo": maxLineCount = 200; break; case "Sabre": maxLineCount = 200; break; } if (lineCount > maxLineCount) { retval = "The client profile exceeds the maximum number of lines.<br/><br/>Please return to the Items page and correct the error."; } return(Json(retval)); }
public JsonResult Verify(int clientProfileGroupId, string sabreStatus, string gdsCode) { //Get Item From Database ClientProfileGroup clientProfileGroup = new ClientProfileGroup(); clientProfileGroup = clientProfileGroupRepository.GetGroup(clientProfileGroupId); //Check Exists in Databsase if (clientProfileGroup == null) { ViewData["ActionMethod"] = "DeletePost"; return(Json("Record Does Not Exist Error")); } //Check Access RolesRepository rolesRepository = new RolesRepository(); if (!rolesRepository.HasWriteAccessToClientProfileGroup(clientProfileGroup.ClientProfileGroupId)) { ViewData["Message"] = "You do not have access to this item"; return(Json("Error")); } GDS gds = new GDS(); GDSRepository gdsRepository = new GDSRepository(); gds = gdsRepository.GetGDS(clientProfileGroup.GDSCode); string verifyPCC = string.Empty; string gdsName = gds.GDSName; switch (gdsCode) { case "1G": verifyPCC = ConfigurationManager.AppSettings["VerifyPCC_Galileo"].ToString(); break; case "1V": verifyPCC = ConfigurationManager.AppSettings["VerifyPCC_Apollo"].ToString(); break; case "1A": verifyPCC = ConfigurationManager.AppSettings["VerifyPCC_Amadeus"].ToString(); break; case "1S": verifyPCC = ConfigurationManager.AppSettings["VerifyPCC_Sabre"].ToString(); gdsName = sabreStatus; break; } if (string.IsNullOrEmpty(verifyPCC)) { //Need to add values into web config LogRepository logRepository = new LogRepository(); logRepository.LogError("Please ensure verify PCC is present for GDS"); ViewData["Message"] = "There was a problem with your request, please see the log file or contact an administrator for details"; return(Json("There was a problem with your request, please see the log file or contact an administrator for details")); } string response = DoPublish(clientProfileGroup, gds, gdsName, verifyPCC, true); return(Json(response)); }