예제 #1
0
        public ActionResult SearchResults(string namNumber, string roomNumber, string vlan, string building, string department)
        {
            var hasNamNumber = !(String.IsNullOrEmpty(namNumber) || namNumber.Equals("0"));
            var hasRoomNumber = !(String.IsNullOrEmpty(roomNumber) || roomNumber.Equals("0"));
            var hasVlanId = !(String.IsNullOrEmpty(vlan) || vlan.Equals("0"));
            var hasBuildingId = !(String.IsNullOrEmpty(building) || building.Equals("0"));
            var hasDepartmentId = !(String.IsNullOrEmpty(department) || department.Equals("0"));
            var hasSearchParameters = hasNamNumber || hasRoomNumber || hasVlanId || hasBuildingId || hasDepartmentId
                                          ? true
                                          : false;

            var viewModel = new NamSearchModel
                                {
                                    DataNams = new List<DataNam>()
                                };

            if (hasSearchParameters)
            {
                NamSearchExpression = PredicateBuilder.True<DataNam>();

                if (hasNamNumber)
                {
                    NamSearchExpression = NamSearchExpression.And(p => p.NamNumber.Equals(namNumber));
                }
                if (hasRoomNumber)
                {
                    NamSearchExpression = NamSearchExpression.And(p => p.Room.Equals(roomNumber));
                }
                if (hasVlanId)
                {
                    NamSearchExpression =
                        NamSearchExpression.And(p => p.Vlan.Id == int.Parse(vlan));
                }
                if (hasBuildingId)
                {
                    NamSearchExpression =
                        NamSearchExpression.And(p => p.Building.Id == int.Parse(building));
                }
                if (hasDepartmentId)
                {
                    NamSearchExpression =
                        NamSearchExpression.And(p => p.Department.Id.Equals(department));
                }

                viewModel.DataNams = _dataNamRepository
                    .Queryable
                    .Where(NamSearchExpression)
                    .OrderBy(t => t.NamNumber)
                    .ToList();
            }
            return View(viewModel);
        }
예제 #2
0
        //
        // GET: /NamSearch/
        public ActionResult Index()
        {
            var viewModel = new NamSearchModel
                                {
                                    DataNams = new List<DataNam>(),
                                    Vlans = _vlanRepository.Queryable.OrderBy(t => t.Name).ToList(),
                                    Buildings = _buildingRepository.Queryable.OrderBy(t => t.Name).ToList(),
                                    Departments =
                                        _departmentRepository.Queryable.OrderBy(t => t.Name).ToList()
                                };

            return View(viewModel);
        }