public static MobileScreen Load(string Name) { MobileScreen retVal = null; string item = String.Format("{0}.{1}.{2}.xml", ConfigurationLoader.ConfigAssemblyName, "MobileScreens", Name); using (Stream fileStream = ConfigurationLoader.ConfigAssembly.GetManifestResourceStream(item)) { using (XmlReader xreader = XmlReader.Create(fileStream)) { XDocument doc = XDocument.Load(xreader); string pageType = doc.Root.Element("Type").Value.ToLower(); switch (pageType) { case "mobilecontent": retVal = MobileContentScreen.Load(doc); break; case "mobilenavigation": retVal = MobileNavigationScreen.Load(doc); break; case "mobiletabbed": retVal = MobileTabbedScreen.Load(doc); break; default: retVal = MobileContentScreen.Load(doc); break; } } } return(retVal); }
public static MobileScreen GetByName(string ScreenName) { MobileScreen screen = Configuration.GetInstance().MobileScreens .Where(s => ( (s.Name.ToLower() == ScreenName.ToLower()) ) ) .SingleOrDefault(); if (screen == null) { //attempt to load screen from config screen = Load(ScreenName); } return(screen); }