using System;
using System.Data;
using System.Data.SqlClient;
using System.Collections;
using System.Collections.Generic;
using AIMSModel;
using AIMSObjectQuery;
using HelperDB;
using System.Text;
namespace AIMSDAL
{
    internal partial class DMenu
    {
        public static void Add(Menu MenuObj)
        {
            StringBuilder strSql = new StringBuilder();
            strSql.Append("insert into [Menu](");
            strSql.Append("Name,Path,ParentId,IsValid,MenuOrder,IsAloneOpen,ImgPath,OperatorNo,OperatorName,OperateDate");
            strSql.Append(")");
            strSql.Append(" values (");
            strSql.Append("'" + MenuObj.Name + "',");
            strSql.Append("'" + MenuObj.Path + "',");
            strSql.Append("" + MenuObj.ParentId + ",");
            strSql.Append("" + MenuObj.IsValid + ",");
            strSql.Append("" + MenuObj.MenuOrder + ",");
            strSql.Append("" + MenuObj.IsAloneOpen + ",");
            strSql.Append("'" + MenuObj.ImgPath + "',");
            strSql.Append("'" + MenuObj.OperatorNo + "',");
            strSql.Append("'" + MenuObj.OperatorName + "',");
            strSql.Append("'" + MenuObj.OperateDate + "'");
            strSql.Append(")");
            strSql.Append(";select @@IDENTITY");
            DbHelperSQL.ExecNonQuery(strSql.ToString());
        }
        public static void Delete(int Id)
        {
            StringBuilder strSql = new StringBuilder();
            strSql.Append("delete Menu ");
            strSql.Append(" where Id=" + Id + "");
            DbHelperSQL.ExecNonQuery(strSql.ToString());
        }
        public static Menu GetModel(int Id)
        {
            Menu MenuObj = new Menu();
            StringBuilder strSql = new StringBuilder();
            strSql.Append("select  ");
            strSql.Append("Id,Name,Path,ParentId,IsValid,MenuOrder,IsAloneOpen,ImgPath,OperatorNo,OperatorName,OperateDate ");
            strSql.Append(" from Menu ");
            strSql.Append(" where Id=" + Id + "");
            DataSet ds = DbHelperSQL.GetDataSet(strSql.ToString());
            if (ds.Tables[0].Rows.Count > 0)
            {
                if (ds.Tables[0].Rows[0]["Id"].ToString() != "")
                {
                    MenuObj.Id = int.Parse(ds.Tables[0].Rows[0]["Id"].ToString());
                }
                MenuObj.Name = ds.Tables[0].Rows[0]["Name"].ToString();
                MenuObj.Path = ds.Tables[0].Rows[0]["Path"].ToString();
                if (ds.Tables[0].Rows[0]["ParentId"].ToString() != "")
                {
                    MenuObj.ParentId = int.Parse(ds.Tables[0].Rows[0]["ParentId"].ToString());
                }
                if (ds.Tables[0].Rows[0]["IsValid"].ToString() != "")
                {
                    MenuObj.IsValid = int.Parse(ds.Tables[0].Rows[0]["IsValid"].ToString());
                }
                if (ds.Tables[0].Rows[0]["MenuOrder"].ToString() != "")
                {
                    MenuObj.MenuOrder = int.Parse(ds.Tables[0].Rows[0]["MenuOrder"].ToString());
                }
                if (ds.Tables[0].Rows[0]["IsAloneOpen"].ToString() != "")
                {
                    MenuObj.IsAloneOpen = int.Parse(ds.Tables[0].Rows[0]["IsAloneOpen"].ToString());
                }
                if (ds.Tables[0].Rows[0]["ImgPath"].ToString() != "")
                {
                    MenuObj.ImgPath = string.Format(ds.Tables[0].Rows[0]["ImgPath"].ToString());
                }
                MenuObj.OperatorNo = ds.Tables[0].Rows[0]["OperatorNo"].ToString();
                MenuObj.OperatorName = ds.Tables[0].Rows[0]["OperatorName"].ToString();
                if (ds.Tables[0].Rows[0]["OperateDate"].ToString() != "")
                {
                    MenuObj.OperateDate = DateTime.Parse(ds.Tables[0].Rows[0]["OperateDate"].ToString());
                }
            }
            return MenuObj;
        }
        public static DataTable GetDateTable(string strWhere)
        {
            StringBuilder strSql = new StringBuilder();
            strSql.Append("SELECT Id, Name, [Path], ParentId, CASE IsValid WHEN  1 THEN '有效' WHEN 0 THEN '无效'  END AS  IsValid,");
            strSql.Append("MenuOrder,CASE IsAloneOpen WHEN  1 THEN '是' WHEN 0 THEN '否'  END AS IsAloneOpen,ImgPath  FROM dbo.Menu ");
            if (strWhere.Trim() != "")
            {
                strSql.Append(" where " + strWhere);
            }
            return DbHelperSQL.GetDataTable(strSql.ToString());
        }
        public static List