public string ImportContact(GMPossibleDuplicate possibleDuplicate, User user) { string returnedRecId = string.Empty; string jsonResult = string.Empty; ImportContactSO importContactSO = new ImportContactSO(); GoldmineImportServiceDO goldmineImportServiceDO = new GoldmineImportServiceDO(); string importContactSOAsJson = string.Empty; // set importContactSO properties importContactSO = PropertyAddition.SetImportContactSOProperties(importContactSO, possibleDuplicate, user); // create URL and WebRequestObject string URL = string.Format("{0}ImportContact", goldmineImportServiceAddress); WebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(URL); httpWebRequest = ConnectorHelper.SetUpWebRequestObject(httpWebRequest); importContactSOAsJson = SerializationHelper.SerializeImportContactSO(importContactSO); using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream())) { // send request to service try { streamWriter.Write(importContactSOAsJson); streamWriter.Flush(); streamWriter.Close(); } catch (Exception ex) { ClientLogger.WriteError(ex, "Error importing contact.\nMethod: GoldmineImportServiceConnector.ImportContact", 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.ImportContactResult; } catch (Exception ex) { ClientLogger.WriteError(ex, "Error deserializing result from importing contact.\nMethod: GoldmineImportServiceConnector.ImportContact", ClientGlobalData.CurrentUser.SystemName); HandleDeserializationException(ex); } } return(returnedRecId); }
public static string SerializeImportContactSO(ImportContactSO obj) { try { MemoryStream stream = new MemoryStream(); DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(ImportContactSO)); ser.WriteObject(stream, obj); string serializedObject = Encoding.UTF8.GetString(stream.ToArray()); return(serializedObject); } catch (Exception ex) { throw ex; } }
public static ImportContactSO SetImportContactSOProperties(ImportContactSO importContactSO, GMPossibleDuplicate possibleDuplicate, User user) { importContactSO.possibleDuplicate = possibleDuplicate; importContactSO.user = user; return(importContactSO); }