コード例 #1
0
 private Models.Salesforce.Lead ConvertLead(string loanId, Loan origRequest)
 {
     Models.Salesforce.Lead lead = new Models.Salesforce.Lead();
     lead.FirstName   = origRequest.Party.Name.FirstName;
     lead.LastName    = origRequest.Party.Name.LastName;
     lead.Description = loanId;
     return(lead);
 }
コード例 #2
0
        /// <summary>
        /// Submits Lead Record
        /// </summary>
        /// <returns></returns>
        public async Task <string> PostLeadAsync(Models.Salesforce.Lead lead)
        {
            try
            {
                var requestPayload = JsonSerializer.Serialize(lead);

                if (String.IsNullOrEmpty(Bearer))       //TODO check for Bearer expiry and refresh if needed
                {
                    await Authorize();
                }

                string resultId = String.Empty;

                var req = new HttpRequestMessage(HttpMethod.Post, SfdcConfig.BasePath + SfdcConfig.URILead);
                req.Headers.Authorization = new AuthenticationHeaderValue("Bearer", Bearer);
                req.Content = new StringContent(requestPayload, Encoding.UTF8, "application/json");
                HttpResponseMessage response = await _httpClient.SendAsync(req);

                if (response.StatusCode != System.Net.HttpStatusCode.OK && response.StatusCode != System.Net.HttpStatusCode.Created)
                {
                    Logger.LogError("Salesforce request: {0}-{1}", response.StatusCode, response.ReasonPhrase);
                    var error = await response.Content.ReadFromJsonAsync <Models.Salesforce.Error[]>();

                    foreach (Models.Salesforce.Error err in error)
                    {
                        Logger.LogError("Salesforce error {0}: {1}", err.ErrorCode, err.Message);
                    }
                    throw new SystemException("Error in saving lead to Salesforce has occurred.");
                }
                else
                {
                    var leadresponse = await response.Content.ReadFromJsonAsync <Models.Salesforce.Response>();

                    Logger.LogInformation("Lead created in Salesforce: {0}", leadresponse.Id);
                    resultId = leadresponse.Id;
                }

                Logger.LogInformation("Salesforce created Lead: {0}", resultId);
                return(resultId);
            }
            catch (SystemException e)
            {
                throw;
            }
            catch (Exception e)
            {
                Logger.LogError(e, "Unexpected error occurred in posting lead to Salesforce");
                throw;
            }
        }