public static bool AddOrUpdateIOTime(List <ParkGateIOTime> list) { if (list == null || list.Count == 0) { throw new ArgumentNullException("list"); } IParkGate factory = ParkGateFactory.GetFactory(); List <ParkGateIOTime> models = factory.QueryGateIOTime(list.First().GateID); List <ParkGateIOTime> updateModels = new List <ParkGateIOTime>(); List <ParkGateIOTime> addModels = new List <ParkGateIOTime>(); using (DbOperator dbOperator = ConnectionManager.CreateConnection()) { try { dbOperator.BeginTransaction(); foreach (var item in list) { ParkGateIOTime model = models.FirstOrDefault(p => p.RuleType == 0 && p.WeekIndex == item.WeekIndex); if (model != null) { model.StartTime = item.StartTime; model.EndTime = item.EndTime; model.InOutState = item.InOutState; bool result = factory.UpdateIOTime(model, dbOperator); if (!result) { throw new MyException("修改星期规则失败"); } updateModels.Add(model); } else { item.RecordID = GuidGenerator.GetGuid().ToString(); bool result = factory.AddIOTime(item, dbOperator); if (!result) { throw new MyException("添加星期规则失败"); } addModels.Add(item); } } dbOperator.CommitTransaction(); } catch { dbOperator.RollbackTransaction(); throw; } } if (updateModels.Count > 0) { OperateLogServices.AddOperateLog <List <ParkGateIOTime> >(updateModels, OperateType.Update); } if (addModels.Count > 0) { OperateLogServices.AddOperateLog <List <ParkGateIOTime> >(addModels, OperateType.Add); } return(true); }
/// <summary> /// 修改通道规则 /// </summary> /// <param name="model"></param> /// <returns></returns> public bool UpdateIOTime(ParkGateIOTime model, DbOperator dbOperator) { model.DataStatus = DataStatus.Normal; model.LastUpdateTime = DateTime.Now; model.HaveUpdate = SystemDefaultConfig.DataUpdateFlag; StringBuilder strSql = new StringBuilder(); strSql.Append("update ParkGateIOTime set GateID=@GateID,RuleType=@RuleType,WeekIndex=@WeekIndex,RuleDate=@RuleDate,StartTime=@StartTime,"); strSql.Append("EndTime=@EndTime,InOutState=@InOutState,LastUpdateTime=@LastUpdateTime,HaveUpdate=@HaveUpdate,DataStatus=@DataStatus where RecordID=@RecordID"); dbOperator.ClearParameters(); dbOperator.AddParameter("RecordID", model.RecordID); dbOperator.AddParameter("GateID", model.GateID); dbOperator.AddParameter("RuleType", model.RuleType); dbOperator.AddParameter("WeekIndex", model.WeekIndex); dbOperator.AddParameter("RuleDate", model.RuleDate); dbOperator.AddParameter("StartTime", model.StartTime); dbOperator.AddParameter("EndTime", model.EndTime); dbOperator.AddParameter("InOutState", model.InOutState); dbOperator.AddParameter("LastUpdateTime", model.LastUpdateTime); dbOperator.AddParameter("HaveUpdate", model.HaveUpdate); dbOperator.AddParameter("DataStatus", (int)model.DataStatus); return(dbOperator.ExecuteNonQuery(strSql.ToString()) > 0); }
public bool UpdateIOTime(ParkGateIOTime model, DbOperator dbOperator) { throw new NotImplementedException(); }