// GET: Contract
        public ActionResult Contract()
        {
            isAdminLogged();
            logger.Info("Start controller to load list of contract....");
            ContractListViewModel model = new ContractListViewModel();

            model.listCon = con_Service.Search().ToList();
            return(View(model));
        }
 private void UserControl_MouseEnter(object sender, System.Windows.Input.MouseEventArgs e)
 {
     if (IsVisible && privateContractListView == null)
     {
         privateContractListView        = new ContractListView();
         privateContractListViewModel   = new ContractListViewModel(privateContractListView);
         viewModel.Value.ContractPopped = privateContractListView;
         //viewModel.Value.invoiceGroupViewModel = privateContractListViewModel;
         privateContractListView.DataContext    = privateContractListViewModel;
         privateContractListViewModel.RoutingTo = ContractListViewModel.RouteTo.UsingInvoiceGroupView;
     }
 }
Exemplo n.º 3
0
 public ContractController(CompositionContainer container
                           , ShellViewModel shellViewModel
                           , ContractListViewModel _contractListViewModel
                           , ContractViewModel _contractViewModel
                           , ContractDetailsViewModel _groupsOnContractViewModel
                           //,VolumeAdjViewModel _volumeAdjViewModel
                           , ContractRateViewModel _contractRateViewModel
                           , TatScheduleViewModel _tatScheduleViewModel
                           , ContractVolumeEvtViewModel _contractVolumeEvtViewModel
                           )
 {
     this.container        = container;
     tatScheduleViewModel  = _tatScheduleViewModel;
     contractRateViewModel = _contractRateViewModel;
     //volumeAdjViewModel = _volumeAdjViewModel;
     this.contractViewModel     = _contractViewModel;
     contractListViewModel      = _contractListViewModel;
     contractVolumeEvtViewModel = _contractVolumeEvtViewModel;
     this.shellViewModel        = shellViewModel;
     groupsOnContractViewModel  = _groupsOnContractViewModel;
 }
        public ActionResult ContractSeacrh(ContractListViewModel model)
        {
            logger.Info("Start controller to filter....");
            isAdminLogged();
            if (model.keyword == null)
            {
                return(Redirect("Contract"));
            }
            int  kw;
            bool check_keywork = int.TryParse(model.keyword, out kw);

            if (!check_keywork)
            {
                ViewBag.CheckKW = false;
            }
            else
            {
                model.listCon = con_Service.Search(kw, model.criterion).ToList();
            }
            model.keyword = null;
            return(View("Contract", model));
        }
