using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
using System.Web.UI.WebControls;
using Model;
using RestSharp.Extensions;
namespace BLL
{
    public class DesignDrawingService
    {
        /// 
        /// 获取IDP文件
        /// 
        /// 
        public static List GetIDPDesignDrawingFile()
        {
            return (from x in Funs.DB.IDP_DesignDrawing select x).ToList();
        }
        /// 
        /// 获取IDP文件id
        /// 
        /// 
        public static List GetIDPDesignDrawingFileId()
        {
            return (from x in Funs.DB.IDP_DesignDrawing select x.IdpfileId).ToList();
        }
        ///// 
        ///// 添加分项
        ///// 
        ///// 
        //public static void AddBreakdown(Model.WBS_Breakdown breakdown)
        //{
        //    Model.SGGLDB db = Funs.DB;
        //    Model.WBS_Breakdown newBreakdown = new Model.WBS_Breakdown();
        //    newBreakdown.BreakdownId = breakdown.BreakdownId;
        //    newBreakdown.BreakdownCode = breakdown.BreakdownCode;
        //    newBreakdown.BreakdownName = breakdown.BreakdownName;
        //    newBreakdown.DivisionId = breakdown.DivisionId;
        //    newBreakdown.Basis = breakdown.Basis;
        //    newBreakdown.CheckPoints = breakdown.CheckPoints;
        //    newBreakdown.RecordAndCode = breakdown.RecordAndCode;
        //    newBreakdown.Class = breakdown.Class;
        //    newBreakdown.SortIndex = breakdown.SortIndex;
        //    newBreakdown.Remark = breakdown.Remark;
        //    newBreakdown.ModelURL = breakdown.ModelURL;
        //    newBreakdown.IsAcceptance = breakdown.IsAcceptance;
        //    newBreakdown.FenBao = breakdown.FenBao;
        //    newBreakdown.WuHuan = breakdown.WuHuan;
        //    newBreakdown.JianLi = breakdown.JianLi;
        //    newBreakdown.YeZhu = breakdown.YeZhu;
        //    newBreakdown.CheckAcceptType = breakdown.CheckAcceptType;
        //    db.WBS_Breakdown.InsertOnSubmit(newBreakdown);
        //    db.SubmitChanges();
        //}
        ///// 
        ///// 修改分项
        ///// 
        ///// 
        //public static void UpdateBreakdown(Model.WBS_Breakdown breakdown)
        //{
        //    Model.SGGLDB db = Funs.DB;
        //    Model.WBS_Breakdown newBreakdown = db.WBS_Breakdown.First(e => e.BreakdownId == breakdown.BreakdownId);
        //    newBreakdown.BreakdownCode = breakdown.BreakdownCode;
        //    newBreakdown.BreakdownName = breakdown.BreakdownName;
        //    newBreakdown.DivisionId = breakdown.DivisionId;
        //    newBreakdown.Basis = breakdown.Basis;
        //    newBreakdown.CheckPoints = breakdown.CheckPoints;
        //    newBreakdown.RecordAndCode = breakdown.RecordAndCode;
        //    newBreakdown.Class = breakdown.Class;
        //    newBreakdown.SortIndex = breakdown.SortIndex;
        //    newBreakdown.Remark = breakdown.Remark;
        //    newBreakdown.ModelURL = breakdown.ModelURL;
        //    newBreakdown.FenBao = breakdown.FenBao;
        //    newBreakdown.WuHuan = breakdown.WuHuan;
        //    newBreakdown.JianLi = breakdown.JianLi;
        //    newBreakdown.YeZhu = breakdown.YeZhu;
        //    newBreakdown.CheckAcceptType = breakdown.CheckAcceptType;
        //    db.SubmitChanges();
        //}
        /// 
        ///  装工主名称下拉框
        /// 
        /// 项目id
        /// 下拉框名字
        /// 是否显示请选择
        public static void InitWbsFullPathDropDownList(FineUIPro.DropDownList dropName, string projectId, bool isShowPlease)
        {
            dropName.DataValueField = "string";
            dropName.DataTextField = "string";
            dropName.DataSource = GetWbsFullPathDropDownList(projectId);
            dropName.DataBind();
            if (isShowPlease)
            {
                Funs.FineUIPleaseSelect(dropName);
            }
        }
        /// 
        /// 装工主名称下拉框
        /// 
        /// 项目id
        /// 
        public static List GetWbsFullPathDropDownList(string projectId)
        {
            var list = (from x in Funs.DB.IDP_DesignDrawing
                        where x.ProjectId == projectId && x.WbsFullPath != null && x.WbsFullPath != ""
                        select x.WbsFullPath).Distinct().OrderBy(x => x).ToList();
            return list;
        }
        /// 
        ///  版次下拉框
        /// 
        /// 项目id
        /// 下拉框名字
        /// 是否显示请选择
        public static void InitFileVersionDropDownList(FineUIPro.DropDownList dropName, string projectId, bool isShowPlease)
        {
            dropName.DataValueField = "string";
            dropName.DataTextField = "string";
            dropName.DataSource = GetFileVersionDropDownList(projectId);
            dropName.DataBind();
            if (isShowPlease)
            {
                Funs.FineUIPleaseSelect(dropName);
            }
        }
        /// 
        /// 版次下拉框
        /// 
        /// 项目id
        /// 
        public static List GetFileVersionDropDownList(string projectId)
        {
            var list = (from x in Funs.DB.IDP_DesignDrawing
                        where x.ProjectId == projectId && x.FileVersion != null && x.FileVersion != ""
                        select x.FileVersion).Distinct().OrderBy(x => x).ToList();
            return list;
        }
        /// 
        ///  专业编码下拉框
        /// 
        /// 项目id
        /// 下拉框名字
        /// 是否显示请选择
        public static void InitMajorNoDropDownList(FineUIPro.DropDownList dropName, string projectId, bool isShowPlease)
        {
            dropName.DataValueField = "string";
            dropName.DataTextField = "string";
            dropName.DataSource = GetMajorNoDropDownList(projectId);
            dropName.DataBind();
            if (isShowPlease)
            {
                Funs.FineUIPleaseSelect(dropName);
            }
        }
        /// 
        /// 专业编码下拉框
        /// 
        /// 项目id
        /// 
        public static List GetMajorNoDropDownList(string projectId)
        {
            var list = (from x in Funs.DB.IDP_DesignDrawing
                        where x.ProjectId == projectId && x.MajorNo != null && x.MajorNo != ""
                        select x.MajorNo).Distinct().OrderBy(x => x).ToList();
            return list;
        }
        /// 
        ///  专业名称下拉框
        /// 
        /// 项目id
        /// 下拉框名字
        /// 是否显示请选择
        public static void InitMajorNameDropDownList(FineUIPro.DropDownList dropName, string projectId, bool isShowPlease)
        {
            dropName.DataValueField = "string";
            dropName.DataTextField = "string";
            dropName.DataSource = GetMajorNameDropDownList(projectId);
            dropName.DataBind();
            if (isShowPlease)
            {
                Funs.FineUIPleaseSelect(dropName);
            }
        }
        /// 
        /// 专业名称下拉框
        /// 
        /// 项目id
        /// 
        public static List GetMajorNameDropDownList(string projectId)
        {
            var list = (from x in Funs.DB.IDP_DesignDrawing
                        where x.ProjectId == projectId && x.MajorName != null && x.MajorName != ""
                        select x.MajorName).Distinct().OrderBy(x => x).ToList();
            return list;
        }
        /// 
        ///  发布状态下拉框
        /// 
        /// 项目id
        /// 下拉框名字
        /// 是否显示请选择
        public static void InitStatusNameDropDownList(FineUIPro.DropDownList dropName, string projectId, bool isShowPlease)
        {
            dropName.DataValueField = "string";
            dropName.DataTextField = "string";
            dropName.DataSource = GetStatusDropDownList(projectId);
            dropName.DataBind();
            if (isShowPlease)
            {
                Funs.FineUIPleaseSelect(dropName);
            }
        }
        /// 
        /// 发布状态下拉框
        /// 
        /// 项目id
        /// 
        public static List GetStatusDropDownList(string projectId)
        {
            var list = (from x in Funs.DB.IDP_DesignDrawing
                        where x.ProjectId == projectId && x.Status != null && x.Status != ""
                        select x.Status).Distinct().OrderBy(x => x).ToList();
            return list;
        }
        /// 
        ///  保密等级下拉框
        /// 
        /// 项目id
        /// 下拉框名字
        /// 是否显示请选择
        public static void InitClassDropDownList(FineUIPro.DropDownList dropName, string projectId, bool isShowPlease)
        {
            dropName.DataValueField = "string";
            dropName.DataTextField = "string";
            dropName.DataSource = GetClassDropDownList(projectId);
            dropName.DataBind();
            if (isShowPlease)
            {
                Funs.FineUIPleaseSelect(dropName);
            }
        }
        /// 
        /// 保密等级下拉框
        /// 
        /// 项目id
        /// 
        public static List GetClassDropDownList(string projectId)
        {
            var list = (from x in Funs.DB.IDP_DesignDrawing
                        where x.ProjectId == projectId && x.ClassificationLevelInProject != null && x.ClassificationLevelInProject != ""
                        select x.ClassificationLevelInProject).Distinct().OrderBy(x => x).ToList();
            return list;
        }
        /// 
        ///  设计人下拉框
        /// 
        /// 项目id
        /// 下拉框名字
        /// 是否显示请选择
        public static void InitDesignUserNameDropDownList(FineUIPro.DropDownList dropName, string projectId, bool isShowPlease)
        {
            dropName.DataValueField = "string";
            dropName.DataTextField = "string";
            dropName.DataSource = GetDesignUserNameDropDownList(projectId);
            dropName.DataBind();
            if (isShowPlease)
            {
                Funs.FineUIPleaseSelect(dropName);
            }
        }
        /// 
        /// 设计人下拉框
        /// 
        /// 项目id
        /// 
        public static List GetDesignUserNameDropDownList(string projectId)
        {
            var list = (from x in Funs.DB.IDP_DesignDrawing
                        where x.ProjectId == projectId && x.DesignUserName != null && x.DesignUserName != ""
                        select x.DesignUserName).Distinct().OrderBy(x => x).ToList();
            return list;
        }
        /// 
        ///  校核人下拉框
        /// 
        /// 项目id
        /// 下拉框名字
        /// 是否显示请选择
        public static void InitJiaoheUserNameDropDownList(FineUIPro.DropDownList dropName, string projectId, bool isShowPlease)
        {
            dropName.DataValueField = "string";
            dropName.DataTextField = "string";
            dropName.DataSource = GetJiaoheUserNameDropDownList(projectId);
            dropName.DataBind();
            if (isShowPlease)
            {
                Funs.FineUIPleaseSelect(dropName);
            }
        }
        /// 
        /// 校核人下拉框
        /// 
        /// 项目id
        /// 
        public static List GetJiaoheUserNameDropDownList(string projectId)
        {
            var list = (from x in Funs.DB.IDP_DesignDrawing
                        where x.ProjectId == projectId && x.JiaoheUserName != null && x.JiaoheUserName != ""
                        select x.JiaoheUserName).Distinct().OrderBy(x => x).ToList();
            return list;
        }
        /// 
        ///  审核人下拉框
        /// 
        /// 项目id
        /// 下拉框名字
        /// 是否显示请选择
        public static void InitShenheUserNameDropDownList(FineUIPro.DropDownList dropName, string projectId, bool isShowPlease)
        {
            dropName.DataValueField = "string";
            dropName.DataTextField = "string";
            dropName.DataSource = GetShenheUserNameDropDownList(projectId);
            dropName.DataBind();
            if (isShowPlease)
            {
                Funs.FineUIPleaseSelect(dropName);
            }
        }
        /// 
        /// 审核人下拉框
        /// 
        /// 项目id
        /// 
        public static List GetShenheUserNameDropDownList(string projectId)
        {
            var list = (from x in Funs.DB.IDP_DesignDrawing
                        where x.ProjectId == projectId && x.ShenheUserName != null && x.ShenheUserName != ""
                        select x.ShenheUserName).Distinct().OrderBy(x => x).ToList();
            return list;
        }
        /// 
        ///  审定人下拉框
        /// 
        /// 项目id
        /// 下拉框名字
        /// 是否显示请选择
        public static void InitShendingUserNameDropDownList(FineUIPro.DropDownList dropName, string projectId, bool isShowPlease)
        {
            dropName.DataValueField = "string";
            dropName.DataTextField = "string";
            dropName.DataSource = GetShendingUserNameDropDownList(projectId);
            dropName.DataBind();
            if (isShowPlease)
            {
                Funs.FineUIPleaseSelect(dropName);
            }
        }
        /// 
        /// 审定人下拉框
        /// 
        /// 项目id
        /// 
        public static List GetShendingUserNameDropDownList(string projectId)
        {
            var list = (from x in Funs.DB.IDP_DesignDrawing
                        where x.ProjectId == projectId && x.ShendingUserName != null && x.ShendingUserName != ""
                        select x.ShendingUserName).Distinct().OrderBy(x => x).ToList();
            return list;
        }
        /// 
        ///  专业负责人下拉框
        /// 
        /// 项目id
        /// 下拉框名字
        /// 是否显示请选择
        public static void InitMajorResponsibleUserNameDropDownList(FineUIPro.DropDownList dropName, string projectId, bool isShowPlease)
        {
            dropName.DataValueField = "string";
            dropName.DataTextField = "string";
            dropName.DataSource = GetMajorResponsibleUserNameDropDownList(projectId);
            dropName.DataBind();
            if (isShowPlease)
            {
                Funs.FineUIPleaseSelect(dropName);
            }
        }
        /// 
        /// 专业负责人下拉框
        /// 
        /// 项目id
        /// 
        public static List GetMajorResponsibleUserNameDropDownList(string projectId)
        {
            var list = (from x in Funs.DB.IDP_DesignDrawing
                        where x.ProjectId == projectId && x.MajorResponsibleUserName != null && x.MajorResponsibleUserName != ""
                        select x.MajorResponsibleUserName).Distinct().OrderBy(x => x).ToList();
            return list;
        }
    }
}