Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        /// <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);
        }
Ejemplo n.º 3
0
 public bool UpdateIOTime(ParkGateIOTime model, DbOperator dbOperator)
 {
     throw new NotImplementedException();
 }