public async Task <long> Save(SelectorDTO entity) { try { return(await _selectorDAL.Save(_mapper.Map <Selector>(entity))); } catch (Exception ex) { return(0); } }
public async Task <long> Save(SelectorDTO entity) { try { await _accountingSharedDSL.UpdateAccountName(entity.Id, entity.HeadName); return(await _selectorDAL.Save(_mapper.Map <Selector>(entity))); } catch (Exception ex) { return(0); } }
public IList <DeredundafierDTO> GetDeredundancyTargets() { List <DeredundafierDTO> targets = new List <DeredundafierDTO>(); var songTitleSetsQ = (from song in db.Songs group song by song.Title into songTitleSets where songTitleSets.Count() > 1 select songTitleSets); foreach (var set in songTitleSetsQ) { DeredundafierDTO target = new DeredundafierDTO() { Name = set.Key }; targets.Add(target); foreach (Song song in set) { var artists = song.Recordings.Select(x => x.Artist).Distinct(); string artistName = "Various"; if (artists.Count() == 1) { artistName = artists.First().Name; } DeredundafierDTO selector = new SelectorDTO() { Name = $"{artistName} - {song.Title}", Data = song, IsChecked = false }; target.Children.Add(selector); foreach (Recording recording in song.Recordings) { selector.Children.Add(new DeredundafierDTO() { Name = $"{recording.Artist.Name} - {recording.Album.Title} - {recording.Title}", Data = recording }); } } } return(targets); }
public IEnumerable <DeredundafierDTO> GetDeredundancyTargets() { List <DeredundafierDTO> targets = new List <DeredundafierDTO>(); var artistNameSetsQ = (from artist in db.Artists group artist by artist.Name into artistNameSets where artistNameSets.Count() > 1 select artistNameSets); foreach (var set in artistNameSetsQ) { DeredundafierDTO target = new DeredundafierDTO() { Name = set.Key }; targets.Add(target); foreach (Artist artist in set) { DeredundafierDTO selector = new SelectorDTO() { Name = artist.Name, Data = artist, IsChecked = false }; target.Children.Add(selector); foreach (Recording recording in artist.Recordings.Take(10)) { selector.Children.Add(new DeredundafierDTO() { Name = $"{recording.Artist.Name} - {recording.Album.Title} - {recording.Title}", Data = recording }); } } } return(targets); }
public async Task <IActionResult> Save(SelectorDTO model) => Ok(await _selectorDSL.Save(model));
public IList <DeredundafierDTO> GetDeepDeredundancyTargets() { Dictionary <string, List <Song> > map = new Dictionary <string, List <Song> >(); foreach (Song song in db.Songs) { string name = song.Title.ToLowerInvariant(); name.Trim(); if (greedyParenPattern.IsMatch(name)) { name = greedyParenPattern.Replace(name, ""); } //Reset name if this fully deletes it. if (name == "") { name = song.Title.ToLowerInvariant(); } //Add base name if (!map.ContainsKey(name)) { map.Add(name, new List <Song>()); } map[name].Add(song); } TextInfo titleFormatter = new CultureInfo("en-US", false).TextInfo; List <DeredundafierDTO> targets = new List <DeredundafierDTO>(); foreach (var set in map) { if (set.Value.Count < 2) { continue; } DeredundafierDTO target = new DeredundafierDTO() { Name = titleFormatter.ToTitleCase(set.Key) }; targets.Add(target); foreach (Song song in set.Value) { var artists = song.Recordings.Select(x => x.Artist).Distinct(); string artistName = "Various"; if (artists.Count() == 1) { artistName = artists.First().Name; } DeredundafierDTO selector = new SelectorDTO() { Name = $"{artistName} - {song.Title}", Data = song, IsChecked = false }; target.Children.Add(selector); foreach (Recording recording in song.Recordings) { selector.Children.Add(new DeredundafierDTO() { Name = $"{recording.Artist.Name} - {recording.Album.Title} - {recording.Title}", Data = recording }); } } } targets.Sort((a, b) => a.Name.CompareTo(b.Name)); return(targets); }
public IEnumerable <DeredundafierDTO> GetDeepDeredundancyTargets() { //Map of Album Titles to lists of albums with this title Dictionary <string, List <Album> > map = new Dictionary <string, List <Album> >(); foreach (Album album in db.Albums) { string title = album.Title.ToLowerInvariant(); title.Trim(); if (greedyParenPattern.IsMatch(title)) { title = greedyParenPattern.Replace(title, ""); } //Reset name if this fully deletes it. if (title == "") { title = album.Title.ToLowerInvariant(); } //Add base name if (!map.ContainsKey(title)) { map.Add(title, new List <Album>()); } map[title].Add(album); } TextInfo titleFormatter = new CultureInfo("en-US", false).TextInfo; List <DeredundafierDTO> targets = new List <DeredundafierDTO>(); foreach (var albumSet in map) { if (albumSet.Value.Count < 2) { continue; } DeredundafierDTO target = new DeredundafierDTO() { Name = titleFormatter.ToTitleCase(albumSet.Key) }; targets.Add(target); foreach (Album album in albumSet.Value) { List <Artist> artists = album.Recordings.Select(t => t.Artist).Distinct().ToList(); string artistName; if (artists.Count == 0) { Console.WriteLine($"Failed to find artist for album: ({album.Id},{album.Title}). Skipping."); continue; } else if (artists.Count == 1) { artistName = artists[0].Name; } else { artistName = "Various"; } DeredundafierDTO selector = new SelectorDTO() { Name = $"{artistName} - {album.Title}", Data = album, IsChecked = false }; target.Children.Add(selector); foreach (Recording recording in album.Recordings) { selector.Children.Add(new DeredundafierDTO() { Name = $"{recording.Artist.Name} - {recording.Title}", Data = recording }); } } } return(targets); }
public IEnumerable <DeredundafierDTO> GetDeredundancyTargets() { List <DeredundafierDTO> targets = new List <DeredundafierDTO>(); var deredundancyAlbumSets = (from albums in db.Albums group albums by albums.Title into albumSets where albumSets.Count() > 1 select albumSets); foreach (var albumSet in deredundancyAlbumSets) { DeredundafierDTO target = new DeredundafierDTO() { Name = albumSet.Key }; targets.Add(target); foreach (Album album in albumSet) { List <Artist> artists = album.Recordings.Select(t => t.Artist).Distinct().ToList(); string artistName; if (artists.Count == 0) { Console.WriteLine($"Failed to find artist for album: ({album.Id},{album.Title}). Skipping."); continue; } else if (artists.Count == 1) { artistName = artists[0].Name; } else { artistName = "Various"; } DeredundafierDTO selector = new SelectorDTO() { Name = $"{artistName} - {album.Title}", Data = album, IsChecked = false }; target.Children.Add(selector); foreach (Recording recording in album.Recordings) { selector.Children.Add(new DeredundafierDTO() { Name = $"{recording.Artist.Name} - {recording.Title}", Data = recording }); } } } return(targets); }
public IEnumerable <DeredundafierDTO> GetDeepDeredundancyTargets() { Dictionary <string, List <Artist> > map = new Dictionary <string, List <Artist> >(); foreach (Artist artist in db.Artists) { string name = artist.Name.ToLowerInvariant(); name.Trim(); if (greedyParenPattern.IsMatch(name)) { name = greedyParenPattern.Replace(name, ""); } //Reset name if this fully deletes it. if (name == "") { name = artist.Name.ToLowerInvariant(); } //Add base name if (!map.ContainsKey(name)) { map.Add(name, new List <Artist>()); } map[name].Add(artist); } TextInfo titleFormatter = new CultureInfo("en-US", false).TextInfo; List <DeredundafierDTO> targets = new List <DeredundafierDTO>(); foreach (var set in map) { if (set.Value.Count < 2) { continue; } DeredundafierDTO target = new DeredundafierDTO() { Name = titleFormatter.ToTitleCase(set.Key) }; targets.Add(target); foreach (Artist artist in set.Value) { DeredundafierDTO selector = new SelectorDTO() { Name = artist.Name, Data = artist, IsChecked = false }; target.Children.Add(selector); foreach (Recording recording in artist.Recordings.Take(10)) { selector.Children.Add(new DeredundafierDTO() { Name = $"{recording.Artist.Name} - {recording.Album.Title} - {recording.Title}", Data = recording }); } } } return(targets); }