Exemple #1
0
        public ActionResult AjaxHandler(JQueryDataTableParamModel param)
        {
            var all = db.Комплектующее.AsEnumerable();
            IEnumerable <Комплектующее> filtered;

            //Filter
            int vidId;
            var isNum = int.TryParse(Convert.ToString(Request["sSearch_2"]), out vidId);

            if (isNum)
            {
                filtered = db.Комплектующее.AsEnumerable()
                           .Where(c => c.КодВида == vidId);
            }
            else
            {
                filtered = all;
            }

            //Search
            if (!string.IsNullOrEmpty(param.sSearch))
            {
                filtered = filtered.Where(c => c.Марка.ToLower().Contains(param.sSearch.ToLower()) ||
                                          c.ВидКомплектующих.Наименование.ToLower().Contains(param.sSearch.ToLower()) ||
                                          c.Цена.ToString().ToLower().Contains(param.sSearch.ToLower()) ||
                                          c.СтранаПроизводитель.ToLower().Contains(param.sSearch.ToLower()) ||
                                          c.ФирмаПроизводитель.ToLower().Contains(param.sSearch.ToLower()) ||
                                          c.ДатаВыпуска.ToString().ToLower().Contains(param.sSearch.ToLower()) ||
                                          c.СрокГарантии.ToString().ToLower().Contains(param.sSearch.ToLower())
                                          );
            }

            //Sorting
            var sortColumnIndex = Convert.ToInt32(Request["iSortCol_0"]);
            var sortDirection   = Request["sSortDir_0"]; // asc or desc

            switch (sortColumnIndex)
            {
            case 0:
            {
                Func <Комплектующее, int> orderingFunction = (c => c.КодКомплектующего);
                filtered = SortHelper <Комплектующее, int> .Order(sortDirection, filtered, orderingFunction);
            } break;

            case 1:
            {
                Func <Комплектующее, string> orderingFunction = (c => c.Марка);
                filtered = SortHelper <Комплектующее, string> .Order(sortDirection, filtered, orderingFunction);
            } break;

            case 2:
            {
                Func <Комплектующее, double?> orderingFunction = (c => c.Цена);
                filtered = SortHelper <Комплектующее, double?> .Order(sortDirection, filtered, orderingFunction);
            } break;

            case 3:
            {
                Func <Комплектующее, string> orderingFunction = (c => c.ВидКомплектующих.Наименование);
                filtered = SortHelper <Комплектующее, string> .Order(sortDirection, filtered, orderingFunction);
            } break;

            case 4:
            {
                Func <Комплектующее, string> orderingFunction = (c => c.СтранаПроизводитель);
                filtered = SortHelper <Комплектующее, string> .Order(sortDirection, filtered, orderingFunction);
            } break;

            case 5:
            {
                Func <Комплектующее, string> orderingFunction = (c => c.ФирмаПроизводитель);
                filtered = SortHelper <Комплектующее, string> .Order(sortDirection, filtered, orderingFunction);
            } break;

            case 6:
            {
                Func <Комплектующее, DateTime?> orderingFunction = (c => c.ДатаВыпуска);
                filtered = SortHelper <Комплектующее, DateTime?> .Order(sortDirection, filtered, orderingFunction);
            } break;

            case 7:
            {
                Func <Комплектующее, int?> orderingFunction = (c => c.СрокГарантии);
                filtered = SortHelper <Комплектующее, int?> .Order(sortDirection, filtered, orderingFunction);
            } break;

            case 8:
            {
                Func <Комплектующее, string> orderingFunction = (c => c.Описание);
                filtered = SortHelper <Комплектующее, string> .Order(sortDirection, filtered, orderingFunction);
            } break;

            case 9:
            {
                Func <Комплектующее, string> orderingFunction = (c => c.Характеристики);
                filtered = SortHelper <Комплектующее, string> .Order(sortDirection, filtered, orderingFunction);
            } break;
            }

            //Pagination
            var displayed = filtered.Skip(param.iDisplayStart).Take(param.iDisplayLength);

            //Finish selection from DB ((DateTime) c.ДатаВыпуска).ToShortDateString()
            List <string[]> result = new List <string[]>();

            foreach (var c in displayed)
            {
                string data;
                if (c.ДатаВыпуска == null)
                {
                    data = c.ДатаВыпуска.ToString();
                }
                else
                {
                    data = ((DateTime)c.ДатаВыпуска).ToShortDateString();
                }
                result.Add(new string[] { Convert.ToString(c.КодКомплектующего), c.Марка, c.ВидКомплектующих.Наименование, c.Цена.ToString(),
                                          c.СтранаПроизводитель, c.ФирмаПроизводитель, data,
                                          c.СрокГарантии.ToString(), c.Описание, c.Характеристики });
            }
            //var result = from c in displayed
            //             select
            //                  new[]
            //        {
            //            Convert.ToString(c.КодКомплектующего), c.Марка, c.ВидКомплектующих.Наименование, c.Цена.ToString(),
            //            c.СтранаПроизводитель, c.ФирмаПроизводитель, c.ДатаВыпуска.ToString(),
            //            c.СрокГарантии.ToString(), c.Описание, c.Характеристики
            //        };

            return(Json(new
            {
                sEcho = param.sEcho,
                iTotalRecords = all.Count(),
                iTotalDisplayRecords = filtered.Count(),
                aaData = result
            },
                        JsonRequestBehavior.AllowGet));
        }
        public ActionResult AjaxHandler(JQueryDataTableParamModel param)
        {
            var all      = db.СписокКомплектующих.AsEnumerable();
            var filtered = all;

            //Filter
            int zakazId;
            var isNum1 = int.TryParse(Convert.ToString(Request["sSearch_1"]), out zakazId);

            if (isNum1)
            {
                filtered = filtered
                           .Where(c => c.КодЗаказа == zakazId);
            }

            int komplektId;
            var isNum2 = int.TryParse(Convert.ToString(Request["sSearch_2"]), out komplektId);

            if (isNum2)
            {
                filtered = filtered
                           .Where(c => c.КодКомплектующего == komplektId);
            }

            //Search
            if (!string.IsNullOrEmpty(param.sSearch))
            {
                filtered = filtered
                           .Where(c => c.КодЗаказа.ToString().ToLower().Contains(param.sSearch.ToLower()) ||
                                  c.Комплектующее.Марка.ToLower().Contains(param.sSearch.ToLower()));
            }

            //Sorting
            var sortColumnIndex = Convert.ToInt32(Request["iSortCol_0"]);
            var sortDirection   = Request["sSortDir_0"]; // asc or desc

            switch (sortColumnIndex)
            {
            case 0:
            {
                Func <СписокКомплектующих, int> orderingFunction = (c => c.КодСписка);
                filtered = SortHelper <СписокКомплектующих, int> .Order(sortDirection, filtered, orderingFunction);
            }
            break;

            case 1:
            {
                Func <СписокКомплектующих, int> orderingFunction = (c => c.КодЗаказа);
                filtered = SortHelper <СписокКомплектующих, int> .Order(sortDirection, filtered, orderingFunction);
            }
            break;

            case 2:
            {
                Func <СписокКомплектующих, string> orderingFunction = (c => c.Комплектующее.Марка);
                filtered = SortHelper <СписокКомплектующих, string> .Order(sortDirection, filtered, orderingFunction);
            }
            break;
            }

            //Pagination
            var displayed = filtered.Skip(param.iDisplayStart).Take(param.iDisplayLength);

            //Finish selection from DB
            var result = from c in displayed select new[] { Convert.ToString(c.КодСписка), c.КодЗаказа.ToString(), c.Комплектующее.Марка };

            return(Json(new
            {
                sEcho = param.sEcho,
                iTotalRecords = all.Count(),
                iTotalDisplayRecords = filtered.Count(),
                aaData = result
            },
                        JsonRequestBehavior.AllowGet));
        }
        public ActionResult AjaxHandler(JQueryDataTableParamModel param)
        {
            var all = db.Заказчик.AsEnumerable();
            IEnumerable <Заказчик> filtered;

            //Search
            if (!string.IsNullOrEmpty(param.sSearch))
            {
                filtered = db.Заказчик.AsEnumerable()
                           .Where(c => c.ФИО.ToLower().Contains(param.sSearch.ToLower()) ||
                                  c.Адрес.ToString().ToLower().Contains(param.sSearch.ToLower()) ||
                                  c.Телефон.ToString().ToLower().Contains(param.sSearch.ToLower()) ||
                                  c.Скидка.ToString().ToLower().Contains(param.sSearch.ToLower()));
            }
            else
            {
                filtered = all;
            }

            //Sorting
            var sortColumnIndex = Convert.ToInt32(Request["iSortCol_0"]);
            var sortDirection   = Request["sSortDir_0"]; // asc or desc

            switch (sortColumnIndex)
            {
            case 0:
            {
                Func <Заказчик, int> orderingFunction = (c => c.КодЗаказчика);
                filtered = SortHelper <Заказчик, int> .Order(sortDirection, filtered, orderingFunction);
            }
            break;

            case 1:
            {
                Func <Заказчик, string> orderingFunction = (c => c.ФИО);
                filtered = SortHelper <Заказчик, string> .Order(sortDirection, filtered, orderingFunction);
            }
            break;

            case 2:
            {
                Func <Заказчик, string> orderingFunction = (c => c.Адрес);
                filtered = SortHelper <Заказчик, string> .Order(sortDirection, filtered, orderingFunction);
            }
            break;

            case 3:
            {
                Func <Заказчик, int?> orderingFunction = (c => c.Телефон);
                filtered = SortHelper <Заказчик, int?> .Order(sortDirection, filtered, orderingFunction);
            }
            break;

            case 4:
            {
                Func <Заказчик, int?> orderingFunction = (c => c.Скидка);
                filtered = SortHelper <Заказчик, int?> .Order(sortDirection, filtered, orderingFunction);
            }
            break;
            }

            //Pagination
            var displayed = filtered.Skip(param.iDisplayStart).Take(param.iDisplayLength);

            //Finish selection from DB
            var result = from c in displayed select new[] { Convert.ToString(c.КодЗаказчика), c.ФИО, c.Адрес, c.Телефон.ToString(), c.Скидка.ToString() };

            return(Json(new
            {
                sEcho = param.sEcho,
                iTotalRecords = all.Count(),
                iTotalDisplayRecords = filtered.Count(),
                aaData = result
            },
                        JsonRequestBehavior.AllowGet));
        }
        public ActionResult AjaxHandler(JQueryDataTableParamModel param)
        {
            // var all = db.ВсеЗаказы.AsQueryable();
            var all      = db.ВсеЗаказы.AsEnumerable();
            var filtered = all;

            //Filter
            int val;
            var isNum9 = int.TryParse(Convert.ToString(Request["sSearch_9"]), out val);

            if (isNum9)
            {
                switch (val)
                {
                case 1:
                {
                    var fiter = db.Заказ.Where(c => c.Заказчик.Скидка > 0);
                    filtered = from f in filtered
                               join fv in fiter on f.КодЗаказа equals fv.КодЗаказа
                               select f;
                }
                break;

                case 2:
                {
                    filtered = filtered.Where(c => c.Предоплата > (c.Стоимость / 2));
                }
                break;

                case 3:
                {
                    filtered = filtered.Where(c => c.ДатаИсполнения < DateTime.Today);
                }
                break;
                }
            }


            int komplektId;
            var isNum8 = int.TryParse(Convert.ToString(Request["sSearch_8"]), out komplektId);

            if (isNum8)
            {
                filtered = from f in filtered
                           from sk in db.СписокКомплектующих.AsQueryable()
                           where f.КодЗаказа == sk.КодЗаказа
                           where sk.КодКомплектующего == komplektId
                           select f;
            }


            var sotrFilter = Convert.ToString(Request["sSearch_1"]);

            if (sotrFilter != "")
            {
                filtered = filtered
                           .Where(c => c.Сотрудник == sotrFilter);
            }
            var zaklFilter = Convert.ToString(Request["sSearch_2"]);

            if (zaklFilter != "")
            {
                filtered = filtered
                           .Where(c => c.Заказчик == zaklFilter);
            }


            //Search
            if (!string.IsNullOrEmpty(param.sSearch))
            {
                filtered = filtered
                           .Where(c => c.Сотрудник.ToLower().Contains(param.sSearch.ToLower()) ||
                                  c.Заказчик.ToLower().Contains(param.sSearch.ToLower()) ||
                                  c.Отметки.ToLower().Contains(param.sSearch.ToLower()) ||
                                  c.ДатаЗаказа.ToString().ToLower().Contains(param.sSearch.ToLower()) ||
                                  c.ДатаИсполнения.ToString().ToLower().Contains(param.sSearch.ToLower()) ||
                                  c.Предоплата.ToString().ToLower().Contains(param.sSearch.ToLower()) ||
                                  c.Стоимость.ToString().ToLower().Contains(param.sSearch.ToLower()) ||
                                  c.Гарантия.ToString().ToLower().Contains(param.sSearch.ToLower()));
            }

            //Sorting
            var sortColumnIndex = Convert.ToInt32(Request["iSortCol_0"]);
            var sortDirection   = Request["sSortDir_0"]; // asc or desc

            switch (sortColumnIndex)
            {
            case 0:
            {
                Func <ВсеЗаказы, int> orderingFunction = (c => c.КодЗаказа);
                filtered = SortHelper <ВсеЗаказы, int> .Order(sortDirection, filtered, orderingFunction);
            }
            break;

            case 1:
            {
                Func <ВсеЗаказы, string> orderingFunction = (c => c.Сотрудник);
                filtered = SortHelper <ВсеЗаказы, string> .Order(sortDirection, filtered, orderingFunction);
            }
            break;

            case 2:
            {
                Func <ВсеЗаказы, string> orderingFunction = (c => c.Заказчик);
                filtered = SortHelper <ВсеЗаказы, string> .Order(sortDirection, filtered, orderingFunction);
            }
            break;

            case 3:
            {
                Func <ВсеЗаказы, DateTime?> orderingFunction = (c => c.ДатаЗаказа);
                filtered = SortHelper <ВсеЗаказы, DateTime?> .Order(sortDirection, filtered, orderingFunction);
            }
            break;

            case 4:
            {
                Func <ВсеЗаказы, DateTime?> orderingFunction = (c => c.ДатаИсполнения);
                filtered = SortHelper <ВсеЗаказы, DateTime?> .Order(sortDirection, filtered, orderingFunction);
            }
            break;

            case 5:
            {
                Func <ВсеЗаказы, double?> orderingFunction = (c => c.Предоплата);
                filtered = SortHelper <ВсеЗаказы, double?> .Order(sortDirection, filtered, orderingFunction);
            }
            break;

            case 6:
            {
                Func <ВсеЗаказы, double?> orderingFunction = (c => c.Стоимость);
                filtered = SortHelper <ВсеЗаказы, double?> .Order(sortDirection, filtered, orderingFunction);
            }
            break;

            case 7:
            {
                Func <ВсеЗаказы, int?> orderingFunction = (c => c.Гарантия);
                filtered = SortHelper <ВсеЗаказы, int?> .Order(sortDirection, filtered, orderingFunction);
            }
            break;

            case 8:
            {
                Func <ВсеЗаказы, string> orderingFunction = (c => c.Отметки);
                filtered = SortHelper <ВсеЗаказы, string> .Order(sortDirection, filtered, orderingFunction);
            }
            break;
            }

            //Pagination
            var displayed = filtered.Skip(param.iDisplayStart).Take(param.iDisplayLength);

            //Finish selection from DB
            List <string[]> result = new List <string[]>();

            foreach (var c in displayed)
            {
                string data1;
                if (c.ДатаЗаказа == null)
                {
                    data1 = c.ДатаЗаказа.ToString();
                }
                else
                {
                    data1 = ((DateTime)c.ДатаЗаказа).ToShortDateString();
                }

                string data2;
                if (c.ДатаИсполнения == null)
                {
                    data2 = c.ДатаИсполнения.ToString();
                }
                else
                {
                    data2 = ((DateTime)c.ДатаИсполнения).ToShortDateString();
                }
                result.Add(new string[] { Convert.ToString(c.КодЗаказа), c.Сотрудник, c.Заказчик, data1, data2, c.Предоплата.ToString(), c.Стоимость.ToString(), c.Гарантия.ToString(), c.Отметки });
            }
            //var result = from c in displayed select new[] { Convert.ToString(c.КодЗаказа), c.Сотрудник, c.Заказчик, ((DateTime)c.ДатаЗаказа).ToShortDateString(), ((DateTime)c.ДатаИсполнения).ToShortDateString(), c.Предоплата.ToString(), c.Стоимость.ToString(), c.Гарантия.ToString(), c.Отметки };
            return(Json(new
            {
                sEcho = param.sEcho,
                iTotalRecords = all.Count(),
                iTotalDisplayRecords = filtered.Count(),
                aaData = result
            },
                        JsonRequestBehavior.AllowGet));
        }
        public ActionResult AjaxHandler(JQueryDataTableParamModel param)
        {
            var all      = db.ПослужнойСписок.AsEnumerable();
            var filtered = all;

            //Filter
            int sortId;
            var isNum1 = int.TryParse(Convert.ToString(Request["sSearch_1"]), out sortId);

            if (isNum1)
            {
                filtered = filtered
                           .Where(c => c.КодСотрудника == sortId);
            }

            int dolgnId;
            var isNum2 = int.TryParse(Convert.ToString(Request["sSearch_2"]), out dolgnId);

            if (isNum2)
            {
                filtered = filtered
                           .Where(c => c.КодДолжности == dolgnId);
            }

            //Search
            if (!string.IsNullOrEmpty(param.sSearch))
            {
                filtered = filtered.Where(c => c.Должность.Название.ToLower().Contains(param.sSearch.ToLower()) ||
                                          c.Сотрудник.ФИО.ToLower().Contains(param.sSearch.ToLower()) ||
                                          c.ДатаНазначения.ToString().ToLower().Contains(param.sSearch.ToLower()) ||
                                          c.ДатаОсвобождения.ToString().ToLower().Contains(param.sSearch.ToLower()));
            }

            //Sorting
            var sortColumnIndex = Convert.ToInt32(Request["iSortCol_0"]);
            var sortDirection   = Request["sSortDir_0"]; // asc or desc

            switch (sortColumnIndex)
            {
            case 0:
            {
                Func <ПослужнойСписок, int> orderingFunction = (c => c.КодСписка);
                filtered = SortHelper <ПослужнойСписок, int> .Order(sortDirection, filtered, orderingFunction);
            }
            break;

            case 1:
            {
                Func <ПослужнойСписок, string> orderingFunction = (c => c.Сотрудник.ФИО);
                filtered = SortHelper <ПослужнойСписок, string> .Order(sortDirection, filtered, orderingFunction);
            }
            break;

            case 2:
            {
                Func <ПослужнойСписок, string> orderingFunction = (c => c.Должность.Название);
                filtered = SortHelper <ПослужнойСписок, string> .Order(sortDirection, filtered, orderingFunction);
            }
            break;

            case 3:
            {
                Func <ПослужнойСписок, DateTime?> orderingFunction = (c => c.ДатаНазначения);
                filtered = SortHelper <ПослужнойСписок, DateTime?> .Order(sortDirection, filtered, orderingFunction);
            }
            break;

            case 4:
            {
                Func <ПослужнойСписок, DateTime?> orderingFunction = (c => c.ДатаОсвобождения);
                filtered = SortHelper <ПослужнойСписок, DateTime?> .Order(sortDirection, filtered, orderingFunction);
            }
            break;
            }

            //Pagination
            var displayed = filtered.Skip(param.iDisplayStart).Take(param.iDisplayLength);

            //Finish selection from DB
            List <string[]> result = new List <string[]>();

            foreach (var c in displayed)
            {
                string data1;
                if (c.ДатаНазначения == null)
                {
                    data1 = c.ДатаНазначения.ToString();
                }
                else
                {
                    data1 = ((DateTime)c.ДатаНазначения).ToShortDateString();
                }

                string data2;
                if (c.ДатаОсвобождения == null)
                {
                    data2 = c.ДатаОсвобождения.ToString();
                }
                else
                {
                    data2 = ((DateTime)c.ДатаОсвобождения).ToShortDateString();
                }
                result.Add(new string[] { Convert.ToString(c.КодСписка), c.Сотрудник.ФИО, c.Должность.Название, data1, data2 });
            }
            // var result = from c in displayed select new[] { Convert.ToString(c.КодСписка), c.Сотрудник.ФИО, c.Должность.Название, ((DateTime)c.ДатаНазначения).ToShortDateString(), ((DateTime)c.ДатаОсвобождения).ToShortDateString() };
            return(Json(new
            {
                sEcho = param.sEcho,
                iTotalRecords = all.Count(),
                iTotalDisplayRecords = filtered.Count(),
                aaData = result
            },
                        JsonRequestBehavior.AllowGet));
        }
        public ActionResult AjaxHandler(JQueryDataTableParamModel param)
        {
            var all = db.Услуга.AsEnumerable();
            IEnumerable <Услуга> filtered;

            //Check whether the companies should be filtered by keyword
            if (!string.IsNullOrEmpty(param.sSearch))
            {
                //Used if particulare columns are filtered
                var kodFilter  = Convert.ToString(Request["sSearch_0"]);
                var nameFilter = Convert.ToString(Request["sSearch_1"]);
                var descFilter = Convert.ToString(Request["sSearch_2"]);

                //Optionally check whether the columns are searchable at all
                var isKodSearchable   = Convert.ToBoolean(Request["bSearchable_0"]);
                var isNameSearchable  = Convert.ToBoolean(Request["bSearchable_1"]);
                var isDescrSearchable = Convert.ToBoolean(Request["bSearchable_2"]);

                filtered = db.Услуга.AsEnumerable()
                           .Where(c => //isKodSearchable && c.КодВида==Convert.ToInt32(param.sSearch)
                                       //||
                                  isNameSearchable && c.Наименование.ToLower().Contains(param.sSearch.ToLower())
                                  ||
                                  isDescrSearchable && c.Описание.ToLower().Contains(param.sSearch.ToLower()));
            }
            else
            {
                filtered = all;
            }

            var isKodSortable   = Convert.ToBoolean(Request["bSortable_0"]);
            var isNameSortable  = Convert.ToBoolean(Request["bSortable_1"]);
            var isDescrSortable = Convert.ToBoolean(Request["bSortable_2"]);
            var sortColumnIndex = Convert.ToInt32(Request["iSortCol_0"]);


            var sortDirection = Request["sSortDir_0"]; // asc or desc

            if (sortColumnIndex == 0 && isKodSortable)
            {
                Func <Услуга, int> orderingFunction = (c => c.КодУслуги);
                filtered = SortHelper <Услуга, int> .Order(sortDirection, filtered, orderingFunction);
            }
            if (sortColumnIndex == 1 && isNameSortable)
            {
                Func <Услуга, string> orderingFunction = (c => c.Наименование);
                filtered = SortHelper <Услуга, string> .Order(sortDirection, filtered, orderingFunction);
            }
            if (sortColumnIndex == 2 && isDescrSortable)
            {
                Func <Услуга, string> orderingFunction = (c => c.Описание);
                filtered = SortHelper <Услуга, string> .Order(sortDirection, filtered, orderingFunction);
            }


            var displayed = filtered.Skip(param.iDisplayStart).Take(param.iDisplayLength);
            var result    = from c in displayed select new[] { Convert.ToString(c.КодУслуги), c.Наименование, c.Описание, c.Стоимость.ToString() };

            return(Json(new
            {
                sEcho = param.sEcho,
                iTotalRecords = all.Count(),
                iTotalDisplayRecords = filtered.Count(),
                aaData = result
            },
                        JsonRequestBehavior.AllowGet));
        }
