public void ItReturnsNotNullModel()
        {
            // Arrange
            AviTradeContext dbContext = new AviTradeContext();
            IItemsRepository itemsRepository = new ItemsRepository(dbContext);
            IAirportsRepository airportsRepository = new AirportsRepository(dbContext);
            IAircraftsRepository aircraftsRepository = new AircraftsRepository(dbContext);
            IContractsRepository contractsRepository = new ContractsRepository(dbContext);
            ITradersRepository tradersRepository = new TradersRepository(dbContext);
            IPeriodsRepository periodsRepository = new PeriodsRepository(dbContext);
            IInvoicesRepository invoicesRepository = new InvoicesRepository(dbContext, periodsRepository);
            ICurrenciesRepository currenciesRepository = new CurrenciesRepository(dbContext);
            IOrdersRepository ordersRepository = new OrdersRepository(dbContext, contractsRepository, airportsRepository, aircraftsRepository, itemsRepository, currenciesRepository, invoicesRepository);
            DataServiceController controller = null; // new DataServiceController(contractsRepository, tradersRepository, ordersRepository, itemsRepository, airportsRepository, aircraftsRepository);

            // Act
            AjaxOrdersViewModel model = controller.BuildAjaxOrdersViewModel(1, 0, "1,2,3,4", DateTime.Now.AddDays(30),
                                                                            true, 0, 20);

            // Assert
            Assert.IsNotNull(model);
        }
Пример #2
0
        public IEnumerable <dynamic> GetPageList(System.Collections.Specialized.NameValueCollection nvl, out int recordCount)
        {
            //状态
            var State = (nvl["State"] ?? "").Trim();
            //类别
            var Category = (nvl["Category"] ?? "").Trim();
            //关键字类型
            var keywordType = (nvl["keywordType"] ?? "").Trim();
            //关键字
            var keyword = (nvl["keyword"] ?? "").Trim();

            //商户域名信息
            var QRealm = RealmRepository.GetQuery(o => o.CID != -1);
            //商户信息
            var QTraders = TradersRepository.GetQuery();
            //一级域名
            var QSysData = SysDataDictionaryRepository.GetQuery(o => o.DicPSN == 600 && o.Status);

            if (State != "-2")
            {
                short Sta = Convert.ToInt16(State);
                QRealm = QRealm.Where(o => o.State == Sta);
            }

            if (Category != "-1")
            {
                short Catego = Convert.ToInt16(Category);
                QRealm = QRealm.Where(o => o.Category == Catego);
            }

            if (!keywordType.IsNullOrEmpty() && !keyword.IsNullOrEmpty())
            {
                if (keywordType == "1")
                {
                    if (!Tool.IsNumber(keyword) || keyword.Length > 7)
                    {
                        keyword = "0";
                    }
                    int key = Convert.ToInt32(keyword);
                    QRealm = QRealm.Where(o => o.CID == key);
                }
            }

            var q = from r in QRealm
                    join t in QTraders on r.CID equals t.CID
                    into tt
                    from ttt in tt.DefaultIfEmpty()
                    join s in QSysData on r.Domain1 equals s.DicSN
                    into ss
                    from sss in ss.DefaultIfEmpty()
                    select new
            {
                r.Id,
                r.Category,
                r.CID,
                TradersFullTitle = ttt == null ? "" : ttt.FullTitle,
                Domain           = r.Name + "." + sss.Title,
                r.Remark,
                r.CreateDT,
                r.State
            };

            if (keywordType == "3" && !keywordType.IsNullOrEmpty() && !keyword.IsNullOrEmpty())
            {
                q = q.Where(o => o.Domain.Contains(keyword));
            }
            if (keywordType == "2" && !keywordType.IsNullOrEmpty() && !keyword.IsNullOrEmpty())
            {
                q = q.Where(o => o.TradersFullTitle.Contains(keyword));
            }
            recordCount = q.Count();
            return(q.ToPageList());
        }