You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
using System; using System.Collections.Generic; using System.Linq; using System.Text; using ICSSoft.Frame.Data.Entity; using ICSSoft.Base.Config.AppConfig; using System.Data; using System.Data.Sql; using System.Data.Linq;
namespace ICSSoft.Frame.Data.DAL { public class ICSDCTDAL { #region AddandEdit
public static void AddandEdit(ICSDCT ItemLot, string Appconstr) { FramDataContext db = new FramDataContext(Appconstr); db.Connection.Open(); db.Transaction = db.Connection.BeginTransaction(); try { bool isNew = false; var line = db.ICSDCT.SingleOrDefault(a => a.ID == ItemLot.ID);
if (line == null) { isNew = true; line = new ICSDCT(); line.ID = AppConfig.GetGuid(); }
var codes = db.ICSDCT.Where(a => a.DCTCODE == ItemLot.DCTCODE && a.ID != line.ID); if (codes.ToList().Count > 0) { throw new Exception("DCT命令已存在"); }
line.DCTCODE = ItemLot.DCTCODE; line.DCTDESC = ItemLot.DCTDESC; line.MUSER = ItemLot.MUSER; line.MUSERName = ItemLot.MUSERName; line.MTIME = AppConfig.GetSeverDateTime("yyyy-MM-dd hh:mm:ss"); line.WorkPoint = AppConfig.WorkPointCode;
if (isNew) db.ICSDCT.InsertOnSubmit(line);
db.SubmitChanges(); db.Transaction.Commit(); } catch (Exception ex) { db.Transaction.Rollback(); throw new Exception(ex.Message); } } #endregion
#region select
public static ICSDCT select(String guid, String Appconstr) { FramDataContext db = new FramDataContext(Appconstr); db.Connection.Open(); db.Transaction = db.Connection.BeginTransaction(); ICSDCT entity = new ICSDCT(); try { var line = db.ICSDCT.SingleOrDefault(a => a.ID == guid); return (ICSDCT)line; } catch (Exception ex) { throw new Exception(ex.Message); } } #endregion
#region delete
public static void delete(List<String> guidList,List<string> codeList) { FramDataContext db = new FramDataContext(AppConfig.AppConnectString); db.Connection.Open(); db.Transaction = db.Connection.BeginTransaction(); try { var lines = db.ICSDCT.Where(a => guidList.Contains(a.ID)); var line = db.ICSRES.Where(a => codeList.Contains(a.DCTCODE)); if (line.Count() != 0) { throw new Exception("DCT指令在资源维护已经使用,无法删除!"); } db.ICSDCT.DeleteAllOnSubmit(lines);
db.SubmitChanges(); db.Transaction.Commit();
} catch (Exception ex) { db.Transaction.Rollback(); throw ex; } } #endregion
} }
|