Beispiel #1
0
        /// <summary>
        /// 根据学年学期,书商查询书商实发教材
        /// </summary>
        /// <param name="term"></param>
        /// <param name="booksellerId"></param>
        /// <returns></returns>
        public IEnumerable <BooksellerReleaseDetailView> GetBooksellerReleaseDetail(string term, string booksellerId)
        {
            var id               = booksellerId.ConvertToGuid();
            var yearTerm         = new SchoolYearTerm(term);
            var booksellerRecord = _recordRepo.Find(t =>
                                                    t.SchoolYearTerm.Year == yearTerm.Year &&
                                                    t.SchoolYearTerm.Term == yearTerm.Term &&
                                                    t.Bookseller_Id == id).GroupBy(t => new
            {
                t.SchoolName,
                t.Name,
                t.Isbn,
                t.Author,
                t.Press,
                t.Price
            }).Select(d => new BooksellerReleaseDetailView()
            {
                SchoolName          = d.Key.SchoolName,
                TextbookName        = d.Key.Name,
                Isbn                = d.Key.Isbn,
                Author              = d.Key.Author,
                Press               = d.Key.Press,
                RetailPrice         = d.Key.Price.ToString(),
                TotalCount          = d.Sum(p => p.ReleaseCount).ToString(),
                TotalRetailCharge   = d.Sum(p => p.Price * p.ReleaseCount).ToString(),
                TotalDiscountCharge = d.Sum(p => p.Discount * p.Price * p.ReleaseCount).ToString()
            });

            return(booksellerRecord);
        }
