コード例 #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
ファイル: HomeController.cs プロジェクト: dKluev/Site
        public ActionResult TestResults()
        {
            UserTestService.LoadWith(x => x.User, x => x.Test);
            var testIds   = _.List(707, 706, 708, 705);
            var userTests = UserTestService.GetAll(x => testIds.Contains(x.TestId)).ToList();
            var data      = UserTestResultService.GetResultData(_.List(userTests));

            return(File(Encoding.GetEncoding(1251).GetBytes(CsvUtil.Render(data)),
                        "text/csv", "TestResults.csv"));
        }
コード例 #3
0
        public ActionResult DownloadResult(int groupInfoId)
        {
            List <int> userIds;
            var        groupInfo = GetGroupInfo(groupInfoId, out userIds);

            UserTestService.LoadWith(x => x.User, x => x.Test);
            var userTests = groupInfo.GroupTests.Select(gt => UserTestService.GetUserTests(gt)
                                                        .Where(x => userIds.Contains(x.UserId)).ToList()).ToList();
            var data = UserTestResultService.GetResultData(userTests);

            return(File(Encoding.GetEncoding(1251).GetBytes(CsvUtil.Render(data)),
                        "text/csv", "GroupResults-{0}.csv".FormatWith(groupInfo.Group_ID)));
        }
コード例 #4
0
        public ActionResult Result(int groupInfoId)
        {
            List <int> userIds;
            var        groupInfo = GetGroupInfo(groupInfoId, out userIds);

            UserTestService.LoadWith(x => x.User);
            var groupUserTestsList = groupInfo.GroupTests.Select(x => Create(x, userIds, UserTestService)).ToList();

            return(BaseViewWithModel(new GroupTestResultView(), new GroupTestResultVM {
                GroupInfo = groupInfo,
                GroupUserTestsList = groupUserTestsList
            }));
        }