using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BLL
{
    /// 
    /// 国外项目专业
    /// 
    public static class ForeignCNProfessionalService
    {
        /// 
        /// 根据主键返回一个专业信息
        /// 
        /// 专业编号
        /// 
        public static Model.WBS_ForeignCNProfessional GetForeignCNProfessionalById(string cnProfessionalId)
        {
            return Funs.DB.WBS_ForeignCNProfessional.FirstOrDefault(x => x.CNProfessionalId == cnProfessionalId);
        }
        /// 
        /// 获取国外专业列表
        /// 
        /// 
        public static List GetForeignCNProfessionalList()
        {
            return (from x in Funs.DB.WBS_ForeignCNProfessional orderby x.SortIndex select x).ToList();
        }
        /// 
        /// 添加专业
        /// 
        /// 
        public static void AddForeignCNProfessional(Model.WBS_ForeignCNProfessional cNProfessional)
        {
            Model.WBS_ForeignCNProfessional newCNProfessional = new Model.WBS_ForeignCNProfessional();
            newCNProfessional.CNProfessionalId = cNProfessional.CNProfessionalId;
            newCNProfessional.CNProfessionalCode = cNProfessional.CNProfessionalCode;
            newCNProfessional.ProfessionalName = cNProfessional.ProfessionalName;
            newCNProfessional.SortIndex = cNProfessional.SortIndex;
            Funs.DB.WBS_ForeignCNProfessional.InsertOnSubmit(newCNProfessional);
            Funs.DB.SubmitChanges();
        }
        /// 
        /// 修改专业
        /// 
        /// 
        public static void UpdateForeignCNProfessional(Model.WBS_ForeignCNProfessional cNProfessional)
        {
            Model.WBS_ForeignCNProfessional newCNProfessional = Funs.DB.WBS_ForeignCNProfessional.FirstOrDefault(e => e.CNProfessionalId == cNProfessional.CNProfessionalId);
            if (newCNProfessional != null)
            {
                newCNProfessional.CNProfessionalCode = cNProfessional.CNProfessionalCode;
                newCNProfessional.ProfessionalName = cNProfessional.ProfessionalName;
                newCNProfessional.SortIndex = cNProfessional.SortIndex;
                Funs.DB.SubmitChanges();
            }
        }
        /// 
        /// 根据一个专业信息
        /// 
        /// 
        public static void DeleteForeignCNProfessionalById(string cNProfessionalId)
        {
            Model.WBS_ForeignCNProfessional professional = Funs.DB.WBS_ForeignCNProfessional.FirstOrDefault(e => e.CNProfessionalId == cNProfessionalId);
            if (professional != null)
            {
                Funs.DB.WBS_ForeignCNProfessional.DeleteOnSubmit(professional);
                Funs.DB.SubmitChanges();
            }
        }
        public static void InitForeignCNProfessionalDropDownList(FineUIPro.DropDownList dropName, bool isShowPlease)
        {
            var foreignCNProfessionals = from x in Funs.DB.WBS_ForeignCNProfessional                            
                            orderby x.SortIndex
                            select new
                            {
                                x.CNProfessionalId,
                                x.ProfessionalName
                            };
            dropName.DataValueField = "CNProfessionalId";
            dropName.DataTextField = "ProfessionalName";
            dropName.DataSource = foreignCNProfessionals;
            dropName.DataBind();
            if (isShowPlease)
            {
                Funs.FineUIPleaseSelect(dropName);
            }
        }
        /// 
        /// 判断专业编号是否存在
        /// 
        /// 
        /// 
        public static bool IsExistForeignCNProfessionalCode(string cNProfessionalCode, string cNProfessionalId)
        {
            Model.WBS_ForeignCNProfessional m = Funs.DB.WBS_ForeignCNProfessional.FirstOrDefault(e => e.CNProfessionalCode == cNProfessionalCode && e.CNProfessionalId != cNProfessionalId);
            if (m != null)
            {
                return true;
            }
            else
            {
                return false;
            }
        }
        /// 
        /// 判断专业名称是否存在
        /// 
        /// 
        /// 
        public static bool IsExistForeignCNProfessionalName(string professionalName, string cNProfessionalId)
        {
            Model.WBS_ForeignCNProfessional m = Funs.DB.WBS_ForeignCNProfessional.FirstOrDefault(e => e.ProfessionalName == professionalName && e.CNProfessionalId != cNProfessionalId);
            if (m != null)
            {
                return true;
            }
            else
            {
                return false;
            }
        }
    }
}