예제 #1
0
        public ActionResult Index(FEAFiltrationModel model)
        {
            // Фильтруем
            var availableProjects         = CurrentUser.IsAdmin() ? DataContext.Projects.Select(p => p.Id) : CurrentUser.ProjectUsers.Select(pu => pu.ProjectId);
            IEnumerable <FEAOrder> orders = CurrentUser.IsAdmin()
                ? DataContext.FEAOrders
                : DataContext.FEAOrders.Where(fo => availableProjects.Contains(fo.ProjectId));

            if (model.ProjectIds.Length > 0)
            {
                orders = orders.Where(fo => model.ProjectIds.Contains(fo.ProjectId));
            }
            if (model.Statuses.Length > 0)
            {
                orders = orders.Where(fo => model.Statuses.Contains(fo.Status));
            }
            if (model.UserIds.Length > 0)
            {
                orders = orders.Where(fo => model.UserIds.Contains(fo.ManagerId));
            }
            if (!String.IsNullOrEmpty(model.Term))
            {
                var term = model.Term.ToLower();
                orders =
                    orders.Where(
                        o =>
                        (o.Description != null && o.Description.ToLower().Contains(term)) ||
                        o.FEAOrderItems.Any(oi => oi.ProductType.Title.ToLower().Contains(term)));
            }

            model.Fetched = orders.AsEnumerable().OrderByDescending(o => o.LastUpdate).ToList();

            PushNavigationItem("ВЭД", "/fea");
            PushNavigationItem("Список ВЭД заявок", "#");

            // Отдаем вид
            return(View(model));
        }
예제 #2
0
        public ActionResult Index(FEAFiltrationModel model)
        {
            // Фильтруем
            var availableProjects = CurrentUser.IsAdmin() ? DataContext.Projects.Select(p => p.Id) : CurrentUser.ProjectUsers.Select(pu => pu.ProjectId);
            IEnumerable<FEAOrder> orders = CurrentUser.IsAdmin()
                ? DataContext.FEAOrders
                : DataContext.FEAOrders.Where(fo => availableProjects.Contains(fo.ProjectId));
            if (model.ProjectIds.Length > 0)
            {
                orders = orders.Where(fo => model.ProjectIds.Contains(fo.ProjectId));
            }
            if (model.Statuses.Length > 0)
            {
                orders = orders.Where(fo => model.Statuses.Contains(fo.Status));
            }
            if (model.UserIds.Length > 0)
            {
                orders = orders.Where(fo => model.UserIds.Contains(fo.ManagerId));
            }
            if (!String.IsNullOrEmpty(model.Term))
            {
                var term = model.Term.ToLower();
                orders =
                    orders.Where(
                        o =>
                            (o.Description != null && o.Description.ToLower().Contains(term)) ||
                            o.FEAOrderItems.Any(oi => oi.ProductType.Title.ToLower().Contains(term)));
            }

            model.Fetched = orders.AsEnumerable().OrderByDescending(o => o.LastUpdate).ToList();

            PushNavigationItem("ВЭД","/fea");
            PushNavigationItem("Список ВЭД заявок","#");

            // Отдаем вид
            return View(model);
        }