public async Task <IHttpActionResult> GetExamAssessment(string email, int examSettingsId) { int userId = -1; foreach (User tmpUsr in await db.Users.ToArrayAsync()) { if (tmpUsr.email == email) { userId = tmpUsr.UserPK; } break; } Models.ExamAssessment mdlExamAssessment = null; foreach (ExamAssessment tmpExam in await db.ExamAssessments.ToArrayAsync()) { if (tmpExam.UserID == userId && tmpExam.SettingsID == examSettingsId) { mdlExamAssessment = AutoMapper.Mapper.Map <Models.ExamAssessment>(tmpExam); } } if (mdlExamAssessment == null) { return(NotFound()); } return(Ok(mdlExamAssessment)); }
public async Task <IHttpActionResult> PostExamAssessment(Models.ExamAssessment mdlExam) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } ExamAssessment examAssessment = AutoMapper.Mapper.Map <ExamAssessment>(mdlExam); examAssessment = db.ExamAssessments.Add(examAssessment); await db.SaveChangesAsync(); return(CreatedAtRoute("DefaultApi", new { id = examAssessment.ExamAssessmentID }, examAssessment)); }
public async Task <IHttpActionResult> PutExamAssessment(string email, int settingsId, Models.ExamAssessment mdlExamAssessment) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } ExamAssessment saveExamAssessment = null; try { saveExamAssessment = await db.ExamAssessments.SingleAsync(e => e.User.email == email && e.ExamSetting.ExamSettingsID == settingsId); } catch (Exception e) { return(NotFound()); } ExamAssessment tmpExamAssessment = AutoMapper.Mapper.Map <ExamAssessment>(mdlExamAssessment); tmpExamAssessment.ExamAssessmentID = saveExamAssessment.ExamAssessmentID; db.ExamAssessments.Attach(saveExamAssessment); saveExamAssessment = tmpExamAssessment; db.Entry(saveExamAssessment).State = EntityState.Modified; try { await db.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { return(NotFound()); } return(StatusCode(HttpStatusCode.NoContent)); }