public async Task <int> CreateSongHymnalEditionAsync(AddSongToHymnalViewModel addSongToHymnalViewModel, string userId, int churchId) { var songHymnalEdition = new SongHymnalEdition { SongId = addSongToHymnalViewModel.SongId, HymnalId = addSongToHymnalViewModel.HymnalId, PageNumber = addSongToHymnalViewModel.PageNumber, CopyrightYear = addSongToHymnalViewModel.CopyrightYear, VoicingId = addSongToHymnalViewModel.VoicingId, InstrumentationId = addSongToHymnalViewModel.InstrumentationId, IsDefault = false, CreatedByChurchId = churchId, CreatedById = userId, LastModifiedById = userId, DateCreated = DateTime.Now, DateLastModified = DateTime.Now, }; if (!string.IsNullOrWhiteSpace(addSongToHymnalViewModel.Contributors)) { var contributors = JsonConvert.DeserializeObject <List <ContributorIdAndRoleDTO> >($"[{addSongToHymnalViewModel.Contributors.Replace("}{", "},{")}]"); songHymnalEdition.Contributors = contributors.Select(c => new SongHymnalEditionContributor { ContributorId = c.Id, Role = (ContributorRole)c.Role, }).ToList(); } return(await _songEditionRepository.CreateSongHymnalEditionAsync(songHymnalEdition)); }
public async Task <IActionResult> AddSongToHymnal(AddSongToHymnalViewModel model) { if (ModelState.IsValid) { await _songEditionService.CreateSongHymnalEditionAsync(model, GetUserId(), GetChurchId()); return(RedirectToAction("Hymnal", new { id = model.HymnalId })); } model.HymnalName = (await _hymnalService.GetByIdAsync(model.HymnalId))?.Title; return(View(model)); }