/// <summary>
 /// 创建订单
 /// </summary>
 /// <param name="subscriptionId"></param>
 /// <param name="textbookId"></param>
 /// <param name="booksellerId"></param>
 /// <param name="declarations"></param>
 /// <param name="planCount"></param>
 /// <param name="spareCount"></param>
 /// <returns></returns>
 public static Subscription CreateSubscription(Guid subscriptionId, Guid textbookId, Guid booksellerId, SchoolYearTerm term, int planCount, int spareCount)
 {
     var sub = new Subscription
     {
         Bookseller_Id = booksellerId,
         PlanCount = planCount,
         SpareCount = spareCount,
         SubscriptionDate = DateTime.Now,
         ID = subscriptionId,
         Textbook_Id = textbookId,
         SchoolYearTerm = term
     };
     return sub;
 }
        /// <summary>
        /// 对教材汇总,生成订单
        /// </summary>
        /// <param name="studentDeclarations">学生用书申报</param>
        /// <param name="teacherDeclarations">教师用书申报</param>
        /// <returns></returns>
        public static IEnumerable<Subscription> CreateSubscriptions(
            IEnumerable<StudentDeclarationJiaoWu> studentDeclarations,
            IEnumerable<TeacherDeclarationJiaoWu> teacherDeclarations
            )
        {
            //合并教师用书申报与学生用书申报
            var declarations = studentDeclarations.Union<DeclarationJiaoWu>(teacherDeclarations);
            //分组
            var result = declarations
                .GroupBy(t => t.Textbook, new TextbookComparer())  //教材选择器
                .Select(m =>
                    {
                        //取教材ID相同的申报
                        var studentDeclarationJiaoWus = studentDeclarations.Where(d => d.Textbook.ID == m.Key.ID).ToList();
                        var teacherDeclarationJiaoWus = teacherDeclarations.Where(d => d.Textbook_Id == m.Key.ID).ToList();
                        //转换为教材用书申报
                        var studentDeclarationTextbooks = studentDeclarationJiaoWus.ConvertAll(Converter);
                        var teacherDeclarationTextbooks = teacherDeclarationJiaoWus.ConvertAll(Converter);

                        //新建订单
                        var subscription = new Subscription
                        {
                            ID = Guid.NewGuid(),
                            Textbook_Id = m.Key.ID,
                            SchoolYearTerm = declarations.FirstOrDefault().SchoolYearTerm,
                            Textbook = m.Key,
                            PlanCount = m.Sum(s => s.DeclarationCount),
                            SpareCount = 0,
                            SubscriptionDate = DateTime.Now,
                            SubscriptionState = Models.FeedbackState.未征订,
                            StudentDeclarations = studentDeclarationTextbooks,
                            TeacherDeclarations = teacherDeclarationTextbooks
                        };
                        return subscription;
                    });

            return result.ToList();
        }