private void LoadData_(Guid parentGuid, string search, EnPhoneBookGroup group)
        {
            try
            {
                if (string.IsNullOrEmpty(search))
                {
                    search = "";
                }
                var res = list;
                if (parentGuid != Guid.Empty)
                {
                    res = list.Where(q => q.ParentGuid == parentGuid).ToList();
                }
                if (group != EnPhoneBookGroup.All)
                {
                    res = res.Where(q => q.Group == group).ToList();
                }

                var searchItems = search.SplitString();
                if (searchItems?.Count > 0)
                {
                    foreach (var item in searchItems)
                    {
                        if (!string.IsNullOrEmpty(item) && item.Trim() != "")
                        {
                            res = res.Where(x => x.Name.ToLower().Contains(item.ToLower()) ||
                                            (!string.IsNullOrEmpty(x.Tell) &&
                                             x.Tell.ToLower().Contains(item.ToLower())) ||
                                            x.GroupName.ToLower().Contains(item.ToLower()))
                                  ?.ToList();
                        }
                    }
                }

                res = res?.OrderBy(o => o.Name).ToList();

                phoneBookBindingSource.DataSource = res.ToSortableBindingList();
            }
            catch (Exception ex)
            {
                WebErrorLog.ErrorInstence.StartErrorLog(ex);
            }
        }
예제 #2
0
        public static async Task <List <PhoneBookBussines> > GetAllAsync(Guid parentGuid, string search, EnPhoneBookGroup group)
        {
            try
            {
                if (string.IsNullOrEmpty(search))
                {
                    search = "";
                }
                var res = new List <PhoneBookBussines>();
                if (parentGuid != Guid.Empty)
                {
                    res = await GetAllAsync(parentGuid, true);
                }
                else
                {
                    res = await GetAllAsync();
                }
                if (group != EnPhoneBookGroup.All)
                {
                    res = res.Where(q => q.Group == group).ToList();
                }

                var searchItems = search.SplitString();
                if (searchItems?.Count > 0)
                {
                    foreach (var item in searchItems)
                    {
                        if (!string.IsNullOrEmpty(item) && item.Trim() != "")
                        {
                            res = res.Where(x => x.Name.ToLower().Contains(item.ToLower()) ||
                                            (!string.IsNullOrEmpty(x.Tell) &&
                                             x.Tell.ToLower().Contains(item.ToLower())) ||
                                            x.GroupName.ToLower().Contains(item.ToLower()))
                                  ?.ToList();
                        }
                    }
                }

                res = res?.OrderBy(o => o.Name).ToList();
                return(res);
            }
            catch (OperationCanceledException)
            { return(null); }
            catch (Exception ex)
            {
                WebErrorLog.ErrorInstence.StartErrorLog(ex);
                return(new List <PhoneBookBussines>());
            }
        }