예제 #1
0
        public MenuItemCandidates GetMenuItemCandidates(XmlMenuItem xmlmenuitem)
        {
            var candidates = new MenuItemCandidates();

            candidates.ByNameCandidates = GetMenuItemCandidatesByName(xmlmenuitem.ItemName);
            return(candidates);
        }
예제 #2
0
        public static XmlMenuItems ParseXml(XmlDocument xmlDocument)
        {
            var         result        = new XmlMenuItems();
            XmlNodeList menuItemNodes = xmlDocument.SelectNodes("menu/menu_item");

            if (menuItemNodes == null)
            {
                return(result);
            }

            foreach (XmlNode menuItemNode in menuItemNodes)
            {
                XmlMenuItem menuItem = BuildMenuItem(menuItemNode);
                if (menuItem.Ingredients == null)
                {
                    menuItem.Ingredients = new List <XmlIngredient>();
                }

                XmlNodeList ingredientNodes = menuItemNode.SelectNodes("menu_item_ingredient");
                if (ingredientNodes != null)
                {
                    foreach (XmlNode ingredientNode in ingredientNodes)
                    {
                        menuItem.Ingredients.Add(BuildIngredient(ingredientNode));
                    }
                }
                result.Add(menuItem);
            }

            return(result);
        }
예제 #3
0
        protected static XmlMenuItem BuildMenuItem(XmlNode menuItemNode)
        {
            XmlMenuItem result = new XmlMenuItem();

            XmlNode itemNameNode      = menuItemNode.SelectSingleNode("item_name");
            XmlNode itemIdNode        = menuItemNode.SelectSingleNode("item_id");
            XmlNode itemGuidNode      = menuItemNode.SelectSingleNode("item_guid");
            XmlNode totalCalsNode     = menuItemNode.SelectSingleNode("total_cals");
            XmlNode totalFatCalsNode  = menuItemNode.SelectSingleNode("total_fat_cals");
            XmlNode totalProteinNode  = menuItemNode.SelectSingleNode("total_protein");
            XmlNode totalCarbsNode    = menuItemNode.SelectSingleNode("total_carbs");
            XmlNode totalFiberNode    = menuItemNode.SelectSingleNode("total_fiber");
            XmlNode totalSugarNode    = menuItemNode.SelectSingleNode("total_sugar");
            XmlNode totalFatNode      = menuItemNode.SelectSingleNode("total_fat");
            XmlNode totalSatFatNode   = menuItemNode.SelectSingleNode("total_sat_fat");
            XmlNode totalTransFatNode = menuItemNode.SelectSingleNode("total_trans_fat");
            XmlNode totalCholNode     = menuItemNode.SelectSingleNode("total_chol");
            XmlNode totalSodNode      = menuItemNode.SelectSingleNode("total_sod");

            result.ItemName           = ValueUtility.ConvertNull(itemNameNode.InnerText, "");
            result.ItemId             = ValueUtility.ConvertNull(itemIdNode.InnerText, "");
            result.ItemGuid           = ValueUtility.ConvertNull(itemGuidNode.InnerText, "");
            result.TotalCalories      = ValueUtility.ConvertNull(totalCalsNode.InnerText, "");
            result.TotalFatCalories   = ValueUtility.ConvertNull(totalFatCalsNode.InnerText, "");
            result.TotalProtein       = ValueUtility.ConvertNull(totalProteinNode.InnerText, "");
            result.TotalCarbohydrates = ValueUtility.ConvertNull(totalCarbsNode.InnerText, "");
            result.TotalFiber         = ValueUtility.ConvertNull(totalFiberNode.InnerText, "");
            result.TotalSugar         = ValueUtility.ConvertNull(totalSugarNode.InnerText, "");
            result.TotalFat           = ValueUtility.ConvertNull(totalFatNode.InnerText, "");
            result.TotalSaturatedFat  = ValueUtility.ConvertNull(totalSatFatNode.InnerText, "");
            result.TotalTransFat      = ValueUtility.ConvertNull(totalTransFatNode.InnerText, "");
            result.TotalCholesterol   = ValueUtility.ConvertNull(totalCholNode.InnerText, "");
            result.TotalSodium        = ValueUtility.ConvertNull(totalSodNode.InnerText, "");
            return(result);
        }
        public ActionResult MatchAggregate(string xmlguid, string menuitemguid)
        {
            var repo = new MatchedItemRepository_pp();
            var aggregate = new XmlMenuItem();

            if ( !string.IsNullOrEmpty(xmlguid))
            {
                aggregate = repo.GetXmlMenuItemWithIngredients(xmlguid);

                foreach (var xmlIngredient in aggregate.Ingredients)
                {
                    //need to get ingredient match, different from menu item ingredients
                    var xref = repo.GetIngredientCrossReference(xmlIngredient.ItemIngredientGuid);
                    if (xref != null && xref.ingredientsguid != null) // means there is no match
                        xmlIngredient.IngredientMatch = repo.GetMatchedIngredient(xref.ingredientsguid.ToString(),true);
            //
            //                    if ( xmlIngredient.IngredientMatch == null)
            //                        xmlIngredient.IngredientMatch = new IngredientAggregate();

                }
            }

            if (string.IsNullOrEmpty(menuitemguid))
            {
                //attempt to get from xref
                var xref = repo.GetMenuCrossReference(xmlguid);
                menuitemguid = xref.menuitemguid.ToString();
            }
            if (!string.IsNullOrEmpty(menuitemguid))
                aggregate.MenuItemMatch = repo.GetMenuItemWithIngredients(menuitemguid);

            return View(aggregate);
        }