Beispiel #2
0
        /// <summary>
        /// 根据学年学期,学生查询学生实发教材
        /// </summary>
        /// <param name="term"></param>
        /// <param name="studentId"></param>
        /// <returns></returns>
        public IEnumerable <StudentReleaseDetailView> GetStudentReleaseDetail(string term, string studentId)
        {
            var studentid = studentId.ConvertToGuid();
            var yearTerm  = new SchoolYearTerm(term);

            var studentRecord = _recordRepo.Find(t =>
                                                 t.SchoolYearTerm.Year == yearTerm.Year &&
                                                 t.SchoolYearTerm.Term == yearTerm.Term &&
                                                 t.Student_Id == studentid
                                                 ).Select(p => new StudentReleaseDetailView()
            {
                TextbookId    = p.Textbook_Id.ToString(),
                TextbookName  = p.Name,
                RetailPrice   = p.Price.ToString(),
                DiscountPrice = p.DiscountPrice.ToString(),
                Term          = p.SchoolYearTerm.ToString(),
                SchoolName    = p.SchoolName,
                ClassName     = p.ClassName,
                StudentNum    = p.StudentNum,
                ReleaseCount  = p.ReleaseCount.ToString(),
                Recipient     = p.Recipient1Name,
                Telephone     = p.Recipient1Phone,
                RecipientDate = p.ReleaseDate.ToString()
            });

            return(_adapter.Adapt <StudentReleaseDetailView>(studentRecord));
        }
        /// <summary>
        /// 根据学年学期,学生取学生个人教材费用
        /// </summary>
        /// <param name="term"></param>
        /// <param name="studentName"></param>
        /// <returns></returns>
        public IEnumerable <TextbookFeeForStudentView> GetStudentFee(string term, string studentNum)
        {
            var yearTerm = new SchoolYearTerm(term);

            var studentFee = _studentRecordRepo.Find(t =>
                                                     t.SchoolYearTerm.Year == yearTerm.Year &&
                                                     t.SchoolYearTerm.Term == yearTerm.Term &&
                                                     t.StudentNum == studentNum
                                                     ).GroupBy(t => new
            {
                t.Textbook_Id,
                t.Name,
                t.Isbn,
                t.Author,
                t.Press,
                t.Price,
                t.Discount
            }).Select(d => new TextbookFeeForStudentView()
            {
                TextbookId    = d.Key.Textbook_Id.ToString(),
                TextbookName  = d.Key.Name,
                Isbn          = d.Key.Isbn,
                Author        = d.Key.Author,
                Press         = d.Key.Press,
                RetailPrice   = d.Key.Price.ToString(),
                Discount      = d.Key.Discount.ToString(),
                ReleaseCount  = d.Sum(t => t.ReleaseCount).ToString(),
                DiscountPrice = d.Sum(t => t.DiscountPrice).ToString()
            });

            return(studentFee);
        }
 /// <summary>
 /// 根据学年学期,书商查询书商实发教材
 /// </summary>
 /// <param name="term"></param>
 /// <param name="booksellerId"></param>
 /// <returns></returns>
 public IEnumerable<BooksellerReleaseDetailView> GetBooksellerReleaseDetail(string term, string booksellerId)
 {
     var id = booksellerId.ConvertToGuid();
     var yearTerm = new SchoolYearTerm(term);
     var booksellerRecord = _recordRepo.Find(t =>
         t.SchoolYearTerm.Year == yearTerm.Year &&
         t.SchoolYearTerm.Term == yearTerm.Term &&
         t.Bookseller_Id == id).GroupBy(t => new
         {
             t.SchoolName,
             t.Name,
             t.Isbn,
             t.Author,
             t.Press,
             t.Price
         }).Select(d => new BooksellerReleaseDetailView()
             {
                 SchoolName = d.Key.SchoolName,
                 TextbookName = d.Key.Name,
                 Isbn = d.Key.Isbn,
                 Author = d.Key.Author,
                 Press = d.Key.Press,
                 RetailPrice = d.Key.Price.ToString(),
                 TotalCount = d.Sum(p => p.ReleaseCount).ToString(),
                 TotalRetailCharge = d.Sum(p => p.Price * p.ReleaseCount).ToString(),
                 TotalDiscountCharge = d.Sum(p => p.Discount * p.Price * p.ReleaseCount).ToString()
             });
     return booksellerRecord;
 }
        public void Operator_Smaller()
        {
            var left  = new SchoolYearTerm("2013-2014-1");
            var right = new SchoolYearTerm("2013-2014-2");

            Assert.IsFalse(left > right);
        }
        public void Operator_Greater()
        {
            var left  = new SchoolYearTerm("2013-2014-1");
            var right = new SchoolYearTerm("2013-2014-2");

            Assert.IsTrue(left < right);
        }
        public void CompareTo_Equal()
        {
            var left  = new SchoolYearTerm("2013-2014-1");
            var right = new SchoolYearTerm("2013-2014-1");

            Assert.AreEqual(0, left.CompareTo(right));
        }
        public void Operator_NotEqual()
        {
            var left  = new SchoolYearTerm("2013-2014-1");
            var right = new SchoolYearTerm("2013-2014-2");

            Assert.IsTrue(left != right);
        }
        public void ObjectCompareTo_LeftIsNull()
        {
            var            right = new SchoolYearTerm("2013-2014-2");
            SchoolYearTerm left  = null;

            left.CompareTo(right as object);
        }
        public void CompareTo_TermSmaller()
        {
            var right = new SchoolYearTerm("2013-2014-2");
            var left  = new SchoolYearTerm("2013-2014-1");

            Assert.AreEqual(-1, left.CompareTo(right));
        }
        public void ObjectCompareTo_YearSmaller()
        {
            var right = new SchoolYearTerm("2013-2014-1");
            var left  = new SchoolYearTerm("2012-2013-2");

            Assert.AreEqual(-1, left.CompareTo(right as object));
        }
        public void ObjectCompareTo_RightNotInitialized()
        {
            var            left  = new SchoolYearTerm("2013-2014-2");
            SchoolYearTerm right = new SchoolYearTerm();

            left.CompareTo(right as object);
        }
        public void ObjectCompartTo_YearGreater()
        {
            var right = new SchoolYearTerm("2013-2014-1");
            var left  = new SchoolYearTerm("2014-2015-2");

            Assert.AreEqual(1, left.CompareTo(right as object));
        }
        public IEnumerable <string> GetPressByBookseller(string term, string booksellerId)
        {
            //学期
            var yearTerm = new SchoolYearTerm(term);
            //书商ID
            var id = booksellerId.ConvertToGuid();
            //取订单
            var subscriptions = _subscriptionRepo.Find(t =>
                                                       t.SchoolYearTerm.Year == yearTerm.Year &&
                                                       t.SchoolYearTerm.Term == yearTerm.Term &&
                                                       t.Bookseller_Id == id &&
                                                       t.SubscriptionState != FeedbackState.未征订
                                                       );
            //取出版社
            var press = subscriptions.Select(t => t.Textbook.Press).Distinct().OrderBy(t => t).ToList();

            //检查
            if (press.Count == 0)
            {
                press = new List <string> {
                    "没有订单"
                };
            }

            return(press);
        }
        public static async Task <List <SchoolYearTerm> > GetSchoolYearsTermsAsync(int schoolyearid)
        {
            List <SchoolYearTerm> lstResults = new List <SchoolYearTerm>();
            await Task.Run(() =>
            {
                using (var db = new dbSchoolAttendanceEntities())
                {
                    var dbresult = (from t in db.tblSchoolYearTerm.Where(trm => trm.SchoolYearID == schoolyearid) select t).ToList();
                    if (dbresult.Count > 0)
                    {
                        foreach (var term in dbresult)
                        {
                            SchoolYearTerm exSchoolYearTerm        = new SchoolYearTerm();
                            exSchoolYearTerm.ID                    = term.ID;
                            exSchoolYearTerm.SchoolYearID          = Convert.ToInt32(term.SchoolYearID);
                            exSchoolYearTerm.Description           = term.Description;
                            exSchoolYearTerm.AttendanceDaysRequire = Convert.ToDecimal(term.AttendanceDaysRequirement);
                            exSchoolYearTerm.StartOfTerm           = Convert.ToDateTime(term.StartOfTerm);
                            exSchoolYearTerm.StartOfHalfTerm       = Convert.ToDateTime(term.StartOfHalfTerm);
                            exSchoolYearTerm.EndOfHalfTerm         = Convert.ToDateTime(term.EndOfHalfTerm);
                            exSchoolYearTerm.EndOfTerm             = Convert.ToDateTime(term.EndOfTerm);
                            exSchoolYearTerm.StartOfTerm           = Convert.ToDateTime(term.StartOfTerm);
                            exSchoolYearTerm.Notes                 = term.Notes;

                            lstResults.Add(exSchoolYearTerm);
                        }
                    }
                }
            });

            return(lstResults);
        }
        /// <summary>
        /// 取学生用书申报
        /// </summary>
        /// <param name="courId">课程ID</param>
        /// <param name="depaId">部门ID</param>
        /// <param name="term">学年学期</param>
        /// <returns></returns>
        private List <DeclarationJiaoWu> GetStudentDeclarations(Guid courId, Guid depaId, string term)
        {
            var yearTerm     = new SchoolYearTerm(term);
            var declarations = _studentRepo.Find(t =>
                                                 t.SchoolYearTerm.Year == yearTerm.Year &&
                                                 t.SchoolYearTerm.Term == yearTerm.Term &&
                                                 t.Course_Id == courId &&
                                                 t.Department_Id == depaId
                                                 );

            return(declarations.Cast <DeclarationJiaoWu>().ToList());
        }
