public HttpResponseMessage PostWidget(SalesforceAddRequest model)
 {
     if (!ModelState.IsValid)
     {
         return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState));
     }
     try
     {
         SalesforceProxyService svc  = new SalesforceProxyService();
         ItemResponse <string>  resp = new ItemResponse <string>();
         //Ques the job in hangfire so the home page goes to loading page faster - needs hangfire switch TRUE in web.config
         BackgroundJob.Enqueue(() => svc.InsertWidget(model));
         return(Request.CreateResponse(HttpStatusCode.OK, new SuccessResponse()));
     }
     catch (Exception ex)
     {
         return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex));
     }
 }
Example #2
0
 public void InsertWidget(SalesforceAddRequest model)
 {
     _SalesforceService.InsertWidget(model);
 }
        public string InsertFB(SalesforceAddRequest model)
        {
            //LOGIN TO SALESFORCE
            //Prevent using TLS 1.0 which is outdated
            System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;
            string        userName           = _configService.getConfigValusAsString("SalesforceUserName");
            string        password           = _configService.getConfigValusAsString("SalesforcePassword");
            SforceService SfdcBinding        = null;
            LoginResult   CurrentLoginResult = null;

            SfdcBinding = new SforceService();
            try
            {
                CurrentLoginResult = SfdcBinding.login(userName, password);
            }
            catch (System.Web.Services.Protocols.SoapException e)
            {
                SfdcBinding = null;
                throw (e);
            }
            catch (Exception e)
            {
                SfdcBinding = null;
                throw (e);
            }
            SfdcBinding.Url = CurrentLoginResult.serverUrl;
            SfdcBinding.SessionHeaderValue           = new SessionHeader();
            SfdcBinding.SessionHeaderValue.sessionId = CurrentLoginResult.sessionId;

            //Check if email already exists
            QueryResult queryResult = null;
            String      SOQL        = "select Id from Lead where Email = '" + model.Email + "'";

            queryResult = SfdcBinding.query(SOQL);
            //If email exists, update with facebook url
            if (queryResult.size > 0)
            {
                //UPDATE -- to (spunkydrewster002's) salesforce Leads
                Lead   lead       = (Lead)queryResult.records[0];
                string Id         = lead.Id;
                Lead   updateLead = new Lead();
                updateLead.Id               = Id;
                updateLead.Email            = model.Email;
                updateLead.Facebook_Page__c = model.Website;
                SaveResult[] saveResults = SfdcBinding.update(new sObject[] { updateLead });
                string       result      = "";
                if (saveResults[0].success)
                {
                    result = "The update of Lead ID " + saveResults[0].id + " was succesful";
                    return(result);
                }
                else
                {
                    result = "There was an error updating the Lead. The error returned was " + saveResults[0].errors[0].message;
                    return(result);
                }
            }
            //If email doesn't exist, insert facebook url
            else
            {
                //POST - to (spunkydrewster002's) salesforce Leads
                Lead sfdcLead = new Lead();
                sfdcLead.Email               = model.Email;
                sfdcLead.Facebook_Page__c    = model.Website;
                sfdcLead.Campaign_Source__c  = model.AdSource;
                sfdcLead.Campaign_Medium__c  = model.AdMedium;
                sfdcLead.Campaign_Name__c    = model.AdName;
                sfdcLead.Campaign_Term__c    = model.AdTerm;
                sfdcLead.Campaign_Content__c = model.AdContent;
                sfdcLead.Campaign_ID__c      = model.AdId;

                //Fields required for lead but wont be submitted on homepage, so placeholders are used.
                string firstName   = "Social";
                string lastName    = "Media";
                string companyName = "Grader User";
                sfdcLead.FirstName = firstName;
                sfdcLead.LastName  = lastName;
                sfdcLead.Company   = companyName;
                SaveResult[] saveResults = SfdcBinding.create(new sObject[] { sfdcLead });
                if (saveResults[0].success)
                {
                    string resultId = "";
                    resultId = saveResults[0].id;
                    return(resultId);
                }
                else
                {
                    string result = "";
                    result = saveResults[0].errors[0].message;
                    return(result);
                }
            }
        }
Example #4
0
 public void InsertTWITT(SalesforceAddRequest model)
 {
     _SalesforceService.InsertTWITT(model);
 }
        public string InsertWidget(SalesforceAddRequest model)
        {
            //LOGIN TO SALESFORCE
            //Prevent using TLS 1.0 which is outdated
            System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;
            string        userName           = _configService.getConfigValusAsString("SalesforceUsername");
            string        password           = _configService.getConfigValusAsString("SalesforcePassword");
            SforceService SfdcBinding        = null;
            LoginResult   CurrentLoginResult = null;

            SfdcBinding = new SforceService();
            try
            {
                CurrentLoginResult = SfdcBinding.login(userName, password);
            }
            catch (System.Web.Services.Protocols.SoapException e)
            {
                SfdcBinding = null;
                throw (e);
            }
            catch (Exception e)
            {
                SfdcBinding = null;
                throw (e);
            }
            SfdcBinding.Url = CurrentLoginResult.serverUrl;
            SfdcBinding.SessionHeaderValue           = new SessionHeader();
            SfdcBinding.SessionHeaderValue.sessionId = CurrentLoginResult.sessionId;

            //POST - to (spunkydrewster002's) salesforce Leads
            Lead sfdcLead = new Lead();

            sfdcLead.Website             = model.Website;
            sfdcLead.Campaign_Source__c  = model.AdSource;
            sfdcLead.Campaign_Medium__c  = model.AdMedium;
            sfdcLead.Campaign_Name__c    = model.AdName;
            sfdcLead.Campaign_Term__c    = model.AdTerm;
            sfdcLead.Campaign_Content__c = model.AdContent;
            sfdcLead.Campaign_ID__c      = model.AdId;
            //Fields required for lead but wont be submitted on homepage, so placeholders are used.
            string firstName   = "Unknown";
            string lastName    = "User";
            string companyName = "WidgetUser";

            sfdcLead.FirstName = firstName;
            sfdcLead.LastName  = lastName;
            sfdcLead.Company   = companyName;
            SaveResult[] saveResults = SfdcBinding.create(new sObject[] { sfdcLead });
            if (saveResults[0].success)
            {
                string resultId = "";
                resultId = saveResults[0].id;
                return(resultId);
            }
            else
            {
                string result = "";
                result = saveResults[0].errors[0].message;
                return(result);
            }
        }