private bool GetResponseSearch(string response, object value) { ContactRoot contact = (ContactRoot)value; try { var responseObject = JsonConvert.DeserializeObject(response, typeof(RootObject)); if (!((RootObject)responseObject).response.result.Contacts.row.FL.content.Equals(string.Empty)) { contact.Contact.Id = ((RootObject)responseObject).response.result.Contacts.row.FL.content; return(true); } } catch { try { var responseObject = JsonConvert.DeserializeObject(response, typeof(Models.Json.Test.RootObject)); if (!((Models.Json.Test.RootObject)responseObject).response.result.Contacts.row[0].FL.content.Equals(string.Empty)) { contact.Contact.Id = ((Models.Json.Test.RootObject)responseObject).response.result.Contacts.row[0].FL.content; return(true); } } catch { return(false); } } return(false); }
private bool ExecuteContact(ContactRoot value) { if (!string.IsNullOrEmpty(value.GetId())) { OnGetIdContact(value); } return(OnExecuteContact(value, value.MappingFields, s => { })); }
public override bool Delete(string email, Authentication value) { ContactRoot contact = new ContactRoot { Authentication = value, Contact = new Contact() }; if (SendRequestSearch(contact, GetEntityName(), FIELD_SELECT, FIELD_SEARCH, email, GetResponseSearch)) { return(base.Delete(contact.GetId(), value)); } return(false); }
public bool Execute(ContactRoot value, List <MappingFields> mapping, int index = 0) { Func <MappingFields, string, bool> filter = (e, f) => FilterEntity(e.Entity) && e.Id == index && e.Field.Equals(f); if (!mapping.Exists(e => filter(e, "First Name"))) { MappingFields field = mapping.Where(w => filter(w, "Last Name")).First(); mapping.Add(new MappingFields { Entity = ENTITY, Field = "First Name", Id = index, Value = field.Value.Split(' ').First() }); mapping.Where(w => filter(w, "Last Name")).First().Value = field.Value.Split(' ').Last(); } return(SendRequestSave(value, mapping.Where(w => FilterEntity(w.Entity) && w.Id == index).ToList(), GetResponse)); }
public bool Execute(ScheduleRoot schedule, Contact contact, List <MappingFields> mapping, int index = 0) { Predicate <MappingFields> filterEmail = m => m.Field.Equals(FIELD_EMAIL) && m.Id == index; var email = mapping.Where(w => filterEmail(w)).First().Value; if (schedule.MappingFields.Exists(e => ZohoPotential.Filter(e.Entity) && e.Field.Equals(ACCOUNT_ID))) { string accountId = schedule.MappingFields.Where(w => ZohoPotential.Filter(w.Entity) && w.Field.Equals(ACCOUNT_ID)).First().Value; mapping.Add(new MappingFields { Entity = ENTITY, Field = ACCOUNT_ID, Id = index, Value = accountId }); } ContactRoot contactRoot = new ContactRoot { Authentication = schedule.Authentication, Contact = contact, MappingFields = schedule.MappingFields }; SendRequestSearch(contactRoot, GetEntityName(), FIELD_SELECT, FIELD_SEARCH, email, GetResponseSearch); if (Execute(contactRoot, mapping, index)) { Predicate <string> filter = s => ZohoEvent.Filter(s) || ZohoPotential.Filter(s) || ZohoAccount.Filter(s); if (!schedule.MappingFields.Exists(e => filter(e.Entity) && e.Field.Equals("CONTACTID"))) { contactRoot.MappingFields.Where(e => filter(e.Entity) && e.Field.Equals("CONTACTID")).ToList().ForEach(f => schedule.MappingFields.Add(f)); } if (!schedule.MappingFields.Exists(e => ZohoEvent.Filter(e.Entity) && e.Field.Equals("Participants"))) { contactRoot.MappingFields.Where(e => ZohoEvent.Filter(e.Entity) && e.Field.Equals("Participants")).ToList().ForEach(f => schedule.MappingFields.Add(f)); } return(true); } return(false); }
public bool ContactUpdate(ContactRoot value) => Execute(value, (c, v) => c.ContactUpdate((ContactRoot)v));
public bool ContactRegister(ContactRoot value) => Execute(value, (c, v) => c.ContactRegister((ContactRoot)v));
protected override bool OnGetIdContact(ContactRoot value) => ContactController.GetId(value);
protected override bool OnExecuteContact(ContactRoot value, List <MappingFields> list, Action <string> setId, int index = 0) { return(ContactController.Execute(value, list, index)); }
protected abstract bool OnGetIdContact(ContactRoot value);
protected abstract bool OnExecuteContact(ContactRoot value, List <MappingFields> list, Action <string> setId, int index = 0);
public bool ContactUpdate(ContactRoot value) => ExecuteContact(value);
public bool ContactRegister(ContactRoot value) => ExecuteContact(value);
public bool GetId(ContactRoot value) { return(SendRequestSearch(value, GetEntityName(), FIELD_SELECT, FIELD_SEARCH, value.GetId(), GetResponseSearch)); }