Beispiel #17
0
        /// <summary>
        /// 根据回告状态,取订单
        /// </summary>
        /// <param name="term"></param>
        /// <param name="booksellerId"></param>
        /// <param name="state"></param>
        /// <returns></returns>
        private IEnumerable <Subscription> GetSubscriptionByState(string term, Guid booksellerId, FeedbackState state)
        {
            var yearTerm = new SchoolYearTerm(term);

            return(_subscriptionRepo.Find(t =>
                                          t.SchoolYearTerm.Year == yearTerm.Year &&
                                          t.SchoolYearTerm.Term == yearTerm.Term &&
                                          t.Bookseller_Id == booksellerId &&
                                          //t.Feedback.FeedbackState == state
                                          t.SubscriptionState == state
                                          ));
        }
 /// <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="term"></param>
        /// <param name="booksellerId"></param>
        /// <param name="classId"></param>
        /// <returns></returns>
        public IEnumerable <TextbookFeeForBooksellerProfessionClassView> GetBooksellerProfessionalClassFee(string term, string booksellerId, string classId)
        {
            var booksellerid = booksellerId.ConvertToGuid();
            var classid      = classId.ConvertToGuid();
            var yearTerm     = new SchoolYearTerm(term);
            //var fee = from p in _studentRecordRepo.GetAll()
            //          where
            //              p.Bookseller_Id == booksellerId.ConvertToGuid() && p.Class_Id == classId.ConvertToGuid() &&
            //              p.Term == term
            //          group p by p.Textbook_Id
            //              into s
            //              select new
            //                  {
            //                      name = s.Key,
            //                      count = s.Sum(a => a.ReleaseCount)
            //                  };

            var booksellerFee = _studentRecordRepo.Find(t =>
                                                        t.SchoolYearTerm.Year == yearTerm.Year &&
                                                        t.SchoolYearTerm.Term == yearTerm.Term &&
                                                        t.Bookseller_Id == booksellerid &&
                                                        t.Class_Id == classid
                                                        ).GroupBy(t => new
            {
                t.Textbook_Id,
                t.Name,
                t.Isbn,
                t.Author,
                t.Press,
                t.Price,
                t.Discount
            }).Select(d => new TextbookFeeForBooksellerProfessionClassView
            {
                TextbookId         = d.Key.Textbook_Id.ToString(),
                TextbookName       = d.Key.Name,
                Isbn               = d.Key.Isbn,
                Author             = d.Key.Author,
                Press              = d.Key.Press,
                RetailPrice        = d.Key.Price.ToString(),
                Discount           = d.Key.Discount.ToString(),
                ReleaseCount       = d.Sum(t => t.ReleaseCount).ToString(),
                TotalRetailPrice   = d.Sum(t => t.ReleaseCount * t.Price).ToString(),
                DiscountTotalPrice = d.Sum(t => t.Discount * t.Price).ToString()
            });

            return(booksellerFee);
        }
        public IEnumerable <SubscriptionForFeedbackView> GetSubscriptions(string term, string booksellerId, string press)
        {
            //学期
            var yearTerm = new SchoolYearTerm(term);
            //书商ID
            var id = booksellerId.ConvertToGuid();

            //取订单
            var subscriptions = _subscriptionRepo.Find(t =>
                                                       t.SchoolYearTerm.Year == yearTerm.Year &&
                                                       t.SchoolYearTerm.Term == yearTerm.Term &&
                                                       t.Bookseller_Id == id &&
                                                       t.Textbook.Press == press
                                                       );

            //按教材名称排序
            subscriptions = subscriptions.OrderBy(t => t.Textbook.Name);
            var result = _adapter.Adapt <SubscriptionForFeedbackView>(subscriptions);

            return(result);
        }
