public IActionResult Edit(MarkViewModel model) { var response = ResponseModelFactory.CreateInstance; using (_dbContext) { var entity = _dbContext.Mark.FirstOrDefault(x => x.MarkUuid == model.MarkUuid); if (entity == null) { response.SetFailed("不存在"); return(Ok(response)); } if (_dbContext.Mark.Count(x => x.MarkName == model.MarkName && x.MarkUuid != model.MarkUuid) > 0) { response.SetFailed("名称已存在"); return(Ok(response)); } entity.MarkName = model.MarkName; int res = _dbContext.SaveChanges(); if (res > 0) { ToLog.AddLog("编辑", "成功:编辑:标识管理列表数据", _dbContext); } response = ResponseModelFactory.CreateInstance; return(Ok(response)); } }
public ActionResult NewMarks(int specId) { MarkViewModel[] mv; using (UserContext db = new UserContext()) { SpecialtyModel sp = db.Specialties.Find(specId); if (sp == null) { return(null); } mv = sp.MarkModels.Select(t => new MarkViewModel(t)).ToArray(); if (!mv.Any()) { mv = new MarkViewModel[] { new MarkViewModel { HoursNumber = 0, Naming = "Итоговая аттестация", SpecialtyId = specId }, } } ; } return(PartialView(mv)); }
public async Task <IActionResult> AddMark(MarkViewModel model) { if (ModelState.IsValid) { try { await _sizesService.AddMark(model.Entity); return(RedirectToReturnUrlOrHome(model.ReturnUrl)); } catch (Exception ex) { ViewBag.Sizes = await _sizes.GetAll(); ModelState.AddModelError("Db:", ex.Message); return(View(model)); } } else { ViewBag.Sizes = await _sizes.GetAll(); return(View(model)); } }
public async Task <IActionResult> AddMark(int id, string returnUrl) { var clothes = await _clothesStore.GetById(id); if (clothes == null) { return(NotFound()); } var sizes = await _sizes.GetAll(); if (sizes.Count() == 0) { return(RedirectToAction("Error", "Home", new { message = "Немає розмірів!" })); } ViewBag.Sizes = sizes; var model = new MarkViewModel() { Entity = new ClothesMark { ClothesId = id, CountInStock = 5 }, ClothesName = clothes.Name, ReturnUrl = returnUrl }; return(View(model)); }
public IActionResult Create(MarkViewModel model) { var response = ResponseModelFactory.CreateInstance; using (_dbContext) { if (_dbContext.Mark.Count(x => x.MarkName == model.MarkName) > 0) { response.SetFailed("标识名称已存在"); return(Ok(response)); } var entity = _mapper.Map <MarkViewModel, Mark>(model); entity.MarkUuid = Guid.NewGuid(); entity.IsDelete = 0; _dbContext.Mark.Add(entity); int res = _dbContext.SaveChanges(); if (res > 0) { ToLog.AddLog("添加", "成功:添加:标识管理列表数据", _dbContext); } response.SetSuccess(); return(Ok(response)); } }
public static bool GiveUserMark(IAccommodationContext context, MarkViewModel model) { try { User user = context.Users.FirstOrDefault(u => u.Username == model.Username); HistoricalOffer offer = context.HistoricalOffers.FirstOrDefault(o => o.Id == model.ReservedOfferId); int mark = (int)model.mark; if (user.AverageMark == null || user.MarkCount == null) { user.AverageMark = 0; user.MarkCount = 0; } user.AverageMark = (user.AverageMark * user.MarkCount + mark) / (user.MarkCount + 1); user.MarkCount += 1; offer.IsMarked = true; context.SaveChanges(); return(true); } catch (Exception ex) { return(false); } }
public IActionResult EditMark([FromBody] EditMarkViewModel model) { MarkBll mark = currentTeacherService.EditMarkByCurrentTeacher(model.studentId, model.subjectId, model.term, model.grade); MarkViewModel markVM = mapper.Map <MarkViewModel>(mark); return(new OkObjectResult(markVM)); }
public async Task <ActionResult <Song> > PostMark(MarkViewModel model) { var user = await _userManager.GetUserAsync(HttpContext.User); var result = await _songService.PostMark(model.SongId, model.Value, user); return(result.Succeeded ? (ActionResult)Ok() : BadRequest(result.Error)); }
public IActionResult UpdateMark(MarkViewModel model) { WebRequest request = WebRequest.Create(_configuration.GetValue <string>("BackendUrl") + "api/mark/" + model.IdMark + "/" + model.Name + "/" + model.IsActive); request.Method = "Put"; request.GetResponse(); return(RedirectToAction("Index")); }
public async Task <ActionResult> MarkUser(MarkViewModel model) { if (OfferAccessor.GiveUserMark(Context, model)) { return(RedirectToAction("Done", "UserMarks")); } else { return(RedirectToAction("Error", "UserMarks")); } }
public async Task <IActionResult> Post([FromBody] MarkViewModel viewModel) { if (!ModelState.IsValid || viewModel.MarkDate > DateTime.Now) { return(BadRequest(ModelState)); } viewModel.Id = await _markService.CreateAsync(viewModel.ToDto(), Bll.Extensions.MarkExtensions.ToEntity); return(CreatedAtAction(nameof(Get), viewModel)); }
public ActionResult NewMark() { MarkViewModel[] mv = new MarkViewModel[] { new MarkViewModel { HoursNumber = 0, Naming = "Итоговая аттестация" }, }; return(PartialView("NewMarks", mv)); }
public async Task <IActionResult> Put(int id, [FromBody] MarkViewModel viewModel) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } viewModel.Id = id; await _markService.UpdateAsync(viewModel.ToDto(), Bll.Extensions.MarkExtensions.ToEntity); return(NoContent()); }
public IActionResult AddMark(MarkViewModel model, int id) { if (ModelState.IsValid) { _repository.CreateMark(new Mark { TaskId = id, MarkValue = model.Mark, StudentId = model.StudentId }); return(RedirectToAction("Courses")); } return(View()); }
public async Task <IActionResult> Mark() { var cuser = await GetCurrentUserAsync(); int Done = 0, All = 1; var role = await _context.UserType.SingleOrDefaultAsync(t => t.UserTypeId == cuser.UserTypeId); try { All = _context .Users .Include(t => t.UserType) .Where(t => t.UserType.AvaliableToMark == true && t.Id != cuser.Id) .Count(); Done = _context .ProjectRecord .Where(t => t.WorkUserId == cuser.Id) .GroupBy(t => t.DoneUserId) .Count(); } catch { } if (All == 0) { Done = 1; All = 1; } var Model = new MarkViewModel { PR = _context.ProjectRecord.ToList(), P = _context.Project.ToList(), MeId = cuser.Id, Users = _context .Users .Include(t => t.UserType) .Where(t => t.UserType.AvaliableToMark == true) .ToList(), Role = role.UserTypeName, Arg = role.Arg, Progress = Convert.ToInt32(((double)Done / All) * 100), Left = All - Done }; return(View(Model)); }
public static MarkDto ToDto(this MarkViewModel viewModel) { if (viewModel == null) { throw new ArgumentNullException(nameof(MarkViewModel)); } return(new MarkDto { Id = viewModel.Id, LessonId = viewModel.LessonId, Mark = viewModel.Mark, MarkDate = viewModel.MarkDate, StudentId = viewModel.StudentId, Lesson = viewModel.Lesson?.ToDto() }); }
public async Task <PartialViewResult> DiarySearchResult(string firstDate, string secondDate) { string currentUserName = User.Identity.Name; AppUser currentUser = await UserManager.FindByNameAsync(currentUserName); DateTime d1 = DateTime.Parse(firstDate, CultureInfo.CreateSpecificCulture("en-US")); DateTime d2 = DateTime.Parse(secondDate, CultureInfo.CreateSpecificCulture("en-US")); if (d1 > d2) { return(PartialView("ErrorDateInput")); } else { List <Mark> marks; DiaryViewModel diary; using (var appContext = new TimetableEntities()) { diary = new DiaryViewModel(); marks = appContext.Mark.Where(a => a.date >= d1 && a.date <= d2).Where(a => a.student_id == currentUser.Id).ToList(); if (marks.Count == 0) { return(PartialView("EmptyDate")); } else { foreach (var tmp in marks) { MarkViewModel mark = new MarkViewModel(); mark.mark = tmp; Schedule schedule = appContext.Schedule.FirstOrDefault(a => a.id == mark.scheduleId); mark.teacher = await UserManager.FindByIdAsync(schedule.teacher_id); mark.date = tmp.date; Subject sbj = appContext.Subject.FirstOrDefault(a => a.id == schedule.subject_id); mark.subject = sbj.name; diary.diary.Add(mark); } return(PartialView(diary)); } } } }
public ActionResult ClassJournal(int scheduleId, string date) { List <MarkViewModel> classJournal = new List <MarkViewModel>(); using (var appContext = new TimetableEntities()) { DateTime d = DateTime.Parse(date, CultureInfo.CreateSpecificCulture("en-US")); Schedule schedule = appContext.Schedule.FirstOrDefault(a => a.id == scheduleId); List <AppUser> students = UserManager.Users.Where(a => a.classId == schedule.class_id).ToList(); foreach (var a in students) { MarkViewModel studentMark = new MarkViewModel(); studentMark.student = a; studentMark.mark = appContext.Mark.Where(tmp => tmp.date == d).Where(tmp => tmp.student_id == a.Id).FirstOrDefault(tmp => tmp.schedule_id == scheduleId); studentMark.date = d; studentMark.scheduleId = scheduleId; classJournal.Add(studentMark); } } return(View(classJournal)); }
public IActionResult EditMark(int id) { Mark mark; WebRequest request = WebRequest.Create(_configuration.GetValue <string>("BackendUrl") + "api/mark/info/" + id); request.Method = "Get"; using (var s = request.GetResponse().GetResponseStream()) { using (var sr = new StreamReader(s)) { var contributorsAsJson = sr.ReadToEnd(); mark = JsonConvert.DeserializeObject <Mark>(contributorsAsJson); } } MarkViewModel model = new MarkViewModel { IdMark = id, Name = mark.Name, IsActive = mark.IsActive }; return(View(model)); }
public async static Task <bool> GiveUserMarkAsync(IAccommodationContext context, MarkViewModel model) { return(await Task.Run(() => GiveUserMark(context, model))); }
public NewGradeWindow(SchoolYearViewModel schoolYearViewModel, MarkViewModel markViewModel) : base() { this.DataContext = new NewGradeWindowViewModel(schoolYearViewModel, markViewModel); InitializeComponent(); }
public void UpdateMark(MarkViewModel markViewModel) { var correctMark = Mapper.Map <MarkViewModel, MarkDTO>(markViewModel); _markService.UpdateItem(correctMark); }
public void AddMark(MarkViewModel markViewModel) { var newMark = Mapper.Map <MarkViewModel, MarkDTO>(markViewModel); _markService.AddItem(newMark); }
public ActionResult Score(MarkViewModel mark) { return(View(mark)); }
public void DeleteMark(MarkViewModel markViewModel) { var deletedMark = Mapper.Map <MarkViewModel, MarkDTO>(markViewModel); _markService.DeleteItem(deletedMark); }
public async Task <ActionResult> Create(SheetViewModel model) { if (ModelState.IsValid) { var sheet = new Sheet(); sheet.AnswerOn = DateTime.Now; sheet.Student = (GetCurrentUser()) as Student; sheet.ExamId = model.Id; double score = 0; int rightTqCount = 0; int rightSqCount = 0; int rightmqCount = 0; foreach (var questioninfo in model.TrueOrFalseQuestions) { sheet.Answers.Add(new Answer { AnswerType = QuestionType.判断题, QuestionId = questioninfo.Id, Content = questioninfo.IsCorrect.ToString() }); var rightAnswer = ((await DB.Questions.FirstOrDefaultAsync(q => q.Id == questioninfo.Id)) as TrueOrFalseQuestion).IsCorrect; if (questioninfo.IsCorrect == rightAnswer) { rightTqCount++; } } foreach (var questioninfo in model.SingleQuestions) { sheet.Answers.Add(new Answer { AnswerType = QuestionType.单选题, QuestionId = questioninfo.Id, Content = questioninfo.CorrectAnswer.ToString(), }); var rightAnswer = (int)((await DB.Questions.FirstOrDefaultAsync(q => q.Id == questioninfo.Id)) as ChoiceQuestion).Options.Where(o => o.IsCorrect == true).FirstOrDefault().OptionId; if (questioninfo.CorrectAnswer == rightAnswer) { rightSqCount++; } } foreach (var questioninfo in model.MultipleQuestions) { sheet.Answers.Add(new Answer { AnswerType = QuestionType.多选题, QuestionId = questioninfo.Id, Content = string.Join(",", questioninfo.Options.Where(o => o.IsCorrect == true).Select(o => o.OptionId)) }); var rightOptions = (await DB.Questions.FirstOrDefaultAsync(q => q.Id == questioninfo.Id) as ChoiceQuestion).Options.Where(o => o.IsCorrect == true).OrderBy(o => o.OptionId).ToList(); var selectedOptions = questioninfo.Options.Where(o => o.IsCorrect == true).OrderBy(o => o.OptionId).ToList(); bool answerRight = true; for (int i = 0; i < selectedOptions.Count; i++) { if (selectedOptions[i].OptionId != rightOptions[i].OptionId) { answerRight = false; } } if (answerRight) { rightmqCount++; } } score = rightTqCount * tqPoint + rightSqCount * sqPoint + rightmqCount * mqPoint; sheet.Score = score; DB.Sheets.Add(sheet); await DB.SaveChangesAsync(); var rightQuestionsCount = rightTqCount + rightSqCount + rightmqCount; var totalQuestionsCount = model.MultipleQuestions.Count + model.SingleQuestions.Count + model.MultipleQuestions.Count; double grade = rightQuestionsCount / (double)totalQuestionsCount; string comment = ""; if (grade < 0.6) { comment = "答来答去的答案都图样!爱慕安规!"; } else if (grade >= 0.6 && grade < 0.8) { comment = "还要继续学习一个!"; } else { comment = "跟美国的华莱士一样不知道高到哪里去了!"; } var mark = new MarkViewModel(); mark.Comment = comment; mark.Grade = ((int)(grade * 100)).ToString(); return(RedirectToAction("Score", "Sheets", mark)); } return(View(model)); }