using System;
using System.Collections.Generic;
using System.Text;
using Model;
using IDDal;
/************菜单详细列表业务逻辑层***************
 * 主要功能是对某个菜单下说包含的菜肴进行整体操作
 * 设计者:王枢昊
 * 设计时间:6月1日
 * **********************************************/
namespace Business
{
    /// <summary>
    /// 菜单详细列表操作类
    /// </summary>
    public class BMenu
    {
        MenuDal<Menu> menuOp = new ImpDDal.ImpMenuDal();
        /// <summary>
        /// 增加菜肴
        /// </summary>
        /// <param name="menus">菜肴列表</param>
        /// <returns>1表示增加成功,0增加失败</returns>
        public int AddMenu(IList<Menu> menus)
        {
            try
            {
                return menuOp.AddMenu(menus);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }

        /// <summary>
        /// 删除某个菜单下的所有菜肴
        /// </summary>
        /// <param name="menu">某一个菜肴项目</param>
        /// <returns>1表示删除成功,0删除失败</returns>
        public int DeleteMenu(Menu menu)
        {
            try
            {
                return menuOp.DeleteMenu(menu);
            }
            catch (Exception ex)
            {
                
                throw new Exception(ex.Message);
            }
        }

        /// <summary>
        /// 修改某个菜单下的所有菜肴
        /// </summary>
        /// <param name="menus">菜肴列表</param>
        /// <param name="menu">待修改的菜单</param>
        /// <returns>1表示修改成功,0修改失败</returns>
        public int ModifyMenu(IList<Menu> menus, Menu menu)
        {
            try
            {
                this.DeleteMenu(menu);
                return this.AddMenu(menus);
            }
            catch (Exception ex)
            {
                
                 throw new Exception(ex.Message);
            }
        }

        /// <summary>
        /// 查询某个菜单下的所有菜肴
        /// </summary>
        /// <param name="menuId">菜单号</param>
        /// <returns>菜单所含菜肴集合列表</returns>
        public IList<Menu> SelectMenu(string menuId)
        {
            try
            {
                return menuOp.Menus(menuId);
            }
            catch (Exception ex)
            {
                
                throw new Exception(ex.Message);
            }
        }
    }
}
