/// <summary> /// Adds Grade /// </summary> /// <param name="viewModel">Injected <see cref="AddGrade"/></param> /// <returns>Instance of <see cref="Task{ViewGrade}"/></returns> public async Task <ViewGrade> AddGrade(AddGrade @viewModel) { await CheckName(@viewModel); Grade @Grade = new() { Name = @viewModel.Name, ImageUri = @viewModel.ImageUri }; try { await Context.Grade.AddAsync(@Grade); await Context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { await CheckName(@viewModel); } // Log string @logData = @Grade.GetType().Name + " with Id " + @Grade.Id + " was added at " + DateTime.Now.ToShortTimeString(); Logger.WriteInsertItemLog(@logData); return(Mapper.Map <ViewGrade>(@Grade)); }
/// <summary> /// Checks Name /// </summary> /// <param name="viewModel">Injected <see cref="AddGrade"/></param> /// <returns>Instance of <see cref="Task{Grade}"/></returns> public async Task <Grade> CheckName(AddGrade @viewModel) { Grade @Grade = await Context.Grade .TagWith("CheckName") .AsNoTracking() .FirstOrDefaultAsync(x => x.Name == @viewModel.Name); if (@Grade != null) { // Log string @logData = @Grade.GetType().Name + " with Name " + @Grade.Name + " was already found at " + DateTime.Now.ToShortTimeString(); Logger.WriteGetItemFoundLog(@logData); throw new Exception(@Grade.GetType().Name + " with Name " + @viewModel.Name + " already exists"); } return(@Grade); }
public ActionResult AddGrade(int SHId, int studentId) { AddGrade item = new AddGrade(); item.StudentID = studentId; item.SHomeID = SHId; return(View(item)); }
public ActionResult AddGrade(AddGrade item) { int grade = item.Grade; int sHid = item.SHomeID; int studentId = item.StudentID; if ((grade >= 1) && (grade <= 10)) { StudentHomeworkServices service = new StudentHomeworkServices(); service.AddGrade(sHid, grade, studentId); return(RedirectToAction("MyStudents", "Teacher")); } else { ModelState.AddModelError("", "Unable to add a grade.The grade must bee between 1 and 10"); } return(View()); }