Beispiel #21
0
        public IEnumerable <SubscriptionForFeedbackView> GetSubscriptionWithNotFeedback(string term, string loginName)
        {
            //取当前用户的书商ID
            //var id = new TbmisUserAppl(loginName).GetUser().SchoolId;
            var id = "60D6E947-EC9C-4A0A-AEA6-26673C046B3C".ConvertToGuid();
            //学期
            var yearTerm = new SchoolYearTerm(term);

            //var subscriptions = _subscriptionRepo.Find(t =>
            //    t.SchoolYearTerm.Year == yearTerm.Year && //当前学期
            //    t.SchoolYearTerm.Term == yearTerm.Term &&
            //    t.Bookseller_Id == id &&//书商
            //    t.SubscriptionState == FeedbackState.征订中
            //    ).Where(t =>
            //        !t.Feedback_Id.HasValue
            //        ); //未回告;

            var subscriptions = GetSubscriptionByState(term, id, FeedbackState.征订中).Where(t => !t.Feedback_Id.HasValue);

            return(_adapter.Adapt <SubscriptionForFeedbackView>(subscriptions));
        }
Beispiel #22
0
        /// <summary>
        /// 由系教研室ID与学期
        /// 取课程
        /// </summary>
        /// <param name="departmentId"></param>
        /// <param name="term"></param>
        /// <returns></returns>
        public IEnumerable <Course> GetCourseByDepartmentId(Guid departmentId, string term)
        {
            var currentTerm = new SchoolYearTerm(term);

            //处理学期,为空则取当前学期
            if (string.IsNullOrWhiteSpace(term))
            {
                var yearTerm = new TermAppl().GetCurrentTerm().YearTerm;
                currentTerm = new SchoolYearTerm(yearTerm);
            }

            //构造学年学期,与教务匹配
            var courses = _teachingTaskRepo.Find(t =>
                                                 t.SchoolYearTerm.Year == currentTerm.Year &&
                                                 t.SchoolYearTerm.Term == currentTerm.Term &&
                                                 t.Department_Id == departmentId
                                                 ).Select(t =>
                                                          t.Course
                                                          ).Distinct();

            return(courses);
        }
        /// <summary>
        /// 由系教研室ID与学期
        /// 取课程
        /// </summary>
        /// <param name="departmentId"></param>
        /// <param name="term"></param>
        /// <returns></returns>
        public IEnumerable<Course> GetCourseByDepartmentId(Guid departmentId, string term)
        {
            var currentTerm = new SchoolYearTerm(term);

            //处理学期,为空则取当前学期
            if (string.IsNullOrWhiteSpace(term))
            {
                var yearTerm = new TermAppl().GetCurrentTerm().YearTerm;
                currentTerm = new SchoolYearTerm(yearTerm);
            }

            //构造学年学期,与教务匹配
            var courses = _teachingTaskRepo.Find(t =>
                t.SchoolYearTerm.Year == currentTerm.Year &&
                t.SchoolYearTerm.Term == currentTerm.Term &&
                t.Department_Id == departmentId
                ).Select(t =>
                    t.Course
                    ).Distinct();

            return courses;
        }
        /// <summary>
        /// 根据学年学期,专业班级取班级教材费用
        /// </summary>
        /// <param name="term"></param>
        /// <param name="classId"></param>
        /// <returns></returns>
        public IEnumerable <TextbookFeeForProfessionalClassView> GetProfessionalClassFee(string term, string classId)
        {
            var classid  = classId.ConvertToGuid();
            var yearTerm = new SchoolYearTerm(term);
            var classFee = _studentRecordRepo.Find(t =>
                                                   t.SchoolYearTerm.Year == yearTerm.Year &&
                                                   t.SchoolYearTerm.Term == yearTerm.Term &&
                                                   t.Class_Id == classid
                                                   ).GroupBy(t => new
            {
                t.StudentNum,
                t.StudentName
            }).Select(d => new TextbookFeeForProfessionalClassView()
            {
                StudentNum         = d.Key.StudentNum,
                StudentName        = d.Key.StudentName,
                TotalCount         = d.Sum(t => t.ReleaseCount).ToString(),
                TotalRetailPrice   = d.Sum(t => t.Price).ToString(),
                DiscountTotalPrice = d.Sum(t => t.DiscountPrice).ToString()
            });

            return(classFee);
        }
        /// <summary>
        /// 取学年学期未征订的教师用书申报
        /// </summary>
        /// <param name="term"></param>
        /// <returns></returns>
        public List <TeacherDeclarationJiaoWu> GetNotSubscriptionTeacherDeclarationJiaoWu(string term)
        {
            //学年学期
            var yearTerm = new SchoolYearTerm(term);

            //是否归档等于4
            var query = _teaDeclJiaoWuRepo.Find(t =>
                                                t.SchoolYearTerm.Year == yearTerm.Year &&
                                                t.SchoolYearTerm.Term == yearTerm.Term &&
                                                t.Sfgd == "4" //0申报中,1学院审核中,2教材科审核中,3教务处审核中,4审核完成,A学院审核未通过,B教学建设科审核未通过,C教务处审核未通过
                                                );
            //已征订
            var decl = _teaDeclRepo.Find(t =>
                                         t.DeclarationJiaoWu.SchoolYearTerm.Year == yearTerm.Year &&
                                         t.DeclarationJiaoWu.SchoolYearTerm.Term == yearTerm.Term
                                         ).Select(t => t.ID);
            //未征订
            var result = from d in query
                         where !decl.Contains(d.ID)
                         select d;

            return(result.ToList());
        }
Beispiel #26
0
        /// <summary>
        ///  根据学年学期,班级查询班级实发教材
        /// </summary>
        /// <param name="term"></param>
        /// <param name="classId"></param>
        /// <returns></returns>
        public IEnumerable <ClassReleaseDetailView> GetClassReleaseDetail(string term, string classId)
        {
            var classid = classId.ConvertToGuid();

            var yearTerm = new SchoolYearTerm(term);

            var classRecord = _recordRepo.Find(t =>
                                               t.SchoolYearTerm.Year == yearTerm.Year &&
                                               t.SchoolYearTerm.Term == yearTerm.Term &&
                                               t.Class_Id == classid
                                               ).GroupBy(t => new
            {
                t.SchoolYearTerm,
                t.SchoolName,
                t.ClassName,
                t.BooksellerName,
                t.Textbook_Id,
                t.Name,
                t.Isbn,
                t.Press
            }
                                                         ).Select(d => new ClassReleaseDetailView()
            {
                Term           = d.Key.SchoolYearTerm.ToString(),
                SchoolName     = d.Key.SchoolName,
                BooksellerName = d.Key.BooksellerName,
                TextbookId     = d.Key.Textbook_Id.ToString(),
                TextbookName   = d.Key.Name,
                Isbn           = d.Key.Isbn,
                Press          = d.Key.Press,
                ReleaseCount   = d.Sum(p => p.ReleaseCount).ToString()
            }
                                                                  );

            return(classRecord);
        }
        /// <summary>
        /// 取学年学期未征订的学生用书申报
        /// </summary>
        /// <param name="term"></param>
        /// <returns></returns>
        public List <StudentDeclarationJiaoWu> GetNotSubscriptionStudentDeclarationJiaoWu(string term)
        {
            //学年学期
            var yearTerm = new SchoolYearTerm(term);
            var context1 = _stuDeclJiaoWuRepo.Context;
            var context2 = _stuDeclRepo.Context;
            //是否归档等于0
            var query = _stuDeclJiaoWuRepo.Find(t =>
                                                t.SchoolYearTerm.Year == yearTerm.Year &&
                                                t.SchoolYearTerm.Term == yearTerm.Term &&
                                                t.Sfgd == "0" //0确认征订教材,2确认不要教材,1确认取消教材
                                                );
            //已征订
            var decl = _stuDeclRepo.Find(t =>
                                         t.DeclarationJiaoWu.SchoolYearTerm.Year == yearTerm.Year &&
                                         t.DeclarationJiaoWu.SchoolYearTerm.Term == yearTerm.Term
                                         ).Select(d => d.ID);
            //未征订
            var result = from d in query
                         where !decl.Contains(d.ID)
                         select d;

            return(result.ToList());
        }
        public IEnumerable<SubscriptionForFeedbackView> GetSubscriptions(string term, string booksellerId, string press)
        {
            //学期
            var yearTerm = new SchoolYearTerm(term);
            //书商ID
            var id = booksellerId.ConvertToGuid();

            //取订单
            var subscriptions = _subscriptionRepo.Find(t =>
                t.SchoolYearTerm.Year == yearTerm.Year &&
                t.SchoolYearTerm.Term == yearTerm.Term &&
                t.Bookseller_Id == id &&
                t.Textbook.Press == press
                );
            //按教材名称排序
            subscriptions = subscriptions.OrderBy(t => t.Textbook.Name );
            var result = _adapter.Adapt<SubscriptionForFeedbackView>(subscriptions);
            return result;
        }
        public IEnumerable<string> GetPressByBookseller(string term, string booksellerId)
        {
            //学期
            var yearTerm = new SchoolYearTerm(term);
            //书商ID
            var id = booksellerId.ConvertToGuid();
            //取订单
            var subscriptions = _subscriptionRepo.Find(t =>
                t.SchoolYearTerm.Year == yearTerm.Year &&
                t.SchoolYearTerm.Term == yearTerm.Term &&
                t.Bookseller_Id == id &&
                t.SubscriptionState != FeedbackState.未征订
                );
            //取出版社
            var press = subscriptions.Select(t => t.Textbook.Press).Distinct().OrderBy(t => t).ToList();
            //检查
            if (press.Count == 0)
            {
                press = new List<string> { "没有订单" };
            }

            return press;
        }
 public void CompareTo_YearSmaller()
 {
     var right = new SchoolYearTerm("2013-2014-1");
     var left = new SchoolYearTerm("2012-2013-2");
     Assert.AreEqual(-1, left.CompareTo(right));
 }
        /// <summary>
        /// 根据学年学期,学生取学生个人教材费用
        /// </summary>
        /// <param name="term"></param>
        /// <param name="studentName"></param>
        /// <returns></returns>
        public IEnumerable<TextbookFeeForStudentView> GetStudentFee(string term, string studentNum)
        {
            var yearTerm = new SchoolYearTerm(term);

            var studentFee = _studentRecordRepo.Find(t =>
                t.SchoolYearTerm.Year == yearTerm.Year &&
                t.SchoolYearTerm.Term == yearTerm.Term &&
                t.StudentNum == studentNum
                ).GroupBy(t => new
                    {
                        t.Textbook_Id,
                        t.Name,
                        t.Isbn,
                        t.Author,
                        t.Press,
                        t.Price,
                        t.Discount
                    }).Select(d => new TextbookFeeForStudentView()
                    {

                        TextbookId = d.Key.Textbook_Id.ToString(),
                        TextbookName = d.Key.Name,
                        Isbn = d.Key.Isbn,
                        Author = d.Key.Author,
                        Press = d.Key.Press,
                        RetailPrice = d.Key.Price.ToString(),
                        Discount = d.Key.Discount.ToString(),
                        ReleaseCount = d.Sum(t => t.ReleaseCount).ToString(),
                        DiscountPrice = d.Sum(t => t.DiscountPrice).ToString()
                    });
            return studentFee;
        }
        /// <summary>
        /// 根据学年学期,书商,专业班级取书商班级教材费用
        /// </summary>
        /// <param name="term"></param>
        /// <param name="booksellerId"></param>
        /// <param name="classId"></param>
        /// <returns></returns>
        public IEnumerable<TextbookFeeForBooksellerProfessionClassView> GetBooksellerProfessionalClassFee(string term, string booksellerId, string classId)
        {
            var booksellerid = booksellerId.ConvertToGuid();
            var classid = classId.ConvertToGuid();
            var yearTerm = new SchoolYearTerm(term);
            //var fee = from p in _studentRecordRepo.GetAll()
            //          where
            //              p.Bookseller_Id == booksellerId.ConvertToGuid() && p.Class_Id == classId.ConvertToGuid() &&
            //              p.Term == term
            //          group p by p.Textbook_Id
            //              into s
            //              select new
            //                  {
            //                      name = s.Key,
            //                      count = s.Sum(a => a.ReleaseCount)
            //                  };

            var booksellerFee = _studentRecordRepo.Find(t =>
                                              t.SchoolYearTerm.Year == yearTerm.Year &&
                                              t.SchoolYearTerm.Term == yearTerm.Term &&
                                              t.Bookseller_Id == booksellerid &&
                                              t.Class_Id == classid
                ).GroupBy(t => new
                    {
                        t.Textbook_Id,
                        t.Name,
                        t.Isbn,
                        t.Author,
                        t.Press,
                        t.Price,
                        t.Discount
                    }).Select(d => new TextbookFeeForBooksellerProfessionClassView
                                            {
                                                TextbookId = d.Key.Textbook_Id.ToString(),
                                                TextbookName = d.Key.Name,
                                                Isbn = d.Key.Isbn,
                                                Author = d.Key.Author,
                                                Press = d.Key.Press,
                                                RetailPrice = d.Key.Price.ToString(),
                                                Discount = d.Key.Discount.ToString(),
                                                ReleaseCount = d.Sum(t => t.ReleaseCount).ToString(),
                                                TotalRetailPrice = d.Sum(t => t.ReleaseCount * t.Price).ToString(),
                                                DiscountTotalPrice = d.Sum(t => t.Discount * t.Price).ToString()
                                            });
            return booksellerFee;
        }
        public IEnumerable<SubscriptionForFeedbackView> GetSubscriptionWithNotFeedback(string term, string loginName)
        {
            //取当前用户的书商ID
            //var id = new TbmisUserAppl(loginName).GetUser().SchoolId;
            var id = "60D6E947-EC9C-4A0A-AEA6-26673C046B3C".ConvertToGuid();
            //学期
            var yearTerm = new SchoolYearTerm(term);

            //var subscriptions = _subscriptionRepo.Find(t =>
            //    t.SchoolYearTerm.Year == yearTerm.Year && //当前学期
            //    t.SchoolYearTerm.Term == yearTerm.Term &&
            //    t.Bookseller_Id == id &&//书商
            //    t.SubscriptionState == FeedbackState.征订中
            //    ).Where(t =>
            //        !t.Feedback_Id.HasValue
            //        ); //未回告;

            var subscriptions = GetSubscriptionByState(term, id, FeedbackState.征订中).Where(t => !t.Feedback_Id.HasValue);

            return _adapter.Adapt<SubscriptionForFeedbackView>(subscriptions);
        }
 public void Operator_Smaller()
 {
     var left = new SchoolYearTerm("2013-2014-1");
     var right = new SchoolYearTerm("2013-2014-2");
     Assert.IsFalse(left > right);
 }
        /// <summary>
        /// 取教师用书申报
        /// </summary>
        /// <param name="courId">课程ID</param>
        /// <param name="depaId">部门ID</param>
        /// <param name="term">学年学期</param>
        /// <returns></returns>
        private List<DeclarationJiaoWu> GetTeacherDeclarations(Guid courId, Guid depaId, string term)
        {
            var yearTerm = new SchoolYearTerm(term);

            var declarations = _teacherRepo.Find(t =>
                t.SchoolYearTerm.Year == yearTerm.Year &&
                t.SchoolYearTerm.Term == yearTerm.Term &&
                t.Course_Id == courId &&
                t.Department_Id == depaId
                );
            return declarations.Cast<DeclarationJiaoWu>().ToList();
        }
 public void ObjectCompareTo_TermSmaller()
 {
     var right = new SchoolYearTerm("2013-2014-2");
     var left = new SchoolYearTerm("2013-2014-1");
     Assert.AreEqual(-1, left.CompareTo(right as object));
 }
 public void ObjectCompareTo_RightNotInitialized()
 {
     var left = new SchoolYearTerm("2013-2014-2");
     SchoolYearTerm right = new SchoolYearTerm();
     left.CompareTo(right as object);
 }
 public void ObjectCompareTo_RightIsNull()
 {
     var left = new SchoolYearTerm("2013-2014-2");
     SchoolYearTerm right = null;
     left.CompareTo(right as object);
 }
 public void CompartTo_YearGreater()
 {
     var right = new SchoolYearTerm("2013-2014-1");
     var left = new SchoolYearTerm("2014-2015-2");
     Assert.AreEqual(1, left.CompareTo(right));
 }
        public System.Collections.Generic.IEnumerable <Subscription> GetSubscriptions(System.Guid booksellerId, SchoolYearTerm schoolYearTerm)
        {
            var ctx = this.EFContext.Context as TbMisDbContext;

            if (ctx != null)
            {
                var results = ctx.Subscriptions.Where(t =>
                                                      t.SchoolYearTerm.Year == schoolYearTerm.Year &&
                                                      t.SchoolYearTerm.Term == schoolYearTerm.Term &&
                                                      t.Bookseller_Id == booksellerId
                                                      );
                return(results.ToList());
            }
            return(new List <Subscription>());
        }
 public void Operator_NotEqual()
 {
     var left = new SchoolYearTerm("2013-2014-1");
     var right = new SchoolYearTerm("2013-2014-2");
     Assert.IsTrue(left != right);
 }
 /// <summary>
 /// 根据回告状态,取订单
 /// </summary>
 /// <param name="term"></param>
 /// <param name="booksellerId"></param>
 /// <param name="state"></param>
 /// <returns></returns>
 private IEnumerable<Subscription> GetSubscriptionByState(string term, Guid booksellerId, FeedbackState state)
 {
     var yearTerm = new SchoolYearTerm(term);
     return _subscriptionRepo.Find(t =>
         t.SchoolYearTerm.Year == yearTerm.Year &&
         t.SchoolYearTerm.Term == yearTerm.Term &&
         t.Bookseller_Id == booksellerId &&
             //t.Feedback.FeedbackState == state
         t.SubscriptionState == state
         );
 }
 public void Operator_Greater()
 {
     var left = new SchoolYearTerm("2013-2014-1");
     var right = new SchoolYearTerm("2013-2014-2");
     Assert.IsTrue(left < right);
 }
 /// <summary>
 /// 根据学年学期,专业班级取班级教材费用
 /// </summary>
 /// <param name="term"></param>
 /// <param name="classId"></param>
 /// <returns></returns>
 public IEnumerable<TextbookFeeForProfessionalClassView> GetProfessionalClassFee(string term, string classId)
 {
     var classid = classId.ConvertToGuid();
     var yearTerm = new SchoolYearTerm(term);
     var classFee = _studentRecordRepo.Find(t =>
         t.SchoolYearTerm.Year == yearTerm.Year &&
         t.SchoolYearTerm.Term == yearTerm.Term &&
         t.Class_Id == classid
        ).GroupBy(t => new
     {
         t.StudentNum,
         t.StudentName
     }).Select(d => new TextbookFeeForProfessionalClassView()
        {
            StudentNum = d.Key.StudentNum,
            StudentName = d.Key.StudentName,
            TotalCount = d.Sum(t => t.ReleaseCount).ToString(),
            TotalRetailPrice = d.Sum(t => t.Price).ToString(),
            DiscountTotalPrice = d.Sum(t => t.DiscountPrice).ToString()
        });
     return classFee;
 }
        /// <summary>
        /// 取学年学期未征订的教师用书申报
        /// </summary>
        /// <param name="term"></param>
        /// <returns></returns>
        public List<TeacherDeclarationJiaoWu> GetNotSubscriptionTeacherDeclarationJiaoWu(string term)
        {
            //学年学期
            var yearTerm = new SchoolYearTerm(term);

            //是否归档等于4
            var query = _teaDeclJiaoWuRepo.Find(t =>
                t.SchoolYearTerm.Year == yearTerm.Year &&
                t.SchoolYearTerm.Term == yearTerm.Term &&
                t.Sfgd == "4" //0申报中,1学院审核中,2教材科审核中,3教务处审核中,4审核完成,A学院审核未通过,B教学建设科审核未通过,C教务处审核未通过
                );
            //已征订
            var decl = _teaDeclRepo.Find(t =>
                t.DeclarationJiaoWu.SchoolYearTerm.Year == yearTerm.Year &&
                t.DeclarationJiaoWu.SchoolYearTerm.Term == yearTerm.Term
                ).Select(t => t.ID);
            //未征订
            var result = from d in query
                         where !decl.Contains(d.ID)
                         select d;
            return result.ToList();
        }
 /// <summary>
 /// 取学年学期未征订的学生用书申报
 /// </summary>
 /// <param name="term"></param>
 /// <returns></returns>
 public List<StudentDeclarationJiaoWu> GetNotSubscriptionStudentDeclarationJiaoWu(string term)
 {
     //学年学期
     var yearTerm = new SchoolYearTerm(term);
     var context1 = _stuDeclJiaoWuRepo.Context;
     var context2 = _stuDeclRepo.Context;
     //是否归档等于0
     var query = _stuDeclJiaoWuRepo.Find(t =>
         t.SchoolYearTerm.Year == yearTerm.Year &&
         t.SchoolYearTerm.Term == yearTerm.Term &&
         t.Sfgd == "0" //0确认征订教材,2确认不要教材,1确认取消教材
         );
     //已征订
     var decl = _stuDeclRepo.Find(t =>
         t.DeclarationJiaoWu.SchoolYearTerm.Year == yearTerm.Year &&
         t.DeclarationJiaoWu.SchoolYearTerm.Term == yearTerm.Term
         ).Select(d => d.ID);
     //未征订
     var result = from d in query
                  where !decl.Contains(d.ID)
                  select d;
     return result.ToList();
 }
        /// <summary>
        ///  根据学年学期,班级查询班级实发教材
        /// </summary>
        /// <param name="term"></param>
        /// <param name="classId"></param>
        /// <returns></returns>
        public IEnumerable<ClassReleaseDetailView> GetClassReleaseDetail(string term, string classId)
        {
            var classid = classId.ConvertToGuid();

            var yearTerm = new SchoolYearTerm(term);

            var classRecord = _recordRepo.Find(t =>
                t.SchoolYearTerm.Year == yearTerm.Year &&
                t.SchoolYearTerm.Term == yearTerm.Term &&
                t.Class_Id == classid
                ).GroupBy(t => new
                    {
                        t.SchoolYearTerm,
                        t.SchoolName,
                        t.ClassName,
                        t.BooksellerName,
                        t.Textbook_Id,
                        t.Name,
                        t.Isbn,
                        t.Press
                    }
                ).Select(d => new ClassReleaseDetailView()
                    {
                        Term = d.Key.SchoolYearTerm.ToString(),
                        SchoolName = d.Key.SchoolName,
                        BooksellerName = d.Key.BooksellerName,
                        TextbookId = d.Key.Textbook_Id.ToString(),
                        TextbookName = d.Key.Name,
                        Isbn = d.Key.Isbn,
                        Press = d.Key.Press,
                        ReleaseCount = d.Sum(p => p.ReleaseCount).ToString()
                    }
                );
            return classRecord;
        }
 public void CompareTo_Equal()
 {
     var left = new SchoolYearTerm("2013-2014-1");
     var right = new SchoolYearTerm("2013-2014-1");
     Assert.AreEqual(0, left.CompareTo(right));
 }
        /// <summary>
        /// 根据学年学期,学生查询学生实发教材
        /// </summary>
        /// <param name="term"></param>
        /// <param name="studentId"></param>
        /// <returns></returns>
        public IEnumerable<StudentReleaseDetailView> GetStudentReleaseDetail(string term, string studentId)
        {
            var studentid = studentId.ConvertToGuid();
            var yearTerm = new SchoolYearTerm(term);

            var studentRecord = _recordRepo.Find(t =>
                t.SchoolYearTerm.Year == yearTerm.Year &&
                t.SchoolYearTerm.Term == yearTerm.Term &&
                t.Student_Id == studentid
                ).Select(p => new StudentReleaseDetailView()
                {
                    TextbookId = p.Textbook_Id.ToString(),
                    TextbookName = p.Name,
                    RetailPrice = p.Price.ToString(),
                    DiscountPrice = p.DiscountPrice.ToString(),
                    Term = p.SchoolYearTerm.ToString(),
                    SchoolName = p.SchoolName,
                    ClassName = p.ClassName,
                    StudentNum = p.StudentNum,
                    ReleaseCount = p.ReleaseCount.ToString(),
                    Recipient = p.Recipient1Name,
                    Telephone = p.Recipient1Phone,
                    RecipientDate = p.ReleaseDate.ToString()
                });
            return _adapter.Adapt<StudentReleaseDetailView>(studentRecord);
        }