Ejemplo n.º 1
0
        public QualityProfile GetDefaultProfile(string name, Quality cutoff = null, params Quality[] allowed)
        {
            var groupedQualites = Quality.DefaultQualityDefinitions.GroupBy(q => q.Weight);
            var items           = new List <QualityProfileQualityItem>();
            var groupId         = 1000;
            var profileCutoff   = cutoff == null ? Quality.Unknown.Id : cutoff.Id;

            foreach (var group in groupedQualites)
            {
                if (group.Count() == 1)
                {
                    var quality = group.First().Quality;

                    items.Add(new QualityProfileQualityItem {
                        Quality = group.First().Quality, Allowed = allowed.Contains(quality)
                    });
                    continue;
                }

                var groupAllowed = group.Any(g => allowed.Contains(g.Quality));

                items.Add(new QualityProfileQualityItem
                {
                    Id    = groupId,
                    Name  = group.First().GroupName,
                    Items = group.Select(g => new QualityProfileQualityItem
                    {
                        Quality = g.Quality,
                        Allowed = groupAllowed
                    }).ToList(),
                    Allowed = groupAllowed
                });

                if (group.Any(g => g.Quality.Id == profileCutoff))
                {
                    profileCutoff = groupId;
                }

                groupId++;
            }

            var qualityProfile = new QualityProfile
            {
                Name   = name,
                Cutoff = profileCutoff,
                Items  = items
            };

            return(qualityProfile);
        }
Ejemplo n.º 2
0
 public void Update(QualityProfile profile)
 {
     _profileRepository.Update(profile);
 }
Ejemplo n.º 3
0
 public QualityProfile Add(QualityProfile profile)
 {
     return(_profileRepository.Insert(profile));
 }