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);
        }
Ejemplo n.º 2
0
 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);
 }