CNCEC_SUBQHSE_WUHUAN/SGGL/BLL/BaseInfo/SteelService.cs

293 lines
9.2 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
using System.Web.UI.WebControls;
namespace BLL
{
public static class SteelService
{
public static Model.SGGLDB db = Funs.DB;
/// <summary>
/// 记录数
/// </summary>
public static int count
{
get;
set;
}
/// <summary>
/// 定义变量
/// </summary>
private static IQueryable<Model.BS_Steel> qq = from x in db.BS_Steel orderby x.STE_Code select x;
/// <summary>
/// 获取材质列表
/// </summary>
/// <param name="searchItem"></param>
/// <param name="searchValue"></param>
/// <param name="projectId"></param>
/// <param name="startRowIndex"></param>
/// <param name="maximumRows"></param>
/// <returns></returns>
public static IEnumerable GetListData(string searchItem, string searchValue, int startRowIndex, int maximumRows)
{
IQueryable<Model.BS_Steel> q = qq;
if (searchItem != "0")
{
if (!string.IsNullOrEmpty(searchValue))
{
if (searchItem == BLL.Const.STE_Code)
{
q = q.Where(e => e.STE_Code.Contains(searchValue));
}
if (searchItem == BLL.Const.STE_Name)
{
q = q.Where(e => e.STE_Name.Contains(searchValue));
}
if (searchItem == BLL.Const.STE_SteType)
{
var ste = (from x in GetSteTypeList() where x.Text.Contains(searchValue) select x.Value).ToList();
q = q.Where(e => ste.Contains(e.STE_SteelType.ToString()));
}
}
}
count = q.Count();
if (count == 0)
{
return new object[] { "" };
}
return from x in q.Skip(startRowIndex).Take(maximumRows)
select new
{
x.STE_ID,
x.STE_Code,
x.STE_Name,
x.STE_SteelType,
x.STE_Remark,
x.MaterialType,
x.MaterialGroup
};
}
/// <summary>
/// 获取列表数
/// </summary>
/// <param name="searchItem"></param>
/// <param name="searchValue"></param>
/// <param name="projectId"></param>
/// <returns></returns>
public static int GetListCount(string searchItem, string searchValue)
{
return count;
}
/// <summary>
/// 根据材质ID获取材质
/// </summary>
/// <param name="steId"></param>
/// <returns></returns>
public static Model.BS_Steel GetSteelBySteID(string steId)
{
return Funs.DB.BS_Steel.FirstOrDefault(e => e.STE_ID == steId);
}
/// <summary>
/// 根据材质类别获取材质
/// </summary>
/// <param name="steId"></param>
/// <returns></returns>
public static List<Model.BS_Steel> GetSteelByMaterialType(string type)
{
var steel = from x in Funs.DB.BS_Steel where x.MaterialType == type select x;
if (steel.Count() > 0)
{
return steel.ToList();
}
else
{
return null;
}
}
/// <summary>
/// 根据材质组别获取材质
/// </summary>
/// <param name="steId"></param>
/// <returns></returns>
public static List<Model.BS_Steel> GetSteelByMaterialGroup(string groups)
{
var steel = from x in Funs.DB.BS_Steel where x.MaterialGroup == groups select x;
if (steel.Count() > 0)
{
return steel.ToList();
}
else
{
return null;
}
}
/// <summary>
/// 添加材质
/// </summary>
/// <param name="steel"></param>
public static void AddSteel(Model.BS_Steel steel)
{
Model.SGGLDB db = Funs.DB;
Model.BS_Steel newSteel = new Model.BS_Steel();
string newKeyID = SQLHelper.GetNewID(typeof(Model.BS_Steel));
newSteel.STE_ID = newKeyID;
newSteel.STE_Code = steel.STE_Code;
newSteel.STE_Name = steel.STE_Name;
newSteel.STE_SteelType = steel.STE_SteelType;
newSteel.STE_Remark = steel.STE_Remark;
newSteel.MaterialType = steel.MaterialType;
newSteel.MaterialGroup = steel.MaterialGroup;
db.BS_Steel.InsertOnSubmit(newSteel);
db.SubmitChanges();
}
/// <summary>
/// 修改材质
/// </summary>
/// <param name="steel"></param>
public static void UpdateSteel(Model.BS_Steel steel)
{
Model.SGGLDB db = Funs.DB;
Model.BS_Steel newSteel = db.BS_Steel.FirstOrDefault(e => e.STE_ID == steel.STE_ID);
newSteel.STE_Code = steel.STE_Code;
newSteel.STE_Name = steel.STE_Name;
newSteel.STE_SteelType = steel.STE_SteelType;
newSteel.STE_Remark = steel.STE_Remark;
newSteel.MaterialType = steel.MaterialType;
newSteel.MaterialGroup = steel.MaterialGroup;
db.SubmitChanges();
}
/// <summary>
/// 删除
/// </summary>
/// <param name="ste_Id"></param>
public static void DeleteSteel(string ste_Id)
{
Model.SGGLDB db = Funs.DB;
Model.BS_Steel steel = db.BS_Steel.FirstOrDefault(e => e.STE_ID == ste_Id);
db.BS_Steel.DeleteOnSubmit(steel);
db.SubmitChanges();
}
/// <summary>
/// 判断是否存在相同的材质名称
/// </summary>
/// <param name="ste_code"></param>
/// <returns></returns>
public static bool IsExitSteelCode(string ste_name ,string SteelId)
{
Model.SGGLDB db = Funs.DB;
var q = from x in db.BS_Steel where x.STE_Name == ste_name && x.STE_ID != SteelId select x;
if (q.Count() > 0)
{
return true;
}
else
{
return false;
}
}
/// <summary>
/// 查询下拉列表值
/// </summary>
/// <returns></returns>
public static ListItem[] SearchItem()
{
ListItem[] list = new ListItem[3];
list[0] = new ListItem("材质代号", BLL.Const.STE_Code);
list[1] = new ListItem("材质名称", BLL.Const.STE_Name);
list[2] = new ListItem("钢材类型", BLL.Const.STE_SteType);
return list;
}
/// <summary>
/// 查询钢材类型下拉列表值
/// </summary>
/// <returns></returns>
public static ListItem[] GetSteTypeList()
{
ListItem[] list = new ListItem[4];
list[0] = new ListItem("碳钢", "1");
list[1] = new ListItem("不锈钢", "2");
list[2] = new ListItem("鉻目钢", "3");
list[3] = new ListItem("其他", "4");
return list;
}
/// <summary>
/// 根据材质代码获取材质信息
/// </summary>
/// <param name="unitCode"></param>
/// <returns></returns>
public static Model.BS_Steel GetSteelBySteelCode(string steelCode)
{
return Funs.DB.BS_Steel.FirstOrDefault(x => x.STE_Code == steelCode);
}
/// <summary>
/// 获取材质信息项
/// </summary>
/// <returns></returns>
public static ListItem[] GetSteelList()
{
var q = (from x in Funs.DB.BS_Steel orderby x.STE_Code select x).ToList();
ListItem[] item = new ListItem[q.Count()];
for (int i = 0; i < q.Count(); i++)
{
item[i] = new ListItem(q[i].STE_Name ?? "", q[i].STE_ID.ToString());
}
return item;
}
/// <summary>
/// 材质下拉框
/// </summary>
/// <param name="dropName"></param>
/// <param name="projectId"></param>
/// <param name="isShowPlease"></param>
public static void InitSteel(FineUIPro.DropDownList dropName, bool isShowPlease)
{
dropName.DataValueField = "Value";
dropName.DataTextField = "Text";
dropName.DataSource = GetSteelList();
dropName.DataBind();
if (isShowPlease)
{
Funs.FineUIPleaseSelect(dropName);
}
}
/// <summary>
/// 获取所有材质信息
/// </summary>
/// <returns></returns>
public static List<Model.BS_Steel> GetAllSteelList()
{
return (from x in Funs.DB.BS_Steel orderby x.STE_Code select x).ToList();
}
}
}