public BarUserComment MapDTOToEntity(BarUserCommentDTO dto) { var entity = new BarUserComment { BarId = dto.BarId, UserId = dto.UserId, Text = dto.Text, IsFlagged = dto.IsFlagged }; return(entity); }
public BarUserCommentDTO MapEntityToDTO(BarUserComment entity) { var dto = new BarUserCommentDTO { BarId = entity.BarId, BarName = entity.Bar.Name, UserId = entity.UserId, UserName = entity.User.UserName, Text = entity.Text, IsFlagged = entity.IsFlagged }; return(dto); }
public BarUserCommentView MapDTOToView(BarUserCommentDTO dto) { var view = new BarUserCommentView { BarId = dto.BarId, BarName = dto.BarName, UserId = dto.UserId, UserName = dto.UserName, Text = dto.Text, IsFlagged = dto.IsFlagged }; return(view); }
public BarUserCommentDTO MapViewToDTO(BarUserCommentView view) { var dto = new BarUserCommentDTO { BarId = view.BarId, BarName = view.BarName, UserId = view.UserId, UserName = view.UserName, Text = view.Text, IsFlagged = view.IsFlagged }; return(dto); }
public async Task <BarUserCommentDTO> UpdateAsync(BarUserCommentDTO commentDTO) { try { var comment = await this._context.BarComments .Include(c => c.Bar) .Include(c => c.User) .FirstOrDefaultAsync(c => c.BarId == commentDTO.BarId && c.UserId == commentDTO.UserId); comment.Text = commentDTO.Text; comment.IsFlagged = commentDTO.IsFlagged; _context.Update(comment); await _context.SaveChangesAsync(); return(commentDTO); } catch (Exception) { return(new BarUserCommentDTO()); } }
public async Task <BarUserCommentDTO> CreateAsync(BarUserCommentDTO commentDTO) { try { if (await CombinationExistAsync(commentDTO.BarId, commentDTO.UserId)) { return(new BarUserCommentDTO()); } else { var comment = this._mapper.MapDTOToEntity(commentDTO); this._context.BarComments.Add(comment); await _context.SaveChangesAsync(); return(commentDTO); } } catch (Exception) { return(new BarUserCommentDTO()); } }
public async Task CreateComment_whenAlreadyCommented() { var testBarName = "TestBarName"; var testUserName = "******"; var options = Utils.GetOptions(nameof(CreateComment_whenAlreadyCommented)); var testUser = new User() { Id = Utils.MySampleGuid(), UserName = testUserName, }; var testBar = new Bar() { Id = Utils.MySampleGuid3(), Name = testBarName, }; var testComment = new BarUserComment() { UserId = testUser.Id, User = testUser, BarId = testBar.Id, Bar = testBar, Text = "Comment text here.", }; var dto = new BarUserCommentDTO() { UserId = testUser.Id, BarId = testBar.Id, Text = "New comment text here.", }; var mockMapper = new Mock <IBarUserCommentMapper>(); mockMapper.Setup(x => x.MapDTOToEntity(It.IsAny <BarUserCommentDTO>())) .Returns((BarUserCommentDTO x) => new BarUserComment() { BarId = x.BarId, UserId = x.UserId, Text = x.Text }); mockMapper.Setup(x => x.MapEntityToDTO(It.IsAny <BarUserComment>())) .Returns((BarUserComment x) => new BarUserCommentDTO() { BarId = x.BarId, BarName = x.Bar.Name, UserId = x.UserId, UserName = x.User.UserName, Text = x.Text }); using (var arrangeContext = new BCcontext(options)) { await arrangeContext.Users.AddAsync(testUser); await arrangeContext.Bars.AddAsync(testBar); await arrangeContext.BarComments.AddAsync(testComment); await arrangeContext.SaveChangesAsync(); } using (var context = new BCcontext(options)) { var sut = new BarUserCommentsService(context, mockMapper.Object); //Act var result = await sut.CreateAsync(dto); //Assert Assert.AreNotEqual(testBar.Id, result.BarId); Assert.IsNull(result.BarName); Assert.AreNotEqual(testUser.Id, result.UserId); Assert.IsNull(result.UserName); Assert.IsNull(result.Text); Assert.AreEqual(1, context.BarComments.Count()); var bar = await context.Bars .Include(x => x.Comments) .FirstOrDefaultAsync(x => x.Name == testBarName); var comment = bar.Comments.FirstOrDefault(); Assert.IsNotNull(comment); Assert.AreNotEqual(dto.Text, comment.Text); } }