/// <summary>
        /// Return all contacts by filter.
        /// </summary>
        private async Task <IEnumerable <Contact> > GetAllWithFilterByStringAsync(LoadContactsFilter filter)
        {
            var searchString = filter.SearchString?.ToLower() ?? string.Empty;

            return(await m_DataContext.Table <Contact>()
                   .Where(c => c.Name.Contains(searchString) ||
                          c.Surname.Contains(searchString) ||
                          c.PhoneNumber.Contains(searchString) ||
                          c.Email.Contains(searchString))
                   .ToListAsync().ConfigureAwait(false));
        }
 /// <summary>
 /// Return all contacts.
 /// </summary>
 public async Task <IEnumerable <Contact> > GetAllAsync(LoadContactsFilter filter)
 {
     return(!string.IsNullOrWhiteSpace(filter.SearchString)
                    ? await GetAllWithFilterByStringAsync(filter)
                    : await GetAllWithoutFilterAsync());
 }