using System; using System.Collections.Generic; using System.Linq; using System.Text; using ICSSoft.Frame.Data.Entity; using ICSSoft.Base.Config.DBHelper; using System.Data; using System.Data.SqlClient; using ICSSoft.Base.Config.AppConfig; using ICSSoft.Frame.APP.Entity; namespace ICSSoft.Frame.Data.DAL { public class IcsAGVLocationDAL { #region 新增和修改 public static void Add(List InfoList, string dsconn) { FramDataContext db = new FramDataContext(dsconn); db.Connection.Open(); db.Transaction = db.Connection.BeginTransaction(); try { foreach (IcsAGVLocation info in InfoList) { bool isNew = false; var line = db.IcsAGVLocation.SingleOrDefault(a => a.ID == info.ID); var exists = db.IcsAGVLocation.Where(a => a.ID != info.ID && a.LocationCode == info.LocationCode).FirstOrDefault(); if (exists != null) throw new Exception("点位编码:"+info.LocationCode+"已存在!"); if (line == null) { isNew = true; line = new IcsAGVLocation(); line.ID = AppConfig.GetGuid(); line.LocationCode = info.LocationCode; } line.LocationName = info.LocationName; line.Workpoint = AppConfig.WorkPointCode; line.Muser = AppConfig.UserCode; line.MuserName = AppConfig.UserName; line.Mtime = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); if (isNew) db.IcsAGVLocation.InsertOnSubmit(line); db.SubmitChanges(); } db.Transaction.Commit(); } catch (Exception ex) { db.Transaction.Rollback(); throw ex; } } #endregion #region 通过ID查询 public static IcsAGVLocation searchInfoByID(string ID, string dsconn) { FramDataContext db = new FramDataContext(dsconn); db.Connection.Open(); try { var rtn=db.IcsAGVLocation.FirstOrDefault(a => a.ID == ID); if (rtn == null) throw new Exception("获取信息失败!"); else return rtn; } catch (Exception ex) { throw ex; } } #endregion #region 删除 public static void deleteInfo(List codeList, string dsconn) { FramDataContext db = new FramDataContext(dsconn); db.Connection.Open(); db.Transaction = db.Connection.BeginTransaction(); try { var lines = db.IcsAGVLocation.Where(a => codeList.Contains(a.ID)); db.IcsAGVLocation.DeleteAllOnSubmit(lines); db.SubmitChanges(); db.Transaction.Commit(); } catch (Exception ex) { db.Transaction.Rollback(); throw ex; } } #endregion } }