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);
        }
Example #2
0
 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);
 }