Exemplo n.º 5
0
        public ActionResult Table(int?aircraft, string service, int?administrator, int?customer, string sortOrder, string SearchParam, string SearchString)
        {
            if (!User.Identity.IsAuthenticated)
            {
                return(Redirect("/Account/Login"));
            }
            bool[] cansee = new bool[10000];
            foreach (Contract contract in db.Contracts)
            {
                cansee[contract.Id] = CanSee(contract.Id);
            }
            ViewBag.CanSee = cansee;
            //формирование списков
            IQueryable <Contract> contracts = db.Contracts
                                              .Include(a => a.Service)
                                              .Include(a => a.Administrator)
                                              .Include(a => a.Customer)
                                              .Include(a => a.Service.Aircraft);
            List <Aircraft>      aircrafts      = db.Aircrafts.ToList();
            List <String>        services       = db.Contracts.Select(p => p.Service.Name).Distinct().ToList();
            List <Administrator> administrators = db.Administrators.ToList();
            List <Customer>      customers      = db.Customers.ToList();

            //перенос имеющихся фильтров во вьюбэг
            ViewBag.Aircraft      = aircraft;
            ViewBag.Service       = service;
            ViewBag.Administrator = administrator;
            ViewBag.Customer      = customer;
            ViewBag.SearchParam   = SearchParam;
            ViewBag.SearchString  = SearchString;
            //сортировка
            ViewBag.AircraftSortParm      = String.IsNullOrEmpty(sortOrder) ? "Aircraft desc" : "";
            ViewBag.ServiceSortParm       = sortOrder == "Service" ? "Service desc" : "Service";
            ViewBag.AdministratorSortParm = sortOrder == "Administrator" ? "Administrator desc" : "Administrator";
            ViewBag.CustomerSortParm      = sortOrder == "Customer" ? "Customer desc" : "Customer";
            ViewBag.StartDateSortParm     = sortOrder == "StartDate" ? "StartDate desc" : "StartDate";
            ViewBag.FinishDateSortParm    = sortOrder == "FinishDate" ? "FinishDate desc" : "FinishDate";
            ViewBag.SignDateSortParm      = sortOrder == "SignDate" ? "SignDate desc" : "SignDate";
            ViewBag.CostSortParm          = sortOrder == "Cost" ? "Cost desc" : "Cost";
            switch (sortOrder)
            {
            case "Aircraft desc":
                contracts = contracts.OrderByDescending(s => s.Service.AircraftId);
                break;

            case "Service":
                contracts = contracts.OrderBy(s => s.Service.Name);
                break;

            case "Service desc":
                contracts = contracts.OrderByDescending(s => s.Service.Name);
                break;

            case "Administrator":
                contracts = contracts.OrderBy(s => s.AdministratorId);
                break;

            case "Administrator desc":
                contracts = contracts.OrderByDescending(s => s.AdministratorId);
                break;

            case "Customer":
                contracts = contracts.OrderBy(s => s.CustomerId);
                break;

            case "Customer desc":
                contracts = contracts.OrderByDescending(s => s.CustomerId);
                break;

            case "StartDate":
                contracts = contracts.OrderBy(s => s.ContractStartDate);
                break;

            case "StartDate desc":
                contracts = contracts.OrderByDescending(s => s.ContractStartDate);
                break;

            case "FinishDate":
                contracts = contracts.OrderBy(s => s.ContractFinishDate);
                break;

            case "FinishDate desc":
                contracts = contracts.OrderByDescending(s => s.ContractFinishDate);
                break;

            case "SignDate":
                contracts = contracts.OrderBy(s => s.ContractSignDate);
                break;

            case "SignDate desc":
                contracts = contracts.OrderByDescending(s => s.ContractSignDate);
                break;

            case "Cost":
                contracts = contracts.OrderBy(s => s.TotalCost);
                break;

            case "Cost desc":
                contracts = contracts.OrderByDescending(s => s.TotalCost);
                break;

            default:
                contracts = contracts.OrderBy(s => s.Service.AircraftId);
                break;
            }
            //поиск
            if (!String.IsNullOrEmpty(SearchString))
            {
                switch (SearchParam)
                {
                case "Реєстраційний номер техніки":
                    contracts = contracts.Where(s => s.Service.Aircraft.RegistrationNumber.ToUpper().Contains(SearchString.ToUpper()));
                    break;

                case "Послуга":
                    contracts = contracts.Where(s => s.Service.Name.ToUpper().Contains(SearchString.ToUpper()));
                    break;

                case "Співробітник":
                    contracts = contracts.Where(s => s.Administrator.Name.ToUpper().Contains(SearchString.ToUpper()));
                    break;

                case "Клієнт":
                    contracts = contracts.Where(s => s.Customer.Name.ToUpper().Contains(SearchString.ToUpper()));
                    break;

                default:
                    break;
                }
            }
            ViewBag.SearchParams = new SelectList(new List <string>()
            {
                "Реєстраційний номер техники",
                "Послуга",
                "Співробітник",
                "Клієнт"
            });
            //фильтрация
            if (aircraft != null && aircraft != 0)
            {
                contracts = contracts.Where(p => p.Service.AircraftId == aircraft);
            }
            if (administrator != null && administrator != 0)
            {
                contracts = contracts.Where(p => p.AdministratorId == administrator);
            }
            if (!String.IsNullOrEmpty(service) && !service.Equals("Всі"))
            {
                contracts = contracts.Where(p => p.Service.Name == service);
            }
            if (customer != null && customer != 0)
            {
                contracts = contracts.Where(p => p.CustomerId == customer);
            }
            ViewBag.Contracts = contracts;
            aircrafts.Insert(0, new Aircraft {
                RegistrationNumber = "Всі", Id = 0
            });
            administrators.Insert(0, new Administrator {
                Name = "Всі", Id = 0
            });
            customers.Insert(0, new Customer {
                Name = "Всі", Id = 0
            });
            services.Insert(0, "Всі");

            ContractListViewModel blvm = new ContractListViewModel()
            {
                Contracts      = contracts.ToList(),
                Aircrafts      = new SelectList(aircrafts, "Id", "RegistrationNumber"),
                Services       = new SelectList(services),
                Administrators = new SelectList(administrators, "Id", "Name"),
                Customers      = new SelectList(customers, "Id", "Name")
            };

            return(View(blvm));
        }