SGGL_JT/SUBQHSE/BLL/ProjectData/SubcontractLeasingProtocolS...

207 lines
8.4 KiB
C#

namespace BLL
{
using System.Collections.Generic;
using System.Linq;
using Model;
public static class SubcontractLeasingProtocolService
{
public static Model.SUBQHSEDB db = Funs.DB;
/// <summary>
///获取协议信息
/// </summary>
/// <returns></returns>
public static Model.QualityAudit_SubcontractLeasingProtocol GetSubcontractLeasingProtocolById(string id)
{
return Funs.DB.QualityAudit_SubcontractLeasingProtocol.FirstOrDefault(e => e.Id == id);
}
/// <summary>
///获取协议信息
/// </summary>
/// <returns></returns>
public static Model.QualityAudit_SubcontractLeasingProtocol GetSubcontractLeasingProtocolByUnitIdProjectId(string projectId, string unitId)
{
return Funs.DB.QualityAudit_SubcontractLeasingProtocol.FirstOrDefault(e => e.ProjectId == projectId && e.UnitId == unitId);
}
/// <summary>
///获取分包协议信息
/// </summary>
/// <returns></returns>
public static List<Model.QualityAudit_SubcontractLeasingProtocol> GetSubcontractLeasingProtocolListByProjectId(string projectId)
{
using (Model.SUBQHSEDB db = new Model.SUBQHSEDB(Funs.ConnString))
{
return (from x in db.QualityAudit_SubcontractLeasingProtocol
join y in db.Base_Unit on x.UnitId equals y.UnitId
where x.ProjectId == projectId
orderby x.CompileDate, y.UnitCode
descending
select x).ToList();
}
}
/// <summary>
/// 根据项目及单位类型获取单位信息
/// </summary>
/// <returns></returns>
public static List<Model.QualityAudit_SubcontractLeasingProtocol> GetSubcontractLeasingProtocolListByProjectIdUnitType(string projectId, string unitType)
{
using (Model.SUBQHSEDB db = new Model.SUBQHSEDB(Funs.ConnString))
{
return (from x in db.QualityAudit_SubcontractLeasingProtocol
join y in db.Base_Unit on x.UnitId equals y.UnitId
where x.ProjectId == projectId// && x.UnitType == unitType
orderby x.CompileDate, y.UnitCode descending
select x).ToList();
}
}
/// <summary>
/// 增加分包协议信息
/// </summary>
/// <returns></returns>
public static void AddSubcontractLeasingProtocol(QualityAudit_SubcontractLeasingProtocol model)
{
SUBQHSEDB db = Funs.DB;
QualityAudit_SubcontractLeasingProtocol newmodel = new QualityAudit_SubcontractLeasingProtocol
{
Id = SQLHelper.GetNewID(typeof(Model.QualityAudit_SubcontractLeasingProtocol)),
ProjectId = model.ProjectId,
UnitId = model.UnitId,
Code = model.Code,
Name = model.Name,
Content = model.Content,
ValidStartDate = model.ValidStartDate,
ValidEndDate = model.ValidEndDate,
CompileMan = model.CompileMan,
CompileDate = model.CompileDate,
};
db.QualityAudit_SubcontractLeasingProtocol.InsertOnSubmit(newmodel);
db.SubmitChanges();
}
/// <summary>
///修改分包协议信息
/// </summary>
/// <param name="model"></param>
public static void UpdateSubcontractLeasingProtocol(Model.QualityAudit_SubcontractLeasingProtocol model)
{
Model.SUBQHSEDB db = Funs.DB;
Model.QualityAudit_SubcontractLeasingProtocol newmodel = db.QualityAudit_SubcontractLeasingProtocol.FirstOrDefault(e => e.Id == model.Id);
if (newmodel != null)
{
newmodel.Code = model.Code;
newmodel.Name = model.Name;
newmodel.Content = model.Content;
newmodel.UnitId = model.UnitId;
newmodel.CompileMan = model.CompileMan;
newmodel.CompileDate = model.CompileDate;
newmodel.ValidStartDate = model.ValidStartDate;
newmodel.ValidEndDate = model.ValidEndDate;
db.SubmitChanges();
}
}
/// <summary>
/// 根据分包协议Id删除一个分包协议信息
/// </summary>
/// <param name="modelId"></param>
public static void DeleteProjectSubcontractLeasingProtocolById(string modelId)
{
Model.SUBQHSEDB db = Funs.DB;
Model.QualityAudit_SubcontractLeasingProtocol delModel = db.QualityAudit_SubcontractLeasingProtocol.FirstOrDefault(e => e.Id == modelId);
if (delModel != null)
{
db.QualityAudit_SubcontractLeasingProtocol.DeleteOnSubmit(delModel);
db.SubmitChanges();
}
}
/// <summary>
///获取当前人单位是否 施工工分包单位且非本单位
/// </summary>
/// <returns></returns>
public static bool GetSubcontractLeasingProtocolTypeByProjectIdUnitId(string projectId, string unitId)
{
bool isShow = false;
string thisUnitId = string.Empty;
var thisUnit = CommonService.GetIsThisUnit();
if (thisUnit != null)
{
thisUnitId = thisUnit.UnitId;
}
if (unitId != thisUnitId)
{
var pUnit = Funs.DB.QualityAudit_SubcontractLeasingProtocol.FirstOrDefault(e => e.ProjectId == projectId && e.UnitId == unitId);
if (pUnit != null)
{
//if (pUnit.UnitType == Const.SubcontractLeasingProtocolType_2 || pUnit.UnitType == Const.SubcontractLeasingProtocolType_0)
//{
// isShow = true;
//}
}
}
return isShow;
}
#region
/// <summary>
/// 项目类型单位表下拉框
/// </summary>
/// <param name="dropName">下拉框名字</param>
/// <param name="isShowPlease">是否显示请选择</param>
public static void InitUnitDropDownList(FineUIPro.DropDownList dropName, string projectId, string unitType, bool isShowPlease)
{
using (Model.SUBQHSEDB db = new Model.SUBQHSEDB(Funs.ConnString))
{
var pUnit = (from x in db.QualityAudit_SubcontractLeasingProtocol
join y in db.Base_Unit on x.UnitId equals y.UnitId
where x.ProjectId == projectId //&& x.UnitType == unitType
orderby y.UnitCode
select y).ToList();
dropName.DataValueField = "UnitId";
dropName.DataTextField = "UnitName";
dropName.DataSource = pUnit;
dropName.DataBind();
if (isShowPlease)
{
Funs.FineUIPleaseSelect(dropName);
}
}
}
#endregion
/// <summary>
/// 根据Id删除分包协议
/// </summary>
/// <param name="projectId"></param>
public static void DeleteSubcontractLeasingProtocolById(string id)
{
var q = (from x in db.QualityAudit_SubcontractLeasingProtocol where x.Id == id select x).ToList();
if (q != null)
{
db.QualityAudit_SubcontractLeasingProtocol.DeleteAllOnSubmit(q);
db.SubmitChanges();
}
}
//public static List<Model.QualityAudit_SubcontractLeasingProtocol> GetSubcontractLeasingProtocolListByProjectIdForApi(string projectId, string unitType, string name)
//{
// Model.SUBQHSEDB db = Funs.DB;
// string[] types = unitType.Split(',');
// return (from x in db.QualityAudit_SubcontractLeasingProtocol
// join y in db.Base_Unit on x.UnitId equals y.UnitId
// where x.ProjectId == projectId
// where unitType == "" || types.Contains(x.UnitType)
// where name == "" || y.UnitName.Contains(name)
// orderby x.UnitType, y.UnitCode
// select x).ToList();
//}
}
}