Exemple #1
0
        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);
        }
Exemple #2
0
 private bool ExecuteContact(ContactRoot value)
 {
     if (!string.IsNullOrEmpty(value.GetId()))
     {
         OnGetIdContact(value);
     }
     return(OnExecuteContact(value, value.MappingFields, s => { }));
 }
Exemple #3
0
        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);
        }
Exemple #4
0
        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));
        }
Exemple #5
0
        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);
        }
Exemple #6
0
 public bool ContactUpdate(ContactRoot value) => Execute(value, (c, v) => c.ContactUpdate((ContactRoot)v));
Exemple #7
0
 public bool ContactRegister(ContactRoot value) => Execute(value, (c, v) => c.ContactRegister((ContactRoot)v));
Exemple #8
0
 protected override bool OnGetIdContact(ContactRoot value) => ContactController.GetId(value);
Exemple #9
0
 protected override bool OnExecuteContact(ContactRoot value, List <MappingFields> list, Action <string> setId, int index = 0)
 {
     return(ContactController.Execute(value, list, index));
 }
Exemple #10
0
 protected abstract bool OnGetIdContact(ContactRoot value);
Exemple #11
0
 protected abstract bool OnExecuteContact(ContactRoot value, List <MappingFields> list, Action <string> setId, int index = 0);
Exemple #12
0
 public bool ContactUpdate(ContactRoot value) => ExecuteContact(value);
Exemple #13
0
 public bool ContactRegister(ContactRoot value) => ExecuteContact(value);
Exemple #14
0
 public bool GetId(ContactRoot value)
 {
     return(SendRequestSearch(value, GetEntityName(), FIELD_SELECT, FIELD_SEARCH, value.GetId(), GetResponseSearch));
 }