public List <Author> AddAuthors(List <Author> newAuthors, bool doRefresh = true) { var added = DateTime.UtcNow; var authorsToAdd = new List <Author>(); foreach (var s in newAuthors) { try { var author = AddSkyhookData(s); author = SetPropertiesAndValidate(author); author.Added = added; authorsToAdd.Add(author); } catch (Exception ex) { // Catch Import Errors for now until we get things fixed up _logger.Error(ex, "Failed to import id: {0} - {1}", s.Metadata.Value.ForeignAuthorId, s.Metadata.Value.Name); } } // add metadata _authorMetadataService.UpsertMany(authorsToAdd.Select(x => x.Metadata.Value).ToList()); authorsToAdd.ForEach(x => x.AuthorMetadataId = x.Metadata.Value.Id); return(_authorService.AddAuthors(authorsToAdd, doRefresh)); }
public UpdateResult UpdateArtistMetadata(List <AuthorMetadata> data) { var remoteMetadata = data.DistinctBy(x => x.ForeignAuthorId).ToList(); var updated = _authorMetadataService.UpsertMany(remoteMetadata); return(updated ? UpdateResult.UpdateTags : UpdateResult.None); }