namespace BLL
{
    using Model;
    using System.Collections.Generic;
    using System.Linq;
    public static class Base_ComponentsService
    {
        /// 
        ///获取安装组件信息
        /// 
        /// 
        public static Model.Base_Components GetComponentsByComponentsId(string componentsId)
        {
            return Funs.DB.Base_Components.FirstOrDefault(e => e.ComponentsId == componentsId);
        }
        /// 
        /// 增加安装组件信息
        /// 
        /// 
        public static void AddComponents(Model.Base_Components components)
        {
            Model.SGGLDB db = Funs.DB;
            Model.Base_Components newComponents = new Base_Components
            {
                ComponentsId = components.ComponentsId,
                ComponentsCode = components.ComponentsCode,
                ComponentsName = components.ComponentsName,
                Remark = components.Remark,
                ProjeceId=components.ProjeceId,
            };
            db.Base_Components.InsertOnSubmit(newComponents);
            db.SubmitChanges();
        }
        /// 
        /// 修改安装组件信息 
        /// 
        /// 
        public static void UpdateComponents(Model.Base_Components components)
        {
            Model.SGGLDB db = Funs.DB;
            Model.Base_Components newComponents = db.Base_Components.FirstOrDefault(e => e.ComponentsId == components.ComponentsId);
            if (newComponents != null)
            {
                newComponents.ComponentsCode = components.ComponentsCode;
                newComponents.ComponentsName = components.ComponentsName;
                newComponents.Remark = components.Remark;
                newComponents.ProjeceId = components.ProjeceId;
                db.SubmitChanges();
            }
        }
        /// 
        /// 根据安装组件Id删除一个安装组件信息
        /// 
        /// 
        public static void DeleteComponentsByComponentsId(string componentsId)
        {
            Model.SGGLDB db = Funs.DB;
            Model.Base_Components delComponents = db.Base_Components.FirstOrDefault(e => e.ComponentsId == componentsId);
            if (delComponents != null)
            {
                db.Base_Components.DeleteOnSubmit(delComponents);
                db.SubmitChanges();
            }
        }
        /// 
        /// 按类型获取安装组件项
        /// 
        /// 
        /// 
        public static List GetComponentsList(string ProjeceId)
        {
            var list = (from x in Funs.DB.Base_Components
                        where x.ProjeceId==ProjeceId
                        orderby x.ComponentsCode
                        select x).ToList();
            return list;
        }
        #region 安装组件下拉项
        /// 
        /// 安装组件下拉项
        /// 
        /// 下拉框名称
        /// 是否显示请选择
        /// 耗材类型
        public static void InitComponentsDropDownList(FineUIPro.DropDownList dropName,string ProjeceId, bool isShowPlease,string itemText)
        {
            dropName.DataValueField = "ComponentsId";
            dropName.DataTextField = "ComponentsCode";
            dropName.DataSource = GetComponentsList(ProjeceId);
            dropName.DataBind();
            if (isShowPlease)
            {
                Funs.FineUIPleaseSelect(dropName,itemText);
            }
        }
        #endregion
    }
}