Exemple #1
0
 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);
            }
        }
Exemple #3
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));
Exemple #6
0
        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);
        }