public async Task <IActionResult> PutAssignmentTag(long id, AssignmentTag assignmentTag) { if (id != assignmentTag.AssignmentTagID) { return(BadRequest()); } _context.Entry(assignmentTag).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!AssignmentTagExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public async Task <ActionResult <AssignmentTag> > PostAssignmentTag(AssignmentTag assignmentTag) { _context.AssignmentTags.Add(assignmentTag); await _context.SaveChangesAsync(); return(CreatedAtAction("GetAssignmentTag", new { id = assignmentTag.AssignmentTagID }, assignmentTag)); }
public IActionResult Add(ViewModel assign) { Assignment assignment = assign.Assignment; if (assign.SelectedTags != null) { int id = assign.SelectedTags.ElementAt(0); for (int i = 0; i < assign.SelectedTags.Count(); i++) { AssignmentTag assignmentTag = new AssignmentTag { Assignment = assignment, AssignmentId = assign.Assignment.Id, Tag = _context.Tags.Single(n => n.Id == assign.SelectedTags.ElementAt(i)), TagId = assign.SelectedTags.ElementAt(i) }; _context.AssignmentTags.Add(assignmentTag); } } _context.Add(assignment); _context.SaveChanges(); return(RedirectToAction("Index")); }
public async Task <ActionResult <AssignmentTag> > PostOrDeleteAssignmentTags(long assignmentID, Tag[] tagList) { AssignmentTag assignmentTag; var assignment = _context.Assignments.Where(i => i.AssignmentID == assignmentID).FirstOrDefault(); var assignmentTags = _context.AssignmentTags.Where(a => a.Assignment.AssignmentID == assignment.AssignmentID).ToList(); foreach (var assignmentTag2 in assignmentTags) { _context.AssignmentTags.Remove(assignmentTag2); } foreach (var tag in tagList) { assignmentTag = new AssignmentTag(); assignmentTag.Tag = tag; assignmentTag.AssignmentTagID = 0; assignmentTag.Assignment = assignment; _context.Entry(assignmentTag.Tag).State = EntityState.Unchanged; _context.Entry(assignmentTag.Assignment).State = EntityState.Unchanged; _context.AssignmentTags.Add(assignmentTag); await _context.SaveChangesAsync(); } return(NoContent()); }
public IActionResult Post(string name, string assignmentType, string title, string description, string duration, string tags) { var tagList = string.IsNullOrEmpty(tags) ? new string[0] : tags.Split(","); var newAssignment = new Assignment { Name = name, AssignmentType = assignmentType, Title = title, Description = description, Duration = duration }; try { _context.Assignments.Add(newAssignment); _context.SaveChanges(); if (tagList.Length > 0) { for (int i = 0; i < tagList.Length; i++) { var tag = _context.Tags.FirstOrDefault(t => t.Name == tagList[i]); if (null == tag) { tag = new Tag { Name = tagList[i] }; _context.Tags.Add(tag); _context.SaveChanges(); } var link = new AssignmentTag { Assignment = newAssignment, AssignmentId = newAssignment.AssignmentId, Tag = tag, TagId = tag.TagId }; newAssignment.AssignmentTags.Add(link); } } _context.SaveChanges(); var vm = AssignmentViewmodel.FromAssignment(newAssignment); vm.Tags = tagList; return(Ok(vm)); } catch (Exception ex) { Trace.WriteLine(ex); return(StatusCode(500)); } }
public async Task <ActionResult <AssignmentTag> > PostAssignmentTag(AssignmentTag assignmentTag) { var bestaande = await _context.AssignmentTags.Where(at => at.AssignmentID == assignmentTag.AssignmentID && at.TagID == assignmentTag.TagID).ToListAsync(); if (bestaande.Count() != 0) { return(BadRequest()); } _context.AssignmentTags.Add(assignmentTag); await _context.SaveChangesAsync(); return(CreatedAtAction("GetAssignmentTag", new { id = assignmentTag.AssignmentTagID }, assignmentTag)); }
public void CheckAssignmentTagsAreEqualLikeModel() { //Arrange AssignmentTag assTag1 = new AssignmentTag() { TagId = 1, AssignmentId = 1 }; AssignmentTag assTag2 = new AssignmentTag() { TagId = 2, AssignmentId = 1 }; List <AssignmentTag> listAssTags = new List <AssignmentTag> { assTag1, assTag2 }; var config = new MapperConfiguration(c => { c.AddProfile(new MappingProfile()); }); var mapper = config.CreateMapper(); var options = new DbContextOptionsBuilder <Context>() .UseInMemoryDatabase("UsersDirectoryMVC") .Options; using (var context = new Context(options)) { //Act var assignmentService = new AssignmentService(mapper, new AssignmentRepository(context)); context.AssignmentTag.AddRange(listAssTags); context.SaveChanges(); var assignemntTagsList = assignmentService.GetAllAssignmentTags(1); //Assert assignemntTagsList.Should().NotBeNull(); assignemntTagsList.Should().Equals(listAssTags); } }
public void CheckAssignmentTagsExistAfterDelete() { //Arrange AssignmentTag assignmentTag1 = new AssignmentTag() { AssignmentId = 1, TagId = 1 }; AssignmentTag assignmentTag2 = new AssignmentTag() { AssignmentId = 1, TagId = 2 }; AssignmentTag assignmentTag3 = new AssignmentTag() { AssignmentId = 2, TagId = 3 }; List <AssignmentTag> thisTagsShouldExist = new List <AssignmentTag>(); thisTagsShouldExist.Add(assignmentTag3); var options = new DbContextOptionsBuilder <Context>() .UseInMemoryDatabase(databaseName: "UsersDirectoryMVC") .Options; using (var context = new Context(options)) { //Act var assignmentRepository = new AssignmentRepository(context); assignmentRepository.AddNewTags(assignmentTag1); assignmentRepository.AddNewTags(assignmentTag2); assignmentRepository.AddNewTags(assignmentTag3); assignmentRepository.DeleteTags(1); var gerAssignmentTags1 = assignmentRepository.GetAllTagsForAssignment(1); var gerAssignmentTags2 = assignmentRepository.GetAllTagsForAssignment(2); //Assert gerAssignmentTags1.Should().BeEmpty(); gerAssignmentTags2.Should().Equals(thisTagsShouldExist); } }
public void CheckAssignmentTagsListExistAfterAdd() { //Arrange AssignmentTag assignmentTag1 = new AssignmentTag() { AssignmentId = 1, TagId = 1 }; AssignmentTag assignmentTag2 = new AssignmentTag() { AssignmentId = 1, TagId = 2 }; List <AssignmentTag> thisTagsShouldExist = new List <AssignmentTag>(); thisTagsShouldExist.Add(assignmentTag1); thisTagsShouldExist.Add(assignmentTag2); var options = new DbContextOptionsBuilder <Context>() .UseInMemoryDatabase(databaseName: "UsersDirectoryMVC") .Options; using (var context = new Context(options)) { //Act var assignmentRepository = new AssignmentRepository(context); assignmentRepository.AddNewTags(assignmentTag1); assignmentRepository.AddNewTags(assignmentTag2); var assignmentResult = assignmentRepository.GetAllTagsForAssignment(1); //Assert assignmentResult.Should().NotBeNull(); assignmentResult.Should().Equals(thisTagsShouldExist); } }
public void GetAllTagsForAssignmentToListAndCheckAreEqualLikeModelsList() { //Arrange AssignmentTag assignmentTag1 = new AssignmentTag() { AssignmentId = 1, TagId = 1 }; AssignmentTag assignmentTag2 = new AssignmentTag() { AssignmentId = 1, TagId = 2 }; List <AssignmentTag> listOfTags = new List <AssignmentTag>(); listOfTags.Add(assignmentTag1); listOfTags.Add(assignmentTag2); var options = new DbContextOptionsBuilder <Context>() .UseInMemoryDatabase(databaseName: "UsersDirectoryMVC") .Options; using (var context = new Context(options)) { //Act var assignmentRepository = new AssignmentRepository(context); assignmentRepository.AddNewTags(assignmentTag1); assignmentRepository.AddNewTags(assignmentTag2); var assignmentTags = assignmentRepository.GetAllTagsForAssignment(1); //Assert assignmentTags.Should().Equals(listOfTags); } }
public void AddNewTags(AssignmentTag assignmentTag) { _context.AssignmentTag.Add(assignmentTag); _context.SaveChanges(); }