예제 #1
0
 bool CheckCannotAddMessageToClub(MessageSection section)
 {
     return(section != null && section.IsGraduateClubOrChildren &&
            !User.InRole(Role.ForumAdmin | Role.Trainer | Role.Employee | Role.ContentManager) &&
            !StudentInGroupRepository.GetAll(x =>
                                             x.Student_ID == User.Student_ID && !CourseTC.SemSrt.Contains(x.Group.Course_TC) &&
                                             BerthTypes.AllPaidForCourses.Contains(x.BerthType_TC)).Any());
 }
예제 #2
0
        public ActionResult GroupCerts()
        {
            StudentInGroupRepository.LoadWith(b => b.Load(x => x.Group).And <Group>(x => x.Course));
            var sigIds = CertificateService.GetAll(x => x.StudentInGroup.Student_ID ==
                                                   User.Student_ID.GetValueOrDefault()).Select(x => x.StudentInGroup_ID).ToList();
            var sigs = StudentInGroupRepository
                       .GetAll(sig =>
                               sig.Student_ID == User.Student_ID &&
                               (
                                   sig.CertGiven ||
                                   FinalExamMarks.MOCert.Contains(sig.FinalExamMark_TC) ||
                                   sigIds.Contains(sig.StudentInGroup_ID)) &&
                               (sig.Group.Course_TC == CourseTC.Itil ||
                                !AuthorizationTypes.WithoutMOCert.ToList().Contains(sig.Group.Course.AuthorizationType_TC ?? "")) &&
                               BerthTypes.AllForCert.Contains(sig.BerthType_TC) &&
                               sig.Group.DateEnd <= DateTime.Today
                               )
                       .OrderByDescending(x => x.Group.DateEnd)
                       .ToList();
//      var types = CertTypes.ForCert.ToList();
//			var certs = CertificateService.GetAll(x => sigIds.Contains(x.StudentInGroup_ID)
//				&& types.Contains(x.CertType_TC)).OrderByDescending(x => x.DateEnd).ToList();

            var model = new CertificateListVM()
            {
                List = sigs
            };
            var enterEngName = string.IsNullOrWhiteSpace(User.EngFullName)
                                ? H.Div("attention2")[
                H.p["Для отображения  сертификата международного образца необходимо  зайти в  раздел {0} и  заполнить  поле  «Полное имя на английском языке». После этого в разделе «Мои сертификаты» появится Ваш сертификат  международного образца.".FormatWith(Url.Profile().EditProfile("«Редактировать профиль»"))]]
                                : null;
            var view = InlineBaseView.New(model, x =>
                                          x.Model.List.Any()
                                        ? (object)H.div[enterEngName,
                                                        H.table[
                                                            H.Head(
                                                                "Дата окончания обучения",
                                                                "Название курса",
                                                                "Сертификат"
                                                                ),
                                                            x.Model.List.Select(c => H.Row(
                                                                                    c.Group.DateEnd.DefaultString(),
                                                                                    c.Group.Course.NameOfficial ?? c.Group.Course.Name,
                                                                                    x.Url.Graduate().GroupCert(c.StudentInGroup_ID, "Открыть")
                                                                                    ))].Class("table")]
                                        : H.b["Вы еще не закончили ни один курс"]);

            return(BaseViewWithModel(view, model));
        }