/// <summary> /// to model , if previous exist in db , use it /// </summary> /// <param name="vm"></param> /// <param name="context"></param> /// <returns></returns> public static GradeExam ToModel(this ExamModifyViewModel vm, ApplicationDbContext context) { if (vm == null) { return(null); } var model = vm.Data; if (model == null) { return(null); } var m = context.GradeExams.Where(e => e.Name == model.Name).FirstOrDefault(); if (m == null) { m = new GradeExam(); } m.Name = model.Name; m.IsRemoved = model.IsRemoved; m.HandleBy = context.AppUsersDb.Where(u => u.Id == model.HoldBy).FirstOrDefault(); m.HoldBy = context.CompaniesDb.Where(c => c.Code == model.HoldBy).FirstOrDefault(); m.Create = model.Create ?? DateTime.MinValue; m.CreateBy = context.AppUsersDb.Where(u => u.Id == model.CreateBy).FirstOrDefault(); m.Description = model.Description; m.ExecuteTime = model.ExecuteTime ?? DateTime.MinValue; return(m); }
public static ExamDTO ToDTO(this GradeExam model) => new ExamDTO() { Create = model.Create, CreateBy = model.CreateById, Description = model.Description, ExecuteTime = model.ExecuteTime, HandleBy = model.HandleBy?.Id, HoldBy = model.HoldBy?.Code, IsRemoved = model.IsRemoved, Name = model.Name };
public IActionResult Grade(GradeExam gradeExam) { var examId = RouteData.Values["id"]; var GradeExam = _context.StudExam.Where(x => x.StudExamId == examId.ToString()).FirstOrDefault(); var StudentGrade = Request.Form["grade1"].ToString(); GradeExam.Grade = decimal.Parse(StudentGrade); _context.SaveChanges(); return(RedirectToAction("Details", new { id = GradeExam.EId })); }
private GradeExam MapGradeExamModel(GradeExam model) { var createById = model.CreateById; if (createById != null) { model.CreateBy = _context.AppUsersDb.Where(u => u.Id == createById).FirstOrDefault(); } var holdById = model.HoldBy?.Code; if (holdById != null) { model.HoldBy = _context.CompaniesDb.Where(u => u.Code == holdById).FirstOrDefault(); } var handleById = model.HandleBy?.Id; if (handleById != null) { model.HandleBy = _context.AppUsersDb.Where(u => u.Id == handleById).FirstOrDefault(); } return(model); }
public GradeExam ModifyExam(GradeExam model) { if (model == null) { throw new ActionStatusMessageException(model.NotExist()); } var db = _context.GradeExams; if (model.HoldBy == null) { throw new ActionStatusMessageException(ActionStatusMessage.Grade.Exam.UserNotSet); } var prev = db.Where(r => r.Name == model.Name).FirstOrDefault(); // use name as unique return(model.Modify(db, prev, (m, p) => { var newM = MapGradeExamModel(m); newM.CreateBy = p?.CreateBy ?? m.CreateBy; newM.Create = p?.Create ?? DateTime.Now; return newM; }, _context)); }
public static ApiResult NotExist(this GradeExam model) => ActionStatusMessage.Grade.Exam.NotExist;