Exemple #1
0
        /// <summary>
        /// 校验用户的参团资格
        /// </summary>
        /// <param name="GroupId"></param>
        /// <param name="UserId"></param>
        /// <param name="ProductGroupId"></param>
        /// <returns></returns>
        public async Task <OperationResult <CheckResultModel> > CheckGroupInfoByUserIdAsync(Guid GroupId, Guid UserId,
                                                                                            string ProductGroupId, string pid = default(string))
        {
            if ((GroupId == Guid.Empty || UserId == Guid.Empty) && string.IsNullOrWhiteSpace(ProductGroupId))
            {
                return(OperationResult.FromError <CheckResultModel>(ErrorCode.ParameterError, "参数不正确"));
            }

            var result = new CheckResultModel();

            if (!string.IsNullOrWhiteSpace(pid) && !(await GroupBuyingManager.CheckProductOnSale(pid)))
            {
                result.Code = 12;
                result.Info = "产品库已下架";
                return(OperationResult.FromResult(result));
            }
            if (GroupId == Guid.Empty && !string.IsNullOrWhiteSpace(ProductGroupId))
            {
                result = await GroupBuyingManager.CheckProductGroupInfoById(ProductGroupId, UserId, pid);
            }
            else
            {
                result = await GroupBuyingManager.CheckGroupInfoByUserId(GroupId, UserId, ProductGroupId, pid);
            }

            return(OperationResult.FromResult(result));
        }
Exemple #2
0
        public ActionResult Check()
        {
            int   index = int.Parse(Request.Form["index"]);
            Quizz quizz = LoadQuizzes().SingleOrDefault(q => q.Index == index);

            if (quizz == null)
            {
                return(HttpNotFound());
            }

            int correct = 0, incorrect = 0;

            for (int i = 0; i < quizz.Questions.Length; i++)
            {
                //Question q = quizz.Questions[i];
                //string userAnswerText = Request.Form["q" + (i + 1)];
                //Answer answer = q.Answers.Single(a => a.Text == userAnswerText);
                //if (answer.IsCorrect)
                //    correct++;
                //else
                //    incorrect++;

                //string userAnswerText = Request.Form["q" + (i + 1)];
                //if (userAnswerText == "yes")
                //    correct++;
                //else
                //    incorrect++;

                int    answerIndex = int.Parse(Request.Form["q" + quizz.Questions[i].Index]);
                Answer answer      = quizz.Questions[i].Answers.Single(a => a.Index == answerIndex);
                if (answer.IsCorrect)
                {
                    correct++;
                }
                else
                {
                    incorrect++;
                }
            }
            var model = new CheckResultModel {
                Correct = correct, Incorrect = incorrect
            };

            return(View(model));
        }
Exemple #3
0
        public ActionResult Check(FormCollection collection)
        {
            try
            {
                CheckManager checkManager = new CheckManager(User.Identity.Name);

                List <string> filesToCheck = new List <string>();
                if (String.IsNullOrEmpty(collection["filesToCheck"]))
                {
                    Infrastructure.Logger.Error("Null to check files");
                    return(View());
                }
                filesToCheck.AddRange(((string)collection["filesToCheck"]).Split(','));

                List <string> reqFiles = new List <string>();
                if (String.IsNullOrEmpty(collection["reqFiles"]))
                {
                    Infrastructure.Logger.Error("Null req files");
                    return(View());
                }
                reqFiles.AddRange(((string)collection["reqFiles"]).Split(','));

                reqFiles = reqFiles
                           .Select(x => checkManager.GetFilePath(x))
                           .ToList();

                filesToCheck = filesToCheck
                               .Select(x => checkManager.GetFilePath(x))
                               .ToList();

                Infrastructure.Logger.Info("to check:" + String.Join(",", filesToCheck));

                //!!! check collection values and add them

                if (ModelState.IsValid)
                {
                    if (Request.Files.Count > 0)
                    {
                        foreach (HttpPostedFile file in Request.Files)
                        {
                            // add this file to current user
                            string fileName =
                                Path.Combine(Infrastructure.GetUsersDirectory(User.Identity.Name), file.FileName);

                            //!!!check extension
                            file.SaveAs(fileName);
                        }
                    }

                    List <ReqFile>  rqfiles = reqFiles.Select(f => new ReqFile(f)).ToList();
                    DocumentMatcher dm      = new DocumentMatcher(rqfiles);

                    List <CheckResult> results = new List <CheckResult>();
                    foreach (string fileName in filesToCheck)
                    {
                        FileToCheck fcheck = new FileToCheck(fileName);
                        results.AddRange(dm.Check(fcheck));
                        Infrastructure.Logger.Info("After {0}: count is {1}", fileName, results.Count);
                    }

                    Infrastructure.Logger.Info("Message: " + results[0].ToString());

                    var model = new CheckResultModel()
                    {
                        Message  = results[0].ToString().Split('\n').ToList(),
                        ReqFile  = Path.GetFileName(reqFiles[0]),
                        DocxFile = Path.GetFileName(filesToCheck[0])
                    };

                    return(View("CheckResultView", model));
                }
            }
            catch (Exception e)
            {
                Infrastructure.Logger.Error(e.ToString());
                return(View());
            }
            return(View());
        }