using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BLL
{
public class CostControlDetailHistoryService
{
///
/// 根据Id获取一个费控项明细历史记录信息
///
/// 费控项明细历史记录Id
public static Model.WBS_CostControlDetailHistory GetCostControlDetailHistoryByCostControlDetailHistoryId(string costControlDetailHistoryId)
{
return Funs.DB.WBS_CostControlDetailHistory.FirstOrDefault(e => e.CostControlDetailHistoryId == costControlDetailHistoryId);
}
///
/// 根据CostControlId判断是否存在费控项明细历史记录信息
///
/// costControlId
public static bool IsExitCostControlDetailHistoryByCostControlId(string costControlId)
{
return (from x in Funs.DB.WBS_CostControlDetailHistory where x.CostControlId == costControlId select x).Count() > 0;
}
///
/// 根据Id获取对应费控项月明细历史记录信息
///
/// 对应wbsId
public static List GetMonthCostControlDetailHistorysByCostControlId(string costControlId)
{
return (from x in Funs.DB.WBS_CostControlDetailHistory where x.CostControlId == costControlId && x.StartDate == null orderby x.VersionNum, x.Months select x).ToList();
}
///
/// 根据Id获取对应费控项周明细历史记录信息
///
/// 对应wbsId
public static List GetWeekCostControlDetailHistorysByCostControlId(string costControlId, DateTime months)
{
return (from x in Funs.DB.WBS_CostControlDetailHistory where x.CostControlId == costControlId && x.Months == months && x.StartDate != null orderby x.VersionNum, x.StartDate select x).ToList();
}
///
/// 根据costControlId和年及月获取对应费控项明细历史记录信息
///
/// 对应wbsId
/// 对应标志
/// 年
/// 月
public static Model.WBS_CostControlDetailHistory GetCostControlDetailHistoryByCostControlIdAndMonths(string costControlId, DateTime months)
{
return (from x in Funs.DB.WBS_CostControlDetailHistory where x.CostControlId == costControlId && x.Months == months select x).FirstOrDefault();
}
public static Model.WBS_CostControlDetailHistory GetWBS_CostControlDetailHistoryByCostControlId(string costControlId)
{
return (from x in Funs.DB.WBS_CostControlDetailHistory where x.CostControlId == costControlId select x).FirstOrDefault();
}
///
///
///
///
///
///
///
public static bool IsExitWBS_CostControlDetailHistoryByCostControlIdOrMonth(string costControlId, DateTime months)
{
bool result = false;
var q = Funs.DB.WBS_CostControlDetailHistory.FirstOrDefault(e => e.CostControlId == costControlId && e.Months == months);
if (q != null)
{
result = true;
}
return result;
}
///
/// 根据年及月获取之前月份的对应费控项明细历史记录信息集合(含当月)
///
/// 年
/// 月
public static List GetTotalWBS_CostControlDetailHistorysByYearMonth2(string costControlId, DateTime months)
{
return (from x in Funs.DB.WBS_CostControlDetailHistory where x.CostControlId == costControlId && x.Months <= months select x).ToList();
}
///
/// 根据CostControlId月获取当前月计划最大版本
///
/// costControlId
public static int GetMonthMaxVersionNumByCostControlId(string costControlId)
{
int i = 0;
var q = (from x in Funs.DB.WBS_CostControlDetailHistory where x.CostControlId == costControlId && x.StartDate == null orderby x.VersionNum descending select x.VersionNum ?? 0).ToList();
if (q.Count > 0)
{
i = q[0];
}
return i;
}
///
/// 根据CostControlId月获取当前周计划最大版本
///
/// costControlId
public static int GetWeekMaxVersionNumByCostControlId(string costControlId, DateTime months)
{
int i = 0;
var q = (from x in Funs.DB.WBS_CostControlDetailHistory where x.CostControlId == costControlId && x.Months == months && x.StartDate != null orderby x.VersionNum descending select x.VersionNum ?? 0).ToList();
if (q.Count > 0)
{
i = q[0];
}
return i;
}
///
/// 增加费控项明细历史记录
///
/// 费控项明细历史记录
public static void AddCostControlDetailHistory(Model.WBS_CostControlDetailHistory costControlDetailHistory)
{
Model.SGGLDB db = Funs.DB;
Model.WBS_CostControlDetailHistory newWBS_CostControlDetailHistory = new Model.WBS_CostControlDetailHistory();
newWBS_CostControlDetailHistory.CostControlDetailHistoryId = costControlDetailHistory.CostControlDetailHistoryId;
newWBS_CostControlDetailHistory.CostControlId = costControlDetailHistory.CostControlId;
newWBS_CostControlDetailHistory.Months = costControlDetailHistory.Months;
newWBS_CostControlDetailHistory.StartDate = costControlDetailHistory.StartDate;
newWBS_CostControlDetailHistory.EndDate = costControlDetailHistory.EndDate;
newWBS_CostControlDetailHistory.PlanNum = costControlDetailHistory.PlanNum;
newWBS_CostControlDetailHistory.VersionNum = costControlDetailHistory.VersionNum;
db.WBS_CostControlDetailHistory.InsertOnSubmit(newWBS_CostControlDetailHistory);
db.SubmitChanges();
}
///
/// 修改费控项明细历史记录
///
/// 费控项明细历史记录
public static void UpdateCostControlDetailHistory(Model.WBS_CostControlDetailHistory costControlDetailHistory)
{
Model.SGGLDB db = Funs.DB;
Model.WBS_CostControlDetailHistory newWBS_CostControlDetailHistory = db.WBS_CostControlDetailHistory.First(e => e.CostControlDetailHistoryId == costControlDetailHistory.CostControlDetailHistoryId);
newWBS_CostControlDetailHistory.StartDate = costControlDetailHistory.StartDate;
newWBS_CostControlDetailHistory.EndDate = costControlDetailHistory.EndDate;
newWBS_CostControlDetailHistory.PlanNum = costControlDetailHistory.PlanNum;
db.SubmitChanges();
}
///
/// 根据Id删除费控项明细历史记录信息
///
///
public static void DeleteCostControlDetailHistory(string costControlDetailHistoryId)
{
Model.SGGLDB db = Funs.DB;
Model.WBS_CostControlDetailHistory ins = db.WBS_CostControlDetailHistory.First(e => e.CostControlDetailHistoryId == costControlDetailHistoryId);
db.WBS_CostControlDetailHistory.DeleteOnSubmit(ins);
db.SubmitChanges();
}
///
/// 根据costControlId删除费控项明细历史记录信息
///
///
public static void DeleteCostControlDetailHistoryByCostControlId(string costControlId)
{
Model.SGGLDB db = Funs.DB;
var details = from x in db.WBS_CostControlDetailHistory where x.CostControlId == costControlId select x;
if (details.Count() > 0)
{
db.WBS_CostControlDetailHistory.DeleteAllOnSubmit(details);
db.SubmitChanges();
}
}
}
}