Exemple #7
0
        public ActionResult AjaxHandler(JQueryDataTableParamModel param)
        {
            var all      = db.Сотрудники.AsEnumerable();
            var filtered = all;

            int val;
            var isNum3 = int.TryParse(Convert.ToString(Request["sSearch_3"]), out val);

            if (isNum3)
            {
                if (val == 1)
                {
                    filtered = from s in filtered
                               join z in db.Заказ on s.КодСотрудника equals z.КодСотрудника
                               where (z.ДатаЗаказа > DateTime.Now && z.ДатаИсполнения == null)
                               select s;
                }
            }

            //Search
            if (!string.IsNullOrEmpty(param.sSearch))
            {
                filtered = filtered
                           .Where(c => c.ФИО.ToLower().Contains(param.sSearch.ToLower()) ||
                                  c.Стаж.ToString().ToLower().Contains(param.sSearch.ToLower()));
            }

            //Sorting
            var sortColumnIndex = Convert.ToInt32(Request["iSortCol_0"]);
            var sortDirection   = Request["sSortDir_0"]; // asc or desc

            switch (sortColumnIndex)
            {
            case 0:
            {
                Func <Сотрудники, int> orderingFunction = (c => c.КодСотрудника);
                filtered = SortHelper <Сотрудники, int> .Order(sortDirection, filtered, orderingFunction);
            }
            break;

            case 1:
            {
                Func <Сотрудники, string> orderingFunction = (c => c.ФИО);

                filtered = SortHelper <Сотрудники, string> .Order(sortDirection, filtered, orderingFunction);
            }
            break;

            case 2:
            {
                Func <Сотрудники, int?> orderingFunction =
                    (c => c.Стаж);

                filtered = SortHelper <Сотрудники, int?> .Order(sortDirection, filtered, orderingFunction);
            }
            break;
            }

            //Pagination
            var displayed = filtered.Skip(param.iDisplayStart).Take(param.iDisplayLength);

            //Finish selection from DB
            var result = from c in displayed select new[] { Convert.ToString(c.КодСотрудника), c.ФИО, c.Стаж.ToString() };

            return(Json(new
            {
                sEcho = param.sEcho,
                iTotalRecords = all.Count(),
                iTotalDisplayRecords = filtered.Count(),
                aaData = result
            },
                        JsonRequestBehavior.AllowGet));
        }