public async Task <int> Handle(RegisterUserCommand request, CancellationToken cancellationToken) { var entity = _mapper.Map <User>(request.User); if (_context.Users.Any(u => u.Username.Equals(entity.Username))) { throw new DuplicateEntityException("User", entity.Username); } _context.Users.Add(entity); await _context.SaveChangesAsync(cancellationToken); return(entity.Id); }
public async Task <int> Handle(AddEntryToPhonebookCommand request, CancellationToken cancellationToken) { Entry entry = _mapper.Map <Entry>(request.Entry); PhoneBook phoneBook = _context.PhoneBooks.Where(p => p.Id == request.Entry.PhoneBookId).FirstOrDefault(); if (phoneBook == null) { throw new NotFoundException(phoneBook.GetType().Name, request.Entry.PhoneBookId); } if (!phoneBook.Entries.Contains(entry)) { phoneBook.Entries.Add(entry); } else { throw new DuplicateEntityException(entry.GetType().Name, entry.Name); } await _context.SaveChangesAsync(); return(entry.Id); }