Ejemplo n.º 1
0
        public void AddProgramDescriptionsToList(GnApiProgramsSchema.programsProgramDescriptions programDescriptions, string apiLevel, bool updateTracker = false)
        {
            if (programDescriptions.desc != null && programDescriptions.desc.Any())
            {
                if (ProgramDescriptions == null)
                {
                    ProgramDescriptions = new List <GnApiProgramsSchema.titleDescType>();
                }
                if (!updateTracker)
                {
                    Log.Debug($"Number of Program Descriptions at {apiLevel} Level: {programDescriptions.desc.Count()}");
                }

                foreach (var description in programDescriptions.desc)
                {
                    ProgramDescriptions.Add(description);
                }
            }
            else
            {
                if (!updateTracker)
                {
                    Log.Warn($"Program Descriptions are currently null at the current api level: {apiLevel}, " +
                             "will continue and check next api results for Description data");
                }
            }
        }
Ejemplo n.º 2
0
        public static string CheckAndReturnDescriptionData(
            GnApiProgramsSchema.programsProgramDescriptions programDescriptions, bool isSeason = false)
        {
            if (!programDescriptions.desc.Any())
            {
                return(string.Empty);
            }

            if (!isSeason)
            {
                foreach (var desc in programDescriptions.desc.OrderByDescending(d => d.size).ThenBy(d => d.type))
                {
                    if (desc.type == "plot")
                    {
                        switch (desc.size)
                        {
                        case "250":
                            return(desc.Value);

                        case "100":
                            return(desc.Value);
                        }
                    }

                    if (desc.type == "generic" & desc.size == "100")
                    {
                        return(desc.Value);
                    }
                }
            }
            // season or default fallback if above are not found
            return(programDescriptions.desc.OrderByDescending(d => d.size)
                   .Where(d => d.size == "250" || d.size == "100")
                   .Select(t => t.Value)
                   .FirstOrDefault()
                   ?.ToString());
        }