// GET: ClientTestHistories/Details/5 public async Task <ActionResult> Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } ClientTestHistory clientTestHistory = await db.ClientTestHistories.FindAsync(id); if (clientTestHistory == null) { return(HttpNotFound()); } clientTestHistory.TestThema = await db.TestThemas.FindAsync(clientTestHistory.TestThemaId); clientTestHistory.ClientTestQuestions = await db.ClientTestQuestions.Include(u => u.TestQuestion).Include(u => u.ClientSelectedAnswers).Where(u => u.ClientTestHistoryId == id).ToListAsync(); foreach (var ques in clientTestHistory.ClientTestQuestions) { foreach (var ans in ques.ClientSelectedAnswers) { ans.TestAnswer = await db.TestAnswers.FindAsync(ans.TestAnswerId); } } return(View(clientTestHistory)); }
public async Task <ActionResult> DeleteConfirmed(int id) { ClientTestHistory clientTestHistory = await db.ClientTestHistories.FindAsync(id); db.ClientTestHistories.Remove(clientTestHistory); await db.SaveChangesAsync(); return(RedirectToAction("Index")); }
public async Task <ActionResult> Edit([Bind(Include = "Id,Date,Point,TotalPoint,Comment,TestThemaId,ClientId")] ClientTestHistory clientTestHistory) { if (ModelState.IsValid) { db.Entry(clientTestHistory).State = EntityState.Modified; await db.SaveChangesAsync(); return(RedirectToAction("Index")); } ViewBag.ClientId = new SelectList(db.Clients, "Id", "Id", clientTestHistory.ClientId); ViewBag.TestThemaId = new SelectList(db.TestThemas, "Id", "Thema", clientTestHistory.TestThemaId); return(View(clientTestHistory)); }
// GET: CustomerArea/ClientTestHistories/Delete/5 public async Task <ActionResult> Delete(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } ClientTestHistory clientTestHistory = await db.ClientTestHistories.FindAsync(id); if (clientTestHistory == null) { return(HttpNotFound()); } return(View(clientTestHistory)); }
// GET: CustomerArea/ClientTestHistories/Edit/5 public async Task <ActionResult> Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } ClientTestHistory clientTestHistory = await db.ClientTestHistories.FindAsync(id); if (clientTestHistory == null) { return(HttpNotFound()); } ViewBag.ClientId = new SelectList(db.Clients, "Id", "Id", clientTestHistory.ClientId); ViewBag.TestThemaId = new SelectList(db.TestThemas, "Id", "Thema", clientTestHistory.TestThemaId); return(View(clientTestHistory)); }
// GET: CustomerArea/ClientTestHistories/Create public async Task <ActionResult> Create(int id) { double totalPoint = db.TestThemas.Find(id).TotalPoint; string clientId = db.Users.Where(u => u.UserName == User.Identity.Name).Single().Id; ClientTestHistory clientTestHistory = new ClientTestHistory { TestThemaId = id, ClientId = clientId, Date = DateTime.Now, Point = 0, TotalPoint = totalPoint }; db.ClientTestHistories.Add(clientTestHistory); await db.SaveChangesAsync(); ViewBag.Thema = db.TestThemas.Find(id).Thema; ViewBag.ClientTestHistoryId = clientTestHistory.Id; return(RedirectToAction("Create", routeValues: new { controller = "ClientTestQuestions", clientTestHistoryId = clientTestHistory.Id, isFirst = true })); }
public async Task <ActionResult> CreateFinish(int clientTestHistoryId, string comment) { ClientTestHistory clientTestHistory = db.ClientTestHistories.Find(clientTestHistoryId); clientTestHistory.Comment = comment; db.Entry(clientTestHistory).State = EntityState.Modified; await db.SaveChangesAsync(); // Баллын есептеу double totalPoint = clientTestHistory.TotalPoint; double point = 0; List <TestQuestion> testQuestions = await db.TestQuestions.Include(u => u.TestAnswers).Where(u => u.TestThemaId == clientTestHistory.TestThemaId).ToListAsync(); double totalWeight = testQuestions.Select(u => u.ShareWeight).Sum(); List <ClientTestQuestion> clientTestQuestions = await db.ClientTestQuestions.Include(u => u.ClientSelectedAnswers).Where(u => u.ClientTestHistoryId == clientTestHistoryId).ToListAsync(); foreach (var clQues in clientTestQuestions) { TestQuestion testQuestion = testQuestions.Where(u => u.Id == clQues.TestQuestionId).First(); double quesTotalPoint = testQuestion.ShareWeight / totalWeight * totalPoint; double curAnsTotalWeight = testQuestion.TestAnswers.Where(u => u.IsCurrect).Select(u => u.ShareWeight).Sum(); double curSelectTotalWeight = 0; foreach (var selectAns in clQues.ClientSelectedAnswers) { TestAnswer testAnswer = testQuestion.TestAnswers.Where(u => u.Id == selectAns.TestAnswerId).First(); if (testAnswer.IsCurrect) { curSelectTotalWeight += testAnswer.ShareWeight; } } point += curSelectTotalWeight / curAnsTotalWeight * quesTotalPoint; } clientTestHistory.Point = point; db.Entry(clientTestHistory).State = EntityState.Modified; await db.SaveChangesAsync(); return(RedirectToAction("Details", routeValues: new { id = clientTestHistoryId })); }