public ResultDetail(ResultViewModel vmResult) { p_fLoading = true; Initialize(); if (vmResult == null) { MessageBox.Show("Invalid argument passed to detail screen!"); Close(); return; } p_vmDetail = new ResultDetailViewModel(vmResult); DataContext = p_vmDetail; }
public ActionResult Details(int id) { ResultDetail details = _raceRepository.GetResultDetails(UserContext.User.Id, UserContext.User.OrganizationId, id); if (details == null) { return(NotFoundResult()); } ResultDetailViewModel viewModel = Mapper.Map <ResultDetailViewModel>(details); viewModel.SeasonName = $"{GetSeasonTypeName(viewModel.SeasonTypeId)}-{viewModel.Year}"; viewModel.AverageDistance = viewModel.AverageDistance / 1000; return(View(Mvc.View.Result.Details, viewModel)); }
public ActionResult DownloadTitlePdfFile(int id) { ResultDetail details = _raceRepository.GetResultDetails(UserContext.User.Id, UserContext.User.OrganizationId, id); if (details == null) { return(NotFoundResult()); } ResultDetailViewModel model = Mapper.Map <ResultDetailViewModel>(details); model.AverageDistance = model.AverageDistance / 1000; model.SeasonName = $"{GetSeasonTypeName(model.SeasonTypeId)}-{model.Year}"; return(PdfView( $"{model.Name}_{StyleContext.GetTranslation(Dom.Translation.Result.Title)}", Mvc.View.Result.Title, Mvc.View.Shared.EmptyLayout, model )); }
public IActionResult ResultDetail(int?ResUsr) { if (ResUsr != null && ResUsr is int) { var res = dataContext.ResultReports.Include(x => x.FactTitleLog).FirstOrDefault(x => x.Id == ResUsr); var fact = dataContext.FactTitleLog.Include(x => x.StartedTestLog).ThenInclude(x => x.TitleUserAccess).Include(m => m.FactQuestCollection).ThenInclude(a => a.FactAnswersLog).Include(x => x.AnswerUserResultLog).FirstOrDefault(x => x == res.FactTitleLog); if (fact != null) { var uAnswer = fact.AnswerUserResultLog.Where(x => x.User == res.User).Count(); var fAnswer = fact.FactQuestCollection.Select(x => x.FactAnswersLog.Count()).Sum(); var r = fact.FactQuestCollection.Select(x => x.FactAnswersLog); if (uAnswer == fAnswer) { // коллекция правильных ответов ICollection <FactAnswersLog> answColl = new List <FactAnswersLog>(); foreach (var quest in fact.FactQuestCollection) { foreach (var answ in quest.FactAnswersLog) { answColl.Add(answ); } } List <FactQuestLog> trueAnsw = new List <FactQuestLog>(); foreach (var AnswerResult in fact.AnswerUserResultLog) { foreach (var factAnswerLog in answColl) { // сравним вопросы if (AnswerResult.factQuestLog == factAnswerLog.FactQuestLog) { var flag = true; var fansw = AnswerResult.factQuestLog.FactAnswersLog.ToList(); var uansw = AnswerResult.factQuestLog.AnswerUserResultLog.ToList(); // сравним кол-во ответов if (fansw.Count() == uansw.Count()) { //var fanswState = fansw.Select(x => x.State).ToList(); //var uanswState = uansw.Select(x => x.State).ToList(); foreach (var userFactAnwers in factAnswerLog.FactQuestLog.FactAnswersLog) { var answUser = AnswerResult.factQuestLog.AnswerUserResultLog.FirstOrDefault(x => x.factAnswersLog == userFactAnwers); if (userFactAnwers == answUser.factAnswersLog) { if (userFactAnwers.State != answUser.State) { flag = false; break; } } } if (flag) { if (!trueAnsw.Contains(AnswerResult.factQuestLog)) { trueAnsw.Add(AnswerResult.factQuestLog); } } var factAnswer = factAnswerLog.FactQuestLog.FactAnswersLog; var userAnswer = AnswerResult.factQuestLog.FactAnswersLog; } } } } // для обнуления процентов if (res.Percent == 0) { res.Percent = trueAnsw.Count() * 100 / fact.FactQuestCollection.Count; } dataContext.Update(res); dataContext.SaveChanges(); ResultDetailViewModel detail = new ResultDetailViewModel() { AnswerUserResultLog = fact.AnswerUserResultLog, factAnswersLog = answColl, AppUser = res.User, factTitle = fact, trueQuest = trueAnsw, Percent = res.Percent }; return(View("Detail", detail)); } } } return(View("Result")); }
public ResultDetailPage(ResultDetailViewModel viewModel) { InitializeComponent(); BindingContext = this.viewModel = viewModel; }