using System;
using System.Collections.Generic;
using System.Linq;
using System.Data.Linq;
using System.Text;
using System.Collections;
using System.Web.UI.WebControls;
namespace BLL
{
public class CostStatisticService
{
public static Model.SGGLDB db = Funs.DB;
///
/// 记录数
///
private static int count
{
get;
set;
}
///
/// 定义变量
///
private static IQueryable cost = from x in db.TC_CostStatistic orderby x.CostStatisticCode descending select x;
///
/// 获取分页列表
///
///
///
///
public static IEnumerable getListCost(string projectId, int startRowIndex, int maximumRows)
{
IQueryable q = cost;
if (!string.IsNullOrEmpty(projectId))
{
q = q.Where(e => e.ProjectId == projectId);
}
count = q.Count();
if (count == 0)
{
return new object[] { "" };
}
return from x in q.Skip(startRowIndex).Take(maximumRows)
select new
{
x.CostStatisticCode,
x.ProjectId,
Months = Convert.ToDateTime(x.Months).Year + "-" + (Convert.ToInt32(Convert.ToDateTime(x.Months).Month) < 10 ? ("0" + Convert.ToDateTime(x.Months).Month).ToString() : Convert.ToDateTime(x.Months).Month.ToString()),
};
}
///
/// 获取列表数
///
///
public static int getListCount(string projectId)
{
return count;
}
///
/// 根据费用汇总编号查询费用汇总信息
///
/// 费用汇总编号
/// 费用汇总信息
public static Model.TC_CostStatistic GetCostStatisticByCostStatisticCode(string costStatisticCode)
{
return Funs.DB.TC_CostStatistic.FirstOrDefault(x => x.CostStatisticCode == costStatisticCode);
}
///
/// 根据月份和项目号查询费用汇总信息
///
/// 月份
/// 项目号
/// 费用汇总信息
public static Model.TC_CostStatistic GetCostStatisticByMonthsAndProjectId(DateTime months, string projectId)
{
return Funs.DB.TC_CostStatistic.FirstOrDefault(x => x.Months == months && x.ProjectId == projectId);
}
///
/// 根据月份和项目号查询最近的一条费用汇总信息
///
/// 月份
/// 项目号
/// 费用汇总信息
public static Model.TC_CostStatistic GetLastCostStatisticByMonthsAndProjectId(DateTime months, string projectId)
{
return (from x in Funs.DB.TC_CostStatistic where x.Months < months && x.ProjectId == projectId orderby x.Months descending select x).FirstOrDefault();
}
///
/// 增加费用汇总信息
///
/// 费用汇总实体
public static void AddCostStatistic(Model.TC_CostStatistic tc_CostStatistic)
{
Model.SGGLDB db = Funs.DB;
Model.TC_CostStatistic newtc_CostStatistic = new Model.TC_CostStatistic
{
CostStatisticCode = tc_CostStatistic.CostStatisticCode,
ProjectId = tc_CostStatistic.ProjectId,
Months = tc_CostStatistic.Months,
CompileMan = tc_CostStatistic.CompileMan,
CompileDate = tc_CostStatistic.CompileDate
};
db.TC_CostStatistic.InsertOnSubmit(newtc_CostStatistic);
db.SubmitChanges();
}
///
/// 根据费用汇总主键删除一个费用汇总信息
///
/// 费用汇总主键
public static void DeleteCostStatisticByCostStatisticCode(string costStatisticCode)
{
Model.SGGLDB db = Funs.DB;
Model.TC_CostStatistic tc_CostStatistic = db.TC_CostStatistic.FirstOrDefault(e => e.CostStatisticCode == costStatisticCode);
if (tc_CostStatistic != null)
{
db.TC_CostStatistic.DeleteOnSubmit(tc_CostStatistic);
db.SubmitChanges();
}
}
}
}