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 ICSECSDAL { #region AddandEdit public static void AddandEdit(ICSECS ItemLot, string Appconstr) { FramDataContext db = new FramDataContext(Appconstr); db.Connection.Open(); db.Transaction = db.Connection.BeginTransaction(); try { bool isNew = false; var line = db.ICSECS.SingleOrDefault(a => a.ID == ItemLot.ID && a.WorkPoint == AppConfig.WorkPointCode); if (line == null) { isNew = true; line = new ICSECS(); line.ID = AppConfig.GetGuid(); } var codes = db.ICSECS.Where(a => a.ECSCODE == ItemLot.ECSCODE && a.WorkPoint == AppConfig.WorkPointCode && a.ID != line.ID); if (codes.ToList().Count > 0) { throw new Exception("不良原因代码已存在"); } line.ECSCODE = ItemLot.ECSCODE; line.ECSDESC = ItemLot.ECSDESC; 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.ICSECS.InsertOnSubmit(line); db.SubmitChanges(); db.Transaction.Commit(); } catch (Exception ex) { db.Transaction.Rollback(); throw new Exception(ex.Message); } } #endregion #region select public static ICSECS select(String guid, String Appconstr) { FramDataContext db = new FramDataContext(Appconstr); db.Connection.Open(); db.Transaction = db.Connection.BeginTransaction(); ICSECS entity = new ICSECS(); try { var line = db.ICSECS.SingleOrDefault(a => a.ID == guid && a.WorkPoint == AppConfig.WorkPointCode); return (ICSECS)line; } catch (Exception ex) { throw new Exception(ex.Message); } } #endregion #region delete public static void delete(List guidList,List codeList) { FramDataContext db = new FramDataContext(AppConfig.AppConnectString); db.Connection.Open(); db.Transaction = db.Connection.BeginTransaction(); try { var lines = db.ICSECS.Where(a => guidList.Contains(a.ID) && a.WorkPoint == AppConfig.WorkPointCode); //var line = db.ICSECG2EC.Where(a => codeList.Contains(a.ECODE)); //if (line.Count() != 0) //{ // throw new Exception("该不良代码在不良代码组与不良代码关系维护中已经使用,无法删除!"); //} db.ICSECS.DeleteAllOnSubmit(lines); db.SubmitChanges(); db.Transaction.Commit(); } catch (Exception ex) { db.Transaction.Rollback(); throw ex; } } #endregion } }