コード例 #1
0
        public MarketoResponse CreateUpdateLead(IMarketoLead lead) //MarketoResponse
        {
            string result = GetToken();

            try
            {
                var client = new RestClient();
                client.BaseUrl = new Uri(_apiSettings.BaseUrl);
                string accessToken = GetToken();
                var    request     = new RestRequest($"rest/v1/leads.json?access_token={accessToken}", Method.POST);
                request.AddHeader("Content-Type", "application/json");
                request.AddHeader("cache-control", "no-cache");


                request.RequestFormat = DataFormat.Json;
                request.AddBody(lead);
                //Alternate way of sending request object
                //request.AddParameter("",JsonConvert.SerializeObject(gbuser),ParameterType.RequestBody);
                IRestResponse <MarketoResponse> response = client.Execute <MarketoResponse>(request);
                return(JsonConvert.DeserializeObject <MarketoResponse>(response.Content));
            }
            catch (Exception ex)
            {
                return(new MarketoResponse {
                });
            }
        }
        public static void GetLastInterestingMomentStep(IMarketoLead marketolead, out Sage.Entity.Interfaces.IMarketoLeadActivity result)
        {
            // TODO: Complete business rule implementation
            if (marketolead == null)
            {
                result = null;
                return;
            }

            DateTime minDate = DateTime.MinValue;

            Sage.Entity.Interfaces.IMarketoLeadActivity lastActivity = null;

            foreach (var moment in marketolead.Activities)
            {
                if (moment.ActivityTypeId == 46 && moment.ActivityDate > minDate)
                {
                    lastActivity = moment;
                }
            }

            result = lastActivity;
        }