public async Task <ActionResult <StudentLabViewModel> > AddStudentLab(StudentLabInputViewModel viewModel) { if (viewModel == null) { return(BadRequest()); } StudentLab createdLab = await LabService.AddLab(Mapper.Map <StudentLab>(viewModel)).ConfigureAwait(false); return(CreatedAtAction(nameof(AddStudentLab), new { id = createdLab.Id }, Mapper.Map <StudentLabViewModel>(createdLab))); }
public async Task <ActionResult <StudentLabViewModel> > GetStudentLabById(int id) { StudentLab fetchedLab = await LabService.GetById(id).ConfigureAwait(false); if (fetchedLab == null) { return(NotFound()); } return(Ok(Mapper.Map <StudentLabViewModel>(fetchedLab))); }
public async Task <StudentLab> UpdateLab(StudentLab lab) { if (lab == null) { throw new ArgumentNullException(nameof(lab)); } DbContext.StudentLabs.Update(lab); await DbContext.SaveChangesAsync().ConfigureAwait(false); return(lab); }
public async Task <bool> DeleteLab(int labId) { StudentLab labToDelete = await DbContext.StudentLabs.FindAsync(labId).ConfigureAwait(false); if (labToDelete == null) { DbContext.StudentLabs.Remove(labToDelete); DbContext.SaveChanges(); return(true); } return(false); }
public async Task <ActionResult <StudentLabViewModel> > UpdatStudentLab(int id, StudentLabInputViewModel viewModel) { if (viewModel == null) { return(BadRequest()); } StudentLab fetchedLab = await LabService.GetById(id).ConfigureAwait(false); if (fetchedLab == null) { return(NotFound()); } Mapper.Map(viewModel, fetchedLab); await LabService.UpdateLab(fetchedLab).ConfigureAwait(false); return(NoContent()); }
public async Task AddStudentLab_PersistsStudentLab() { var lab = new StudentLab { StudentId = 1 }; using (var context = new ApplicationDbContext(Options)) { var service = new StudentLabService(context); StudentLab addedStudentLab = await service.AddLab(lab); Assert.AreNotEqual(0, addedStudentLab.Id); } using (var context = new ApplicationDbContext(Options)) { StudentLab retrievedStudentLab = context.StudentLabs.Single(); Assert.AreEqual(lab.Id, retrievedStudentLab.Id); Assert.AreEqual(lab.StudentId, retrievedStudentLab.StudentId); } }
public async Task <StudentLab> GetById(int labId) { StudentLab fetchedLab = await DbContext.StudentLabs.SingleOrDefaultAsync(lab => lab.Id == labId).ConfigureAwait(false); return(fetchedLab); }