using System;
using System.Collections;
using System.Diagnostics.CodeAnalysis;
using System.Globalization;
using System.Linq;
using System.Data.Linq;
using System.Web.Security;
using System.Web.UI.WebControls;
using Model;
using BLL;
using System.Collections.Generic;
namespace BLL
{
public class CnProfessionService
{
///
/// 根据专业Id获取专业信息
///
/// 专业Id
///
public static Model.WBS_CnProfession GetCnProfessionByCnProfessionId(string cnProfessionId)
{
return Funs.DB.WBS_CnProfession.FirstOrDefault(e => e.CnProfessionId == cnProfessionId);
}
///
/// 根据装置Id和专业编号获取专业Id
///
/// 专业Id
///
public static List GetCnProfessionIdsByInstallationIdAndOldId(string installationId, string oldId)
{
List cnProfessionIds = new List();
Model.SGGLDB db = Funs.DB;
var ins = db.Project_Installation.FirstOrDefault(x => x.InstallationId == installationId);
var childInss = from x in db.Project_Installation where x.SuperInstallationId == installationId select x;
if (childInss.Count() == 0)
{
var cn = db.WBS_CnProfession.FirstOrDefault(x => x.InstallationId == ins.InstallationId && x.OldId.ToString() == oldId);
if (cn != null)
{
cnProfessionIds.Add(cn.CnProfessionId);
}
}
else
{
var childIns = from x in db.Project_Installation where x.SuperInstallationId == installationId select x;
foreach (var childIn in childIns)
{
cnProfessionIds.AddRange(GetCnProfessionIdsByInstallationIdAndOldId(childIn.InstallationId,oldId));
}
}
return cnProfessionIds;
}
///
/// 增加专业
///
/// 专业
public static void AddCnProfession(Model.WBS_CnProfession cnProfession)
{
Model.SGGLDB db = Funs.DB;
Model.WBS_CnProfession newCnP = new Model.WBS_CnProfession();
newCnP.CnProfessionId = SQLHelper.GetNewID(typeof(Model.WBS_CnProfession));
newCnP.CnProfessionName = cnProfession.CnProfessionName;
newCnP.CnProfessionCode = cnProfession.CnProfessionCode;
newCnP.InstallationId = cnProfession.InstallationId;
newCnP.ProjectId = cnProfession.ProjectId;
newCnP.StartDate = cnProfession.StartDate;
newCnP.EndDate = cnProfession.EndDate;
newCnP.Weights = cnProfession.Weights;
newCnP.OldId = cnProfession.OldId;
newCnP.UnitId = cnProfession.UnitId;
db.WBS_CnProfession.InsertOnSubmit(newCnP);
db.SubmitChanges();
}
///
/// 修改专业
///
/// 专业
public static void UpdateCnProfession(Model.WBS_CnProfession cnProfession)
{
Model.SGGLDB db = Funs.DB;
Model.WBS_CnProfession newCnP = db.WBS_CnProfession.First(e => e.CnProfessionId == cnProfession.CnProfessionId);
newCnP.CnProfessionName = cnProfession.CnProfessionName;
newCnP.CnProfessionCode = cnProfession.CnProfessionCode;
newCnP.StartDate = cnProfession.StartDate;
newCnP.EndDate = cnProfession.EndDate;
newCnP.Weights = cnProfession.Weights;
newCnP.WeightsMoney = cnProfession.WeightsMoney;
newCnP.IsWeightsApprove = cnProfession.IsWeightsApprove;
newCnP.UnitId = cnProfession.UnitId;
newCnP.IsSelected = cnProfession.IsSelected;
newCnP.IsApprove = cnProfession.IsApprove;
db.SubmitChanges();
}
///
/// 根据Id删除专业信息
///
///
public static void DeleteCnProfession(string cnProfessionId)
{
Model.SGGLDB db = Funs.DB;
Model.WBS_CnProfession CnP = db.WBS_CnProfession.First(e => e.CnProfessionId == cnProfessionId);
db.WBS_CnProfession.DeleteOnSubmit(CnP);
db.SubmitChanges();
}
///
/// 获取装置下所有专业
///
///
public static List GetCnProfessionByInstallation(string ins)
{
var list = (from x in Funs.DB.WBS_CnProfession where x.InstallationId == ins orderby x.CnProfessionId select x).ToList();
return list;
}
///
/// 获取专业下拉选项
///
///
public static List GetCnProfessionDropDownList()
{
var list = (from x in Funs.DB.WBS_CnProfessionInit orderby x.CnProfessionId select x).ToList();
return list;
}
///
/// 获取专业下拉选项(不含总图)
///
///
public static List GetCnProfessionDropDownList2()
{
var list = (from x in Funs.DB.WBS_CnProfessionInit where x.CnProfessionId != 19 orderby x.CnProfessionId select x).ToList();
return list;
}
}
}