/// <summary>
        /// Add a program package to the database via Entityframework
        /// </summary>
        /// <param name="val"></param>
        /// <param name="db"></param>
        private static void AddProgramPackageToDatabase(XMLClasses.feedEntry val, ProgramContext db)
        {
            var program = new EF_Program {
                ProgramName = val.title.Value
            };

            if (program.ProgramVersions == null)
            {
                program.ProgramVersions = new List <EF_ProgramVersion>();
            }

            program.ProgramVersions.Add(new EF_ProgramVersion {
                Program = program, Version = val.properties.Version
            });

            db.Programs.Add(program);
        }
        private static IOrderedQueryable <EF_Program> GetStoredProgramPackagesFromDatabase(ProgramContext db, XMLClasses.feedEntry val)
        {
            var queryProgram = from p in db.Programs
                               where p.ProgramName == val.title.Value
                               orderby p.ProgramName
                               select p;

            return(queryProgram);
        }
        /// <summary>
        /// Add Program Package Version To the Database via Entityframework.
        /// The Program package version is allways linked to a Program package.
        /// </summary>
        /// <param name="queryProgram"></param>
        /// <param name="db"></param>
        /// <param name="val"></param>
        private static void AddProgramPackageVersionToDatabase(IOrderedQueryable <EF_Program> queryProgram, ProgramContext db, XMLClasses.feedEntry val)
        {
            var program = queryProgram.First();

            db.ProgramVersions.Add(new EF_ProgramVersion {
                Program = program, Version = val.properties.Version
            });
        }
        private static IQueryable <EF_ProgramVersion> GetStoredProgramPackageVersionsFromDatabase(ProgramContext db, XMLClasses.feedEntry val)
        {
            var queryProgramVersion = from p in db.ProgramVersions
                                      where p.Version == val.properties.Version
                                      select p;

            return(queryProgramVersion);
        }