コード例 #1
0
        public async Task GivenMaxContactDetailsAlreadyExist(Guid targetId)
        {
            Contacts.Clear();
            Contacts.AddRange(CreateContactsForType(ContactType.email, targetId, MAX_EMAIL_CONTACTS));
            Contacts.AddRange(CreateContactsForType(ContactType.phone, targetId, MAX_PHONE_CONTACTS));

            foreach (var contact in Contacts)
            {
                await _dbContext.SaveAsync(contact).ConfigureAwait(false);
            }
        }
コード例 #2
0
 private void SearchContact(string keywordSearch)
 {
     Contacts.Clear();
     if (string.IsNullOrWhiteSpace(keywordSearch))
     {
         Contacts.AddRange(_contactsNoFilter);
     }
     else
     {
         var filteredContacts = _contactsNoFilter.Where(x => x.FullName.ToUpper().Contains(keywordSearch.Trim().ToUpper()));
         Contacts.AddRange(filteredContacts);
     }
 }
コード例 #3
0
 private async Task ExecuteRefreshCommandAsync()
 {
     try
     {
         IsBusy = true;
         Contacts.Clear();
         Contacts.AddRange(await _userService.GetUsersAsync(100));
     }
     catch (Exception ex)
     {
         Debug.WriteLine(ex);
     }
     finally
     {
         IsBusy = false;
     }
 }
コード例 #4
0
        /// <summary>
        /// </summary>
        /// <typeparam name="TModel"></typeparam>
        /// <param name="model"></param>
        /// <returns></returns>
        public ClientDto FromModel <TModel>(TModel model)
        {
            if (model is IClient client)
            {
                Address    = client.Address as Address;
                AuditType  = client.AuditType;
                ClientType = client.ClientType;
                Contacts.AddRange(client.Contacts.Select(c => c as Contact));
                Id               = client.Id.ToString();
                Name             = client.Name;
                ProcessType      = client.ProcessType;
                ParentId         = client.ParentId.ToString();
                CreatedById      = client.CreatedById.ToString();
                CreatedOn        = client.CreatedOn;
                LastModifiedById = client.LastModifiedById.ToString();
                LastModifiedOn   = client.LastModifiedOn;
            }

            return(this);
        }
コード例 #5
0
        internal UserInfo ContactsFromString(string contacts)
        {
            if (string.IsNullOrEmpty(contacts))
            {
                return(this);
            }

            if (Contacts == null)
            {
                Contacts = new List <string>();
            }
            else
            {
                Contacts.Clear();
            }

            Contacts.AddRange(contacts.Split(new[] { '|' }, StringSplitOptions.RemoveEmptyEntries));

            return(this);
        }
コード例 #6
0
        public Contacts GetContactsByName(string contactName)
        {
            Contacts myContacts = new Contacts();

            SelectRequest request = new SelectRequest
            {
                SelectExpression = string.Format("SELECT * FROM {0} where Name='{1}' ", DomainName, contactName)
            };
            SelectResponse response = SimpleDBProxy.Service.Select(request);

            var contacts = from item in response.SelectResult.Item
                           select new Contact()
                           {
                               Email = item.Attribute.GetValueByName("Email"),
                               Name = item.Attribute.GetValueByName("Name"),
                               Phone = item.Attribute.GetValueByName("Phone"),
                               ID = item.Name
                           };
            myContacts.AddRange(contacts);
            return myContacts;
        }
コード例 #7
0
        public async Task GivenContactDetailsAlreadyExist(int active, int inactive)
        {
            if (!Contacts.Any())
            {
                TargetId = Guid.NewGuid();

                if (active > 0)
                {
                    Contacts.AddRange(CreateContacts(active, true));
                }

                if (inactive > 0)
                {
                    Contacts.AddRange(CreateContacts(inactive, false));
                }

                foreach (var note in Contacts)
                {
                    await _dbContext.SaveAsync(note).ConfigureAwait(false);
                }
            }
        }
コード例 #8
0
        public Contacts GetContactsByName(string contactName)
        {
            Contacts myContacts = new Contacts();

            SelectRequest request = new SelectRequest
            {
                SelectExpression = string.Format("SELECT * FROM {0} where Name='{1}' ", DomainName, contactName)
            };
            SelectResponse response = SimpleDBProxy.Service.Select(request);

            var contacts = from item in response.SelectResult.Item
                           select new Contact()
            {
                Email = item.Attribute.GetValueByName("Email"),
                Name  = item.Attribute.GetValueByName("Name"),
                Phone = item.Attribute.GetValueByName("Phone"),
                ID    = item.Name
            };

            myContacts.AddRange(contacts);
            return(myContacts);
        }
コード例 #9
0
 public void Initialize()
 {
     Contacts.AddRange(GetSeedingContacts());
     SaveChanges();
 }
コード例 #10
0
        //.getMembers
        public Contacts vimeo_groups_getMembers(string group_id, ChannelsSortMethods sortMethod=ChannelsSortMethods.Default, int? page=null, int? per_page=null)
        {
            var parameters = new Dictionary<string, string> { { "group_id", group_id } };
            if (page.HasValue) parameters.Add("page", page.Value.ToString());
            if (per_page.HasValue) parameters.Add("per_page", per_page.Value.ToString());
            var x = ExecuteGetRequest("vimeo.groups.getMembers", parameters);
            if (!IsResponseOK(x)) return null;

            var e = x.Element("rsp").Element("members");
            var cs = new Contacts
            {
                on_this_page = int.Parse(e.Attribute("on_this_page").Value),
                page = int.Parse(e.Attribute("page").Value),
                perpage = int.Parse(e.Attribute("perpage").Value),
                total = int.Parse(e.Attribute("total").Value)
            };
            cs.AddRange(e.Elements("member").Select(Contact.FromElement));

            return cs;
        }
コード例 #11
0
        private void UpdateContactsListDisplay(String orderBy = "firstname", String filter = "all")
        {
            if ((currentOrderBy == orderBy) && (currentFilter == filter))
            {
                return;
            }

            Boolean orderByChanged = false;
            Boolean filterChanged  = false;

            if (currentOrderBy != orderBy)
            {
                currentOrderBy = orderBy;
                orderByChanged = true;
            }

            if (currentFilter != filter)
            {
                currentFilter  = filter;
                filterChanged  = true;
                orderByChanged = true;
            }

            if (originalContactsList?.Count < 1)
            {
                return;
            }

            Contacts.Clear();

            Popup.ShowDefaultActivityIndicator();
            IsBusy = true;

            UpdateMenuDisplay();

            Task task = new Task(() =>
            {
                // Wait a little to let UI update with Activity indicator
                Thread.Sleep(200);

                // Create original contactsList if necessary
                //if ( (originalContactsList == null) || (originalContactsList.Count == 0) )
                {
                    // Get contacts from cache
                    List <Rainbow.Model.Contact> rbContacts = Helper.SdkWrapper.GetAllContactsFromCache();

                    String currentContactId = Helper.SdkWrapper.GetCurrentContactId();

                    originalContactsList = new List <ContactModel>();
                    foreach (Rainbow.Model.Contact contact in rbContacts)
                    {
                        if (!((contact.IsTerminated) || (contact.Id == currentContactId)))
                        {
                            ContactModel contactModel     = new ContactModel(contact);
                            contactModel.SelectionCommand = SelectionContactCommand;
                            originalContactsList.Add(contactModel);
                        }
                    }
                }


                // First we filter the list
                if (filterChanged)
                {
                    switch (filter)
                    {
                    case "online":
                        contactsList = originalContactsList.FindAll(contact => (contact.Presence == "online") || (contact.Presence == "away"));
                        break;

                    case "offline":
                        contactsList = originalContactsList.FindAll(contact => (contact.Presence == "offline") || (contact.Presence == null));
                        break;

                    case "all":
                    default:
                        contactsList = originalContactsList.ToList();
                        break;
                    }
                }

                // We sort the contacts list
                if (orderByChanged)
                {
                    switch (orderBy)
                    {
                    case "company":
                        contactsList = contactsList.OrderBy(x => x.CompanyForSort).ToList();
                        break;

                    case "lastname":
                        contactsList = contactsList.OrderBy(x => x.LastNameForSort).ToList();
                        break;

                    case "firstname":
                    default:
                        contactsList = contactsList.OrderBy(x => x.FirstNameForSort).ToList();
                        break;
                    }
                }

                // Now we group the result
                IEnumerable <IGrouping <String, ContactModel> > groupedContacts;

                switch (orderBy)
                {
                case "company":
                    groupedContacts = contactsList.GroupBy(x => (String)(string.IsNullOrEmpty(x.CompanyForSort) ? "" : x.CompanyForSort.ToUpper()));
                    break;

                case "lastname":
                    groupedContacts = contactsList.GroupBy(x => (String)(string.IsNullOrEmpty(x.LastNameForSort) ? "" : x.LastNameForSort[0].ToString()));
                    break;

                case "firstname":
                default:
                    groupedContacts = contactsList.GroupBy(x => (String)(string.IsNullOrEmpty(x.FirstNameForSort) ? "" : x.FirstNameForSort[0].ToString()));
                    break;
                }

                MainThread.BeginInvokeOnMainThread(() =>
                {
                    foreach (var item in groupedContacts)
                    {
                        // Add "Contact Group" View Cell
                        Contacts.Add(new ContactModel(item.Key));

                        // Add list of contacts
                        Contacts.AddRange(item.ToList(), System.Collections.Specialized.NotifyCollectionChangedAction.Add);
                    }

                    Popup.HideDefaultActivityIndicator();
                    IsBusy = false;
                });
            });


            task.Start();
        }
コード例 #12
0
 public void Handle(ContactsLoaded message)
 {
     Contacts.AddRange(message.Contacts.Select(contact => new ContactViewModel(contact)));
 }