コード例 #1
0
        public ActionResult DownloadTestCertificate(decimal orderDetailId, bool second)
        {
            var orderDetail = OrderDetailsService.FirstOrDefault(x =>
                                                                 x.OrderDetailID == orderDetailId && BerthTypes.AllPaidForTestCerts.Contains(x.StudentInGroup.BerthType_TC));
            var userTestId = orderDetail.UserTestId.Value;

            UserTestService.LoadWith(x => x.Test, x => x.TestPassRule);
            var userTest = UserTestService.GetByPK(userTestId);

            TestCertificatePermission(orderDetail, userTest);
            var certificateFileSys = UserImages.GetTestCertFileSys(userTestId);

            try {
                System.IO.File.Delete(certificateFileSys);
            } catch (Exception e) {
                return(Content("Сертификат уже скачивается"));
            }
            var isEng = orderDetail.Params.Lang == TestCertLang.Eng;

            if (orderDetail.Params.Lang == TestCertLang.RusEng && second)
            {
                isEng = true;
            }
            using (var image = Image.FromFile(UserImages.GetTestCertFileSys(isEng ? 0 : 1))) {
                using (var result = ImageUtils.DrawTestString(image,
                                                              isEng ? User.EngFullName : User.FullName,
                                                              EntityUtils.GetTestCertName(isEng, userTest), userTest.RunDate.DefaultString(), userTest.Id))
                    result.Save(certificateFileSys);
            }
            return(File(certificateFileSys, "image/png", "certificate.png"));
        }
コード例 #2
0
ファイル: OrderEntityController.cs プロジェクト: dKluev/Site
        public ActionResult UserTestCert(int id, string name)
        {
            var userTest = UserTestService.GetByPK(id);
            var isEng    = true;

            var certName = EntityUtils.GetTestCertName(isEng, userTest);
            var user     = userTest.User;
            var userName = name ?? (isEng
                                ? user.EngFullName ?? Linguistics.Translite(user.LastName + " " + user.FirstName, true)
                                : user.FullName);

            return(View((string)"TestCert", (object)Tuple.New(userName, certName, userTest)));
        }
コード例 #3
0
ファイル: TestRunController.cs プロジェクト: dKluev/Site
        private UserTest GetUserTest(UserTestService userTestService, int userTestId)
        {
            var userTest = GetCurrentTests().FirstOrDefault(x => x.Id == userTestId);

            if (userTest == null)
            {
                userTest = userTestService.GetByPK(userTestId);
//				if (userTest.UserId != GetUserId(userTest.IsPrerequisite))
//					throw new Exception("userTest.UserId != User.UserID");
                GetCurrentTests().Add(userTest);
                //	Logger.Exception(new Exception("Session without userTest"), User);
            }
            return(userTest);
        }