예제 #1
0
        public void SaveSubscriptionWithStudentDeclaration()
        {
            //取未征订学生申报
            var studentDeclarations = _appl.GetNotSubscriptionStudentDeclarationJiaoWu("2013-2014-2");
            var teacherDeclarations = _appl.GetNotSubscriptionTeacherDeclarationJiaoWu("2013-2014-2");
            //生成订单
            var subscriptions = SubscriptionService.CreateSubscriptionsByPress(studentDeclarations, teacherDeclarations);
            //保存
            var repo = new SubscriptionRepository(_context);

            for (int i = 0; i < subscriptions.Count(); i = i + 300)
            {
                foreach (var item in subscriptions.Skip(i).Take(300))
                {
                    repo.Add(item);
                }
                repo.Context.Commit();
            }

            var ids    = subscriptions.Select(d => d.ID);
            var result = repo.Find(t => ids
                                   .Contains(t.ID)
                                   );

            Assert.AreEqual(subscriptions.Count(), result.Count());
        }
예제 #2
0
        public IEnumerable <SubscriptionForSubmitView> CreateSubscriptionsByPress(string term, string press)
        {
            //删除未征订的订单
            RemoveNotSubscription();
            _subscriptionRepo.Context.Commit();
            //取未征订的申报
            var studentDeclarations = GetNotSubscriptionStudentDeclarationJiaoWu(term)
                                      .Where(t => t.Textbook.Press == press);
            var teacherDeclarations = GetNotSubscriptionTeacherDeclarationJiaoWu(term)
                                      .Where(t => t.Textbook.Press == press);

            //创建订单
            var subscriptions = SubscriptionService.CreateSubscriptionsByPress(studentDeclarations, teacherDeclarations).ToList();

            //写入DB
            subscriptions.ForEach(t => _subscriptionRepo.Add(t));
            _subscriptionRepo.Context.Commit();

            //DTO
            var result = _adapter.Adapt <SubscriptionForSubmitView>(subscriptions.OrderBy(t => t.Textbook.Name));

            return(result);
        }