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;
namespace ICSSoft.Frame.Data.DAL { public class ICSEQPWeeklyMaintenanceDAL { /// <summary>
/// 批量删除
/// </summary>
/// <param name="listID"></param>
/// <param name="dsconn"></param>
public static void DeleteById(List<string> listID, string dsconn) { FramDataContext db = new FramDataContext(dsconn); db.Connection.Open(); db.Transaction = db.Connection.BeginTransaction(); try { var lines = db.ICSEQPWeeklyMaintenance.Where(a => listID.Contains(a.ID)); db.ICSEQPWeeklyMaintenance.DeleteAllOnSubmit(lines); db.SubmitChanges(); db.Transaction.Commit(); } catch (Exception ex) { db.Transaction.Rollback(); throw ex; } finally { db.Connection.Close(); } }
/// <summary>
/// 单行新增
/// </summary>
/// <param name="info"></param>
/// <param name="dsconn"></param>
public static void Add(ICSEQPWeeklyMaintenance info, string dsconn) { FramDataContext db = new FramDataContext(dsconn); db.Connection.Open(); db.Transaction = db.Connection.BeginTransaction(); try { var line = db.ICSEQPWeeklyMaintenance.SingleOrDefault(a => a.EQPID == info.EQPID && a.DATEDIFFID == info.DATEDIFFID); if (line != null) { throw new Exception("此设备的对应时间段已经维护!"); } var list = db.ICSEQPWeeklyMaintenance.Where(a => a.EQPID == info.EQPID).ToList(); var lineDateCurrent = db.ICSDateDiff.SingleOrDefault(a => a.ID == info.DATEDIFFID); foreach (ICSEQPWeeklyMaintenance item in list) { var lineDateEx = db.ICSDateDiff.SingleOrDefault(a => a.ID == item.DATEDIFFID); if (lineDateEx.TYPE != "RPS") { continue; } if (lineDateEx.BEGINTIME > lineDateCurrent.ENDTIME || lineDateEx.ENDTIME < lineDateCurrent.BEGINTIME) { continue; } else { throw new Exception("维护时间段(" + lineDateCurrent.BEGINTIME + "~" + lineDateCurrent.ENDTIME + ")与已有时间段(" + lineDateEx.BEGINTIME + "~" + lineDateEx.ENDTIME + ")有重叠"); } } db.ICSEQPWeeklyMaintenance.InsertOnSubmit(info); db.SubmitChanges(); db.Transaction.Commit(); } catch (Exception ex) { db.Transaction.Rollback(); throw ex; } finally { db.Connection.Close(); } }
/// <summary>
/// 单行修改
/// </summary>
/// <param name="info"></param>
/// <param name="dsconn"></param>
public static void Modify(ICSEQPWeeklyMaintenance info, string dsconn) { FramDataContext db = new FramDataContext(dsconn); db.Connection.Open(); db.Transaction = db.Connection.BeginTransaction(); try { var line = db.ICSEQPWeeklyMaintenance.SingleOrDefault(a => a.ID == info.ID); if (line == null) { throw new Exception("记录已被删除!"); } var list = db.ICSEQPWeeklyMaintenance.Where(a => a.EQPID == info.EQPID).ToList(); var lineDateCurrent = db.ICSDateDiff.SingleOrDefault(a => a.ID == info.DATEDIFFID); foreach (ICSEQPWeeklyMaintenance item in list) { var lineDateEx = db.ICSDateDiff.SingleOrDefault(a => a.ID == item.DATEDIFFID); if (lineDateEx.TYPE != "RPS") { continue; } if (lineDateEx.BEGINTIME > lineDateCurrent.ENDTIME || lineDateEx.ENDTIME < lineDateCurrent.BEGINTIME) { continue; } else { throw new Exception("维护时间段(" + lineDateCurrent.BEGINTIME + "~" + lineDateCurrent.ENDTIME + ")与已有时间段(" + lineDateEx.BEGINTIME + "~" + lineDateEx.ENDTIME + ")有重叠"); } } line.DATEDIFFID = info.DATEDIFFID; line.MTIME = info.MTIME; line.MUSERName = info.MUSERName; line.Available = info.Available; db.SubmitChanges(); db.Transaction.Commit(); } catch (Exception ex) { db.Transaction.Rollback(); throw ex; } finally { db.Connection.Close(); } }
/// <summary>
/// 单设备一次性维护多个时间段
/// </summary>
/// <param name="EQPID">设备id</param>
/// <param name="Available">启用</param>
/// <param name="listDATEDIFFID">时间段id</param>
/// <param name="MUSERName">用户名</param>
/// <param name="MTIME">维护时间</param>
/// <param name="WorkPoint">站点</param>
/// <param name="dsconn">conn</param>
public static void Edit4OneEQ(string EQPID, bool Available, List<string> listDATEDIFFID, string MUSERName, DateTime MTIME, string WorkPoint, string dsconn) { FramDataContext db = new FramDataContext(dsconn); db.Connection.Open(); db.Transaction = db.Connection.BeginTransaction(); try { var linesDel = db.ICSEQPWeeklyMaintenance.Where(a => a.EQPID == EQPID); db.ICSEQPWeeklyMaintenance.DeleteAllOnSubmit(linesDel); List<ICSEQPWeeklyMaintenance> linesInsert = new List<ICSEQPWeeklyMaintenance>(); foreach (var DATEDIFFID in listDATEDIFFID) { ICSEQPWeeklyMaintenance line = new ICSEQPWeeklyMaintenance(); line.EQPID = EQPID; line.DATEDIFFID = DATEDIFFID; line.MTIME = MTIME; line.MUSERName = MUSERName; line.WorkPoint = WorkPoint; line.Available = Available; linesInsert.Add(line); } db.ICSEQPWeeklyMaintenance.InsertAllOnSubmit(linesInsert); db.SubmitChanges(); db.Transaction.Commit(); } catch (Exception ex) { db.Transaction.Rollback(); throw ex; } finally { db.Connection.Close(); } }
/// <summary>
/// 批量导入
/// </summary>
/// <param name="list"></param>
/// <param name="WorkPoint"></param>
/// <param name="dsconn"></param>
public static void Import(List<ICSEQPWeeklyMaintenance> list, string WorkPoint, string dsconn) { throw new Exception("暂不支持"); }
public static void Edit4OneEQ(string EQPID, List<ICSEQPWeeklyMaintenance> list, string dsconn) { FramDataContext db = new FramDataContext(dsconn); db.Connection.Open(); db.Transaction = db.Connection.BeginTransaction(); try { var linesDel = db.ICSEQPWeeklyMaintenance.Where(a => a.EQPID == EQPID); db.ICSEQPWeeklyMaintenance.DeleteAllOnSubmit(linesDel); db.ICSEQPWeeklyMaintenance.InsertAllOnSubmit(list); db.SubmitChanges(); db.Transaction.Commit(); } catch (Exception ex) { db.Transaction.Rollback(); throw ex; } finally { db.Connection.Close(); } } } }
|