public ActionResult GroupCert(decimal sigId) { var sig = GroupCertService.CreateOrExists(sigId); if (!sig.Item1 && sig.Item2 == null) { return(NotFound()); } var engCertErrorText = GroupCertService.CreateOrExistsEng(sigId, sig.Item2); var isEngVendorExists = GroupCertService.IsVendorCertExist(sigId, false); var isRuVendorExists = GroupCertService.IsVendorCertExist(sigId, true); var courseTC = StudentInGroupRepository.GetValues(sigId, x => x.Group.Course_TC); var nextCourseTCs = CourseService.GetNextCourseTCs(_.List(courseTC)).JoinWith(","); var course = CourseService.GetAllCourseNames().GetValueOrDefault(courseTC.Trim()); if (course == null) { return(NotFound()); } var isCertExists = GroupCertService.IsCertExist(sigId, true); return(BaseViewWithTitle("Документ об окончании обучения", new PagePart(H.b[Html.CourseLink(course)].ToString()), new PagePart(H.h3["В связи с техническими работами на сайте электронные варианты документов временно недоступны. Приносим извинения за доставленные неудобства"].ToString()), isEngVendorExists ? new PagePart(GetCertView(Images.GroupCertEng(sigId, true, false), sigId, true, true, false)) : null, isRuVendorExists ? new PagePart(GetCertView(Images.GroupCertEng(sigId, true, true), sigId, true, true, true)) : null, new PagePart(engCertErrorText ?? GetCertView(Images.GroupCertEng(sigId, false, false), sigId, true)), isCertExists ? new PagePart(GetCertView(Images.GroupCertEng(sigId, false, true), sigId, true, ru: true)) : null, new PagePart( Html.Action <GroupController>(c => c.ForCourseTCList(nextCourseTCs, false, GroupTitleType.GroupCert))) )); }
// public ActionResult DownloadCertVendor(decimal sigId) { // if (sigId <= UserImages.MaxCertSigId) { // return NotFound(); // } // var fileSys = UserImages.GetGroupCertVendorFileSys(sigId); // if (!System.IO.File.Exists(fileSys)) { // return NotFound(); // } // return new DownloadResult("Certificate.png", fileSys); // } public ActionResult DownloadCert(decimal sigId, bool eng, bool vendor, bool ru) { if (sigId <= UserImages.MaxCertSigId) { return(NotFound()); } var group = StudentInGroupRepository.GetValues(sigId, x => x.Group); var hd = true; if (eng) { var sig = GroupCertService.GetFullSig(sigId); GroupCertService.CreateOrExistsEng(sigId, sig, hd); } var fileSys = group.IsSem ? UserImages.GetWebinarCertFileSys(sigId) :(eng ? UserImages.GetGroupCertEngFileSys(sigId, hd, vendor, ru) : UserImages.GetGroupCertFileSys(sigId)); if (!System.IO.File.Exists(fileSys)) { return(NotFound()); } return(new DownloadResult("Certificate.png", fileSys)); }
public StudentInGroup GetFullSig(decimal sigId) { StudentInGroupRepository.LoadWith(b => b.Load(x => x.Group, x => x.Student).And <Group>(x => x.Course, x => x.Teacher)); var sig = StudentInGroupRepository.GetByPK(sigId); return(sig); }
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()); }
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)); }