Exemplo n.º 1
0
        public ActionResult Index(ServicesFiltrationModel model)
        {
            // Фильтруем
            var availableProjects = CurrentUser.ProjectUsers.Select(p => p.ProjectId).ToArray();
            IEnumerable <ServiceType> services = DataContext.ServiceTypes.Where(w => availableProjects.Contains(w.ProjectId));

            if (model.ProjectIds.Length > 0)
            {
                services = services.Where(p => model.ProjectIds.Contains(p.ProjectId));
            }
            if (model.ServiceTypes.Length > 0)
            {
                services = services.Where(p => model.ServiceTypes.Contains(p.Type));
            }
            if (model.ServicePeriods.Length > 0)
            {
                services = services.Where(p => model.ServicePeriods.Contains(p.PeriodType));
            }
            if (model.PaymentTypes.Length > 0)
            {
                services = services.Where(p => model.PaymentTypes.Contains(p.PaymentType));
            }
            if (!String.IsNullOrEmpty(model.Term))
            {
                var term = model.Term.ToLower();
                services =
                    services.Where(
                        p =>
                        p.Title.ToLower().Contains(term) ||
                        p.Description.ToLower().Contains(term));
            }

            model.Fetched = services.OrderByDescending(d => d.DateModified).ToList();

            PushNavigationItem("Управление услугами", "/manage/services");
            PushNavigationItem("Список услуг", "#");

            return(View(model));
        }
        public ActionResult Index(ServicesFiltrationModel model)
        {
            // Фильтруем
            var availableProjects = CurrentUser.ProjectUsers.Select(p => p.ProjectId).ToArray();
            IEnumerable<ServiceType> services = DataContext.ServiceTypes.Where(w => availableProjects.Contains(w.ProjectId));

            if (model.ProjectIds.Length > 0)
            {
                services = services.Where(p => model.ProjectIds.Contains(p.ProjectId));
            }
            if (model.ServiceTypes.Length > 0)
            {
                services = services.Where(p => model.ServiceTypes.Contains(p.Type));
            }
            if (model.ServicePeriods.Length > 0)
            {
                services = services.Where(p => model.ServicePeriods.Contains(p.PeriodType));
            }
            if (model.PaymentTypes.Length > 0)
            {
                services = services.Where(p => model.PaymentTypes.Contains(p.PaymentType));
            }
            if (!String.IsNullOrEmpty(model.Term))
            {
                var term = model.Term.ToLower();
                services =
                    services.Where(
                        p =>
                            p.Title.ToLower().Contains(term) ||
                            p.Description.ToLower().Contains(term));
            }

            model.Fetched = services.OrderByDescending(d => d.DateModified).ToList();

            PushNavigationItem("Управление услугами", "/manage/services");
            PushNavigationItem("Список услуг", "#");

            return View(model);
        }