public async Task HandleAsync(CreateLyricInput input, ICreateLyricOutputHandler <T> output) { var author = await _userRepository.GetByUsernameAsync(input.AuthorName); if (author == null) { output.BadRequest("The given author does not exist"); return; } var dbLyric = new Lyric { CreatedOn = DateTime.UtcNow, AuthorId = author.Id, Singer = input.Singer, Text = input.Text, Title = input.Title, }; try { await _lyricRepository.CreateAsync(dbLyric); output.Success(new CreateLyricOutput(dbLyric.Id)); } catch (Exception) { output.BadRequest("Creating lyric failed."); } }