Guest User

Untitled

a guest
Jan 21st, 2019
191
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.85 KB | None | 0 0
  1. private SubmitRegistrationResponse SendToSAP(EnrollUser enrollUser)
  2. {
  3. SubmitRegistrationResponse output = null;
  4.  
  5. try
  6. {
  7.  
  8. var company = enrollUser.SelectedCompany;
  9.  
  10. using (var sapService = new Customer_Contact_OutClient())
  11. {
  12. sapService.Endpoint.Address = new EndpointAddress(GetSetting(DataProviderSetting.SapEndpoint));
  13. if (sapService.ClientCredentials == null) throw new Exception("Could not communicate with SAP");
  14.  
  15. sapService.ClientCredentials.UserName.UserName = GetSetting(DataProviderSetting.SapUsername);
  16. sapService.ClientCredentials.UserName.Password = GetSetting(DataProviderSetting.SapPassword);
  17.  
  18. var sapContactRow = new Customer_ContactRow
  19. {
  20. KUNNR = company.Id,
  21. KUNNR2 = enrollUser.Id,
  22.  
  23. ADDRESS_ID = company.SelectedLocation.Id,
  24. ADDRESS1 = company.SelectedLocation.Line1,
  25. ADDRESS2 = company.SelectedLocation.Line2,
  26. CITY = company.SelectedLocation.City,
  27. REGION = company.SelectedLocation.State,
  28. ZIP = company.SelectedLocation.PostalCode,
  29. COUNTRY = company.SelectedLocation.Country,
  30.  
  31.  
  32.  
  33. FIRST_NAME = enrollUser.FirstName,
  34. MIDDLE_NAME = enrollUser.MiddleName,
  35. LAST_NAME = enrollUser.LastName,
  36. EMAIL = enrollUser.Email,
  37. USER_ID = enrollUser.UserName,
  38. MAIL_STOP = enrollUser.MailStop,
  39. TITLE = enrollUser.Title,
  40. SALUTATION = enrollUser.Salutation
  41. };
  42.  
  43. if (enrollUser.PhoneNumber != null)
  44. {
  45. var number = "";
  46. if (!String.IsNullOrEmpty(enrollUser.PhoneNumber.CountryCode)) number = "+" + enrollUser.PhoneNumber.CountryCode + " ";
  47. number += enrollUser.PhoneNumber.Number;
  48. //sapContactRow.PHONE_CNTRY_CODE = enrollUser.PhoneNumber.CountryCode;
  49. //sapContactRow.PHONE = enrollUser.PhoneNumber.Number;
  50. sapContactRow.PHONE = number;
  51. sapContactRow.PHONE_EXT = enrollUser.PhoneNumber.Extension;
  52. }
  53.  
  54. if (enrollUser.FaxNumber != null)
  55. {
  56. var number = "";
  57. if (!String.IsNullOrEmpty(enrollUser.FaxNumber.CountryCode)) number = "+" + enrollUser.FaxNumber.CountryCode + " ";
  58. number += enrollUser.FaxNumber.Number;
  59. //sapContactRow.FAX_CNTRY_CODE = enrollUser.FaxNumber.CountryCode;
  60. //sapContactRow.FAX = enrollUser.FaxNumber.Number;
  61. sapContactRow.FAX= number;
  62. sapContactRow.FAX_EXT = enrollUser.FaxNumber.Extension;
  63. }
  64.  
  65. sapContactRow.KNA1 = enrollUser.OptIn ? "01" : "02";
  66.  
  67. var sapContact = new Customer_Contact { Record = new Customer_ContactRow[1] };
  68. sapContact.Record[0] = sapContactRow;
  69.  
  70. LogManager.WriteDebug("SendToSAP", "Sending to SAP: " + Serialize(sapContact));
  71.  
  72. var response = sapService.Customer_Contact_Out(sapContact);
  73.  
  74. LogManager.WriteDebug("SendToSAP", "SAP Response: " + Serialize(response));
  75.  
  76. var sapContactId = response.Record.Contact_ID[0].SAP_Contact_ID;
  77. var sapAddressId = "";
  78. if (response.Record.ShipTo_ID != null && response.Record.ShipTo_ID.Any())
  79. {
  80. sapAddressId = response.Record.ShipTo_ID[0].SAP_ShipTo_ID;
  81. }
  82. var sapErrorMessage = response.Record.Contact_ID[0].Error_Desc;
  83. var sapStatus = response.Record.Contact_ID[0].Status;
  84.  
  85.  
  86. var userSuppliedContactdId = enrollUser.Id != null;
  87. if (!String.IsNullOrEmpty(sapContactId))
  88. {
  89. enrollUser.Id = sapContactId;
  90. if (String.IsNullOrEmpty(enrollUser.SelectedCompany.SelectedLocation.Id))
  91. {
  92. enrollUser.SelectedCompany.SelectedLocation.Id = sapAddressId;
  93. }
  94. output = new SubmitRegistrationResponse(enrollUser);
  95. if (!userSuppliedContactdId) output.SapGeneratedContactdId = true;
  96. }
  97. else
  98. {
  99. output = new SubmitRegistrationResponse(ErrorType.CouldNotCommunicateWithExternalServices);
  100. }
  101.  
  102. }
  103.  
  104. }
  105. catch (Exception ex)
  106. {
  107. LogManager.WriteError("SendToSAP", ex);
  108. output = new SubmitRegistrationResponse(ErrorType.CouldNotCommunicateWithExternalServices);
  109. }
  110.  
  111. return output;
  112. }
Add Comment
Please, Sign In to add comment