예제 #5
0
 static void LoadChildren(XmlMenuItem parent, XElement parentElement)
 {
     foreach (var child in parentElement.Elements())
     {
         if (IsValidMenuElement(child))
         {
             XmlMenuItem item = XmlMenuItem.FromXml(child);
             parent.Items.Add(item);
             LoadChildren(item, child);
         }
     }
 }
예제 #6
0
        public ActionResult MatchAggregate(string xmlguid, string menuitemguid)
        {
            var repo      = new MatchedItemRepository_pp();
            var aggregate = new XmlMenuItem();

            if (!string.IsNullOrEmpty(xmlguid))
            {
                aggregate = repo.GetXmlMenuItemWithIngredients(xmlguid);

                foreach (var xmlIngredient in aggregate.Ingredients)
                {
                    //need to get ingredient match, different from menu item ingredients
                    var xref = repo.GetIngredientCrossReference(xmlIngredient.ItemIngredientGuid);
                    if (xref != null && xref.ingredientsguid != null) // means there is no match
                    {
                        xmlIngredient.IngredientMatch = repo.GetMatchedIngredient(xref.ingredientsguid.ToString(), true);
                    }
//
//                    if ( xmlIngredient.IngredientMatch == null)
//                        xmlIngredient.IngredientMatch = new IngredientAggregate();
                }
            }

            if (string.IsNullOrEmpty(menuitemguid))
            {
                //attempt to get from xref
                var xref = repo.GetMenuCrossReference(xmlguid);
                menuitemguid = xref.menuitemguid.ToString();
            }
            if (!string.IsNullOrEmpty(menuitemguid))
            {
                aggregate.MenuItemMatch = repo.GetMenuItemWithIngredients(menuitemguid);
            }


            return(View(aggregate));
        }
예제 #7
0
        public ActionResult UpdateMenuItemMatch(string xmlmenuitem, string matchedguid)
        {
            XmlMenuItem menuitem = new XmlMenuItem();

            return(PartialView("GetMenuItemDetails", menuitem));
        }
 public ActionResult UpdateMenuItemMatch(string xmlmenuitem, string matchedguid)
 {
     XmlMenuItem menuitem = new XmlMenuItem();
     return PartialView("GetMenuItemDetails", menuitem);
 }
        public MenuItemCandidates GetMenuItemCandidates(XmlMenuItem xmlmenuitem)
        {
            var candidates = new MenuItemCandidates();

            candidates.ByNameCandidates = GetMenuItemCandidatesByName(xmlmenuitem.ItemName);
            return candidates;
        }
예제 #10
0
        protected static XmlMenuItem BuildMenuItem(XmlNode menuItemNode)
        {
            XmlMenuItem result = new XmlMenuItem();

            XmlNode itemNameNode = menuItemNode.SelectSingleNode("item_name");
            XmlNode itemIdNode = menuItemNode.SelectSingleNode("item_id");
            XmlNode itemGuidNode = menuItemNode.SelectSingleNode("item_guid");
            XmlNode totalCalsNode = menuItemNode.SelectSingleNode("total_cals");
            XmlNode totalFatCalsNode = menuItemNode.SelectSingleNode("total_fat_cals");
            XmlNode totalProteinNode = menuItemNode.SelectSingleNode("total_protein");
            XmlNode totalCarbsNode = menuItemNode.SelectSingleNode("total_carbs");
            XmlNode totalFiberNode = menuItemNode.SelectSingleNode("total_fiber");
            XmlNode totalSugarNode = menuItemNode.SelectSingleNode("total_sugar");
            XmlNode totalFatNode = menuItemNode.SelectSingleNode("total_fat");
            XmlNode totalSatFatNode = menuItemNode.SelectSingleNode("total_sat_fat");
            XmlNode totalTransFatNode = menuItemNode.SelectSingleNode("total_trans_fat");
            XmlNode totalCholNode = menuItemNode.SelectSingleNode("total_chol");
            XmlNode totalSodNode = menuItemNode.SelectSingleNode("total_sod");
            result.ItemName = ValueUtility.ConvertNull(itemNameNode.InnerText, "");
            result.ItemId = ValueUtility.ConvertNull(itemIdNode.InnerText, "");
            result.ItemGuid = ValueUtility.ConvertNull(itemGuidNode.InnerText, "");
            result.TotalCalories = ValueUtility.ConvertNull(totalCalsNode.InnerText, "");
            result.TotalFatCalories = ValueUtility.ConvertNull(totalFatCalsNode.InnerText, "");
            result.TotalProtein = ValueUtility.ConvertNull(totalProteinNode.InnerText, "");
            result.TotalCarbohydrates = ValueUtility.ConvertNull(totalCarbsNode.InnerText, "");
            result.TotalFiber = ValueUtility.ConvertNull(totalFiberNode.InnerText, "");
            result.TotalSugar = ValueUtility.ConvertNull(totalSugarNode.InnerText, "");
            result.TotalFat = ValueUtility.ConvertNull(totalFatNode.InnerText, "");
            result.TotalSaturatedFat = ValueUtility.ConvertNull(totalSatFatNode.InnerText, "");
            result.TotalTransFat = ValueUtility.ConvertNull(totalTransFatNode.InnerText, "");
            result.TotalCholesterol = ValueUtility.ConvertNull(totalCholNode.InnerText, "");
            result.TotalSodium = ValueUtility.ConvertNull(totalSodNode.InnerText, "");
            return result;
        }