Exemple #1
0
        private void ColumnsNameDropDownList(EContactColumnsName selected)
        {
            IEnumerable <EContactColumnsName> values = Enum.GetValues(typeof(EContactColumnsName)).Cast <EContactColumnsName>();

            var items = from value in values
                        select new SelectListItem
            {
                Text     = value.ToString(),
                Value    = value.ToString(),
                Selected = value == selected
            };

            ViewBag.ColumnName = items;
        }
Exemple #2
0
        public ActionResult Index(string sortOrder, string currentKey, string key, EContactColumnsName columnName = EContactColumnsName.All)
        {
            ViewBag.CurrentSort     = sortOrder;
            ViewBag.NameParam       = string.IsNullOrEmpty(sortOrder) ? "name_desc" : null;
            ViewBag.StatusSortParam = sortOrder == "status" ? "status_desc" : "status";
            ViewBag.DateSortParam   = sortOrder == "date" ? "date_desc" : "date";

            if (key == null)
            {
                key = currentKey;
            }

            ViewBag.CurrentKey        = key;
            ViewBag.CurrentColumnName = columnName;

            ColumnsNameDropDownList(columnName);

            return(View(_unitOfWork._ContactRepo.GetListByFilterAndSort(sortOrder, key, columnName)));
        }
Exemple #3
0
        public IEnumerable <Contact> GetListByFilterAndSort(string sortOrder, string key, EContactColumnsName columnName)
        {
            var contacts = from c in this.Select()
                           select c;

            if (!string.IsNullOrEmpty(key))
            {
                key      = key.ToUpper();
                contacts = columnName == EContactColumnsName.Name ? contacts.Where(c => c.Name.ToUpper().Contains(key))
                    : columnName == EContactColumnsName.Email ? contacts.Where(c => c.Email.ToUpper().Contains(key))
                    : columnName == EContactColumnsName.Phone ? contacts.Where(c => c.Phone.ToUpper().Contains(key))
                    : contacts.Where(c => c.Name.ToUpper().Contains(key) ||
                                     c.Email.ToUpper().Contains(key) ||
                                     c.Phone.ToUpper().Contains(key));
            }

            contacts = sortOrder == "name_desc" ? contacts.OrderByDescending(c => c.Name)
                    : sortOrder == "status_desc" ? contacts.OrderByDescending(c => c.Status)
                    : sortOrder == "status" ? contacts.OrderBy(c => c.Status)
                    : sortOrder == "date" ? contacts.OrderBy(c => c.CreatedDate)
                    : contacts.OrderBy(c => c.Name);

            return(contacts.ToList());
        }