private RawContact GetRawContact(FacebookLead lead) { RawContact contact = new RawContact(); return(contact); }
private FacebookLead GetData(FacebookLeadGen fbLead) { Logger.Current.Informational("Request received for fetching data from fb"); string pageAccessToken = fbLead.PageAccessToken; // GetExtendedPageAccessToken(fbLead.PageAccessToken); string leadGenID = fbLead.LeadGenID.ToString(); var fb = new FacebookClient(pageAccessToken); string exceptionMessage = string.Empty; fb.AppId = FacebookAppID; fb.AppSecret = FacebookAppSecret; FacebookLead lead = new FacebookLead(); try { var response = (JsonObject)fb.Get(leadGenID); if (response != null) { var id = response["id"]; var date = response["created_time"]; var fieldDate = (JsonArray)response["field_data"]; List <FacebookFieldData> fieldValues = new List <FacebookFieldData>(); if (fieldDate != null) { foreach (var pair in fieldDate) { FacebookFieldData fieldData = new FacebookFieldData(); var name = ((JsonObject)pair)["name"]; var values = ((JsonObject)pair)["values"]; if (values != null) { var valuesObj = (JsonArray)values; var val = valuesObj[0]; fieldData.Name = name.ToString(); fieldData.Values = new String[] { val.ToString() }; } fieldValues.Add(fieldData); } } lead.ID = id.ToString(); lead.CreatedTime = DateTime.Parse(date.ToString()); lead.FieldData = fieldValues; fbLead.IsProcessed = true; fbLead.Remarks = "Success"; fbLead.RawData = response.ToString(); leadAdaptersRepository.UpdateFacebookLeadGen(fbLead); } } catch (FacebookOAuthException ex) { Logger.Current.Error("An error occured while fetching lead data from Facebook", ex); exceptionMessage = ex.Message; leadAdaptersRepository.UpdateLeadAdapterStatus(leadAdapterAndAccountMap.Id, LeadAdapterErrorStatus.Error, LeadAdapterServiceStatus.TokenExpired); SendErrorEmail("Exception while processing data from " + leadAdapterAndAccountMap.LeadAdapterTypeID.ToString() + " LeadAdapter", "Exception details" + ex.Message); } catch (FacebookApiException ex) { Logger.Current.Error("An error occured while fetching lead data from Facebook", ex); exceptionMessage = ex.Message; leadAdaptersRepository.UpdateLeadAdapterStatus(leadAdapterAndAccountMap.Id, LeadAdapterErrorStatus.Running, LeadAdapterServiceStatus.InvalidRequest); } finally { fbLead.Remarks = exceptionMessage; fbLead.IsProcessed = true; leadAdaptersRepository.UpdateFacebookLeadGen(fbLead); } return(lead); }