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; /// /// 记录数 /// public static int count { get; set; } /// /// 定义变量 /// private static IQueryable qq = from x in db.BS_Steel orderby x.STE_Code select x; /// /// 获取材质列表 /// /// /// /// /// /// /// public static IEnumerable GetListData(string searchItem, string searchValue, int startRowIndex, int maximumRows) { IQueryable 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 }; } /// /// 获取列表数 /// /// /// /// /// public static int GetListCount(string searchItem, string searchValue) { return count; } /// /// 根据材质ID获取材质 /// /// /// public static Model.BS_Steel GetSteelBySteID(string steId) { return Funs.DB.BS_Steel.FirstOrDefault(e => e.STE_ID == steId); } /// /// 根据材质类别获取材质 /// /// /// public static List 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; } } /// /// 根据材质组别获取材质 /// /// /// public static List 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; } } /// /// 添加材质 /// /// 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(); } /// /// 修改材质 /// /// 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(); } /// /// 删除 /// /// 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(); } /// /// 判断是否存在相同的材质名称 /// /// /// 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; } } /// /// 查询下拉列表值 /// /// 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; } /// /// 查询钢材类型下拉列表值 /// /// 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; } /// /// 根据材质代码获取材质信息 /// /// /// public static Model.BS_Steel GetSteelBySteelCode(string steelCode) { return Funs.DB.BS_Steel.FirstOrDefault(x => x.STE_Code == steelCode); } /// /// 获取材质信息项 /// /// 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; } /// /// 材质下拉框 /// /// /// /// 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); } } /// /// 获取所有材质信息 /// /// public static List GetAllSteelList() { return (from x in Funs.DB.BS_Steel orderby x.STE_Code select x).ToList(); } } }