public string CreateHistoryRecordForRiftId(GMPossibleDuplicate selectedPossibleDuplicate, string riftId, User user) { string returnedRecId = string.Empty; string jsonResult = string.Empty; CreateHistoryRecordForRiftIdSO createHistoryRecordForRiftIdSO = new CreateHistoryRecordForRiftIdSO(); GoldmineImportServiceDO goldmineImportServiceDO = new GoldmineImportServiceDO(); string createHistoryRecordForRiftIdSOAsJson = string.Empty; // set createHistoryRecordForRiftIdSO properties createHistoryRecordForRiftIdSO = PropertyAddition.SetCreateHistoryRecordForRiftIdSO(createHistoryRecordForRiftIdSO, selectedPossibleDuplicate, riftId, user); // create URL and WebRequestObject string URL = string.Format("{0}CreateHistoryRecordForRiftId", goldmineImportServiceAddress); WebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(URL); httpWebRequest = ConnectorHelper.SetUpWebRequestObject(httpWebRequest); createHistoryRecordForRiftIdSOAsJson = SerializationHelper.SerializeCreateHistoryRecordForRiftIdSO(createHistoryRecordForRiftIdSO); using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream())) { // send request to service try { streamWriter.Write(createHistoryRecordForRiftIdSOAsJson); streamWriter.Flush(); streamWriter.Close(); } catch (Exception ex) { ClientLogger.WriteError(ex, "Error creating history record for contact.\nMethod: GoldmineImportServiceConnector.CreateHistoryRecordForRiftId", ClientGlobalData.CurrentUser.SystemName); throw ex; } // get response object HttpWebResponse httpResponse = (HttpWebResponse)httpWebRequest.GetResponse(); using (var streamReader = new StreamReader(httpResponse.GetResponseStream())) { jsonResult = streamReader.ReadToEnd(); jsonResult = ConnectorHelper.ChangeArrayParentheses(jsonResult); } // deserialize try { goldmineImportServiceDO = JsonConvert.DeserializeObject <GoldmineImportServiceDO>(jsonResult); returnedRecId = goldmineImportServiceDO.CreateHistoryRecordForRiftIdResult; } catch (Exception ex) { ClientLogger.WriteError(ex, "Error deserializing result for creating a history record for contact.\nMethod: GoldmineImportServiceConnector.CreateHistoryRecordForRiftId", ClientGlobalData.CurrentUser.SystemName); HandleDeserializationException(ex); } } return(returnedRecId); }
public static string SerializeCreateHistoryRecordForRiftIdSO(CreateHistoryRecordForRiftIdSO obj) { try { MemoryStream stream = new MemoryStream(); DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(CreateHistoryRecordForRiftIdSO)); ser.WriteObject(stream, obj); string serializedObject = Encoding.UTF8.GetString(stream.ToArray()); return(serializedObject); } catch (Exception ex) { throw ex; } }
public static CreateHistoryRecordForRiftIdSO SetCreateHistoryRecordForRiftIdSO(CreateHistoryRecordForRiftIdSO createHistoryRecordForRiftIdSO, GMPossibleDuplicate selectedPossibleDuplicate, string riftId, User user) { createHistoryRecordForRiftIdSO.possibleDuplicate = selectedPossibleDuplicate; createHistoryRecordForRiftIdSO.riftId = riftId; createHistoryRecordForRiftIdSO.user = user; return(createHistoryRecordForRiftIdSO); }