Exemplo n.º 1
0
        public ActionResult AgreementsIndex(AgreementsFiltrationModel model)
        {
            // Выбираем
            var projects = CurrentUser.IsAdmin() ? DataContext.Projects.Select(p => p.Id) : CurrentUser.ProjectUsers.Select(p => p.ProjectId);
            IEnumerable <LeadAgreement> agreements = DataContext.LeadAgreements.Where(o => o.Status >= (short)LeadAgreementStatus.Signed && projects.Contains(o.ProjectId));

            if (model.LeadIds.Length > 0)
            {
                agreements = agreements.Where(o => model.LeadIds.Contains(o.LeadId));
            }
            if (model.ProjectIds.Length > 0)
            {
                agreements = agreements.Where(o => model.ProjectIds.Contains(o.ProjectId));
            }
            if (model.Statuses.Length > 0)
            {
                agreements = agreements.Where(o => model.Statuses.Contains(o.Status));
            }
            if (model.Managers.Length > 0)
            {
                agreements = agreements.Where(o => model.Managers.Contains(o.AssignedUserId));
            }
            if (!String.IsNullOrEmpty(model.Term))
            {
                var term = model.Term.ToLower();
                agreements =
                    agreements.Where(
                        o =>
                        (o.Title != null && o.Title.ToLower().Contains(term) || (o.Description != null && o.Description.ToLower().Contains(term))));
            }

            model.Fetched = agreements.OrderByDescending(a => a.DateModified).ToList();

            PushNavigationItem("Бухгалтерия", "/finances/agreements");
            PushNavigationItem("Оплата по договорам", "#");

            return(View(model));
        }
Exemplo n.º 2
0
        public ActionResult Index(AgreementsFiltrationModel model)
        {
            // Выбираем
            var projects = CurrentUser.IsAdmin() ? DataContext.Projects.Select(p => p.Id) : CurrentUser.ProjectUsers.Select(p => p.ProjectId);
            IEnumerable<LeadAgreement> agreements = DataContext.LeadAgreements.Where(o => projects.Contains(o.ProjectId));
            if (model.LeadIds.Length > 0)
            {
                agreements = agreements.Where(o => model.LeadIds.Contains(o.LeadId));
            }
            if (model.ProjectIds.Length > 0)
            {
                agreements = agreements.Where(o => model.ProjectIds.Contains(o.ProjectId));
            }
            if (model.Statuses.Length > 0)
            {
                agreements = agreements.Where(o => model.Statuses.Contains(o.Status));
            }
            if (model.Managers.Length > 0)
            {
                agreements = agreements.Where(o => model.Managers.Contains(o.AssignedUserId));
            }
            if (!String.IsNullOrEmpty(model.Term))
            {
                var term = model.Term.ToLower();
                agreements =
                    agreements.Where(
                        o =>
                            (o.Title != null && o.Title.ToLower().Contains(term) || (o.Description != null && o.Description.ToLower().Contains(term))));
            }

            model.Fetched = agreements.OrderByDescending(a => a.DateModified).ToList();

            PushNavigationItem("Договора", "/agreements");
            PushNavigationItem("Список договоров", "#");

            return View(model);
        }