/// <summary> /// 增加一条数据 /// </summary> public decimal Add(Maticsoft.Model.SMT_CARD_RECORDS model) { StringBuilder strSql = new StringBuilder(); strSql.Append("insert into SMT_CARD_RECORDS("); strSql.Append("CTRLR_SN,RECORD_INDEX,RECORD_TYPE,RECORD_REASON,RECORD_DESC,RECORD_DATE,CARD_NO,IS_ENTER,IS_ALLOW,CTRLR_DOOR_INDEX,CTRLR_ID,DOOR_ID,STAFF_ID)"); strSql.Append(" values ("); strSql.Append("@CTRLR_SN,@RECORD_INDEX,@RECORD_TYPE,@RECORD_REASON,@RECORD_DESC,@RECORD_DATE,@CARD_NO,@IS_ENTER,@IS_ALLOW,@CTRLR_DOOR_INDEX,@CTRLR_ID,@DOOR_ID,@STAFF_ID)"); strSql.Append(";select @@IDENTITY"); SqlParameter[] parameters = { new SqlParameter("@CTRLR_SN", SqlDbType.VarChar, 100), new SqlParameter("@RECORD_INDEX", SqlDbType.Decimal, 9), new SqlParameter("@RECORD_TYPE", SqlDbType.VarChar, 15), new SqlParameter("@RECORD_REASON", SqlDbType.VarChar, 30), new SqlParameter("@RECORD_DESC", SqlDbType.NVarChar, 400), new SqlParameter("@RECORD_DATE", SqlDbType.DateTime), new SqlParameter("@CARD_NO", SqlDbType.VarChar, 100), new SqlParameter("@IS_ENTER", SqlDbType.Bit, 1), new SqlParameter("@IS_ALLOW", SqlDbType.Bit, 1), new SqlParameter("@CTRLR_DOOR_INDEX", SqlDbType.TinyInt, 1), new SqlParameter("@CTRLR_ID", SqlDbType.Decimal, 9), new SqlParameter("@DOOR_ID", SqlDbType.Decimal, 9), new SqlParameter("@STAFF_ID", SqlDbType.Decimal, 9) }; parameters[0].Value = model.CTRLR_SN; parameters[1].Value = model.RECORD_INDEX; parameters[2].Value = model.RECORD_TYPE; parameters[3].Value = model.RECORD_REASON; parameters[4].Value = model.RECORD_DESC; parameters[5].Value = model.RECORD_DATE; parameters[6].Value = model.CARD_NO; parameters[7].Value = model.IS_ENTER; parameters[8].Value = model.IS_ALLOW; parameters[9].Value = model.CTRLR_DOOR_INDEX; parameters[10].Value = model.CTRLR_ID; parameters[11].Value = model.DOOR_ID; parameters[12].Value = model.STAFF_ID; object obj = DbHelperSQL.GetSingle(strSql.ToString(), parameters); if (obj == null) { return(0); } else { return(Convert.ToDecimal(obj)); } }
/// <summary> /// 得到一个对象实体 /// </summary> public Maticsoft.Model.SMT_CARD_RECORDS GetModel(decimal ID) { StringBuilder strSql = new StringBuilder(); strSql.Append("select top 1 ID,CTRLR_SN,RECORD_INDEX,RECORD_TYPE,RECORD_REASON,RECORD_DESC,RECORD_DATE,CARD_NO,IS_ENTER,IS_ALLOW,CTRLR_DOOR_INDEX,CTRLR_ID,DOOR_ID,STAFF_ID from SMT_CARD_RECORDS "); strSql.Append(" where ID=@ID"); SqlParameter[] parameters = { new SqlParameter("@ID", SqlDbType.Decimal) }; parameters[0].Value = ID; Maticsoft.Model.SMT_CARD_RECORDS model = new Maticsoft.Model.SMT_CARD_RECORDS(); DataSet ds = DbHelperSQL.Query(strSql.ToString(), parameters); if (ds.Tables[0].Rows.Count > 0) { return(DataRowToModel(ds.Tables[0].Rows[0])); } else { return(null); } }
/// <summary> /// 得到一个对象实体 /// </summary> public Maticsoft.Model.SMT_CARD_RECORDS DataRowToModel(DataRow row) { Maticsoft.Model.SMT_CARD_RECORDS model = new Maticsoft.Model.SMT_CARD_RECORDS(); if (row != null) { if (row["ID"] != null && row["ID"].ToString() != "") { model.ID = decimal.Parse(row["ID"].ToString()); } if (row["CTRLR_SN"] != null) { model.CTRLR_SN = row["CTRLR_SN"].ToString(); } if (row["RECORD_INDEX"] != null && row["RECORD_INDEX"].ToString() != "") { model.RECORD_INDEX = decimal.Parse(row["RECORD_INDEX"].ToString()); } if (row["RECORD_TYPE"] != null) { model.RECORD_TYPE = row["RECORD_TYPE"].ToString(); } if (row["RECORD_REASON"] != null) { model.RECORD_REASON = row["RECORD_REASON"].ToString(); } if (row["RECORD_DESC"] != null) { model.RECORD_DESC = row["RECORD_DESC"].ToString(); } if (row["RECORD_DATE"] != null && row["RECORD_DATE"].ToString() != "") { model.RECORD_DATE = DateTime.Parse(row["RECORD_DATE"].ToString()); } if (row["CARD_NO"] != null) { model.CARD_NO = row["CARD_NO"].ToString(); } if (row["IS_ENTER"] != null && row["IS_ENTER"].ToString() != "") { if ((row["IS_ENTER"].ToString() == "1") || (row["IS_ENTER"].ToString().ToLower() == "true")) { model.IS_ENTER = true; } else { model.IS_ENTER = false; } } if (row["IS_ALLOW"] != null && row["IS_ALLOW"].ToString() != "") { if ((row["IS_ALLOW"].ToString() == "1") || (row["IS_ALLOW"].ToString().ToLower() == "true")) { model.IS_ALLOW = true; } else { model.IS_ALLOW = false; } } if (row["CTRLR_DOOR_INDEX"] != null && row["CTRLR_DOOR_INDEX"].ToString() != "") { model.CTRLR_DOOR_INDEX = int.Parse(row["CTRLR_DOOR_INDEX"].ToString()); } if (row["CTRLR_ID"] != null && row["CTRLR_ID"].ToString() != "") { model.CTRLR_ID = decimal.Parse(row["CTRLR_ID"].ToString()); } if (row["DOOR_ID"] != null && row["DOOR_ID"].ToString() != "") { model.DOOR_ID = decimal.Parse(row["DOOR_ID"].ToString()); } if (row["STAFF_ID"] != null && row["STAFF_ID"].ToString() != "") { model.STAFF_ID = decimal.Parse(row["STAFF_ID"].ToString()); } } return(model); }
/// <summary> /// 更新一条数据 /// </summary> public bool Update(Maticsoft.Model.SMT_CARD_RECORDS model) { StringBuilder strSql = new StringBuilder(); strSql.Append("update SMT_CARD_RECORDS set "); strSql.Append("CTRLR_SN=@CTRLR_SN,"); strSql.Append("RECORD_INDEX=@RECORD_INDEX,"); strSql.Append("RECORD_TYPE=@RECORD_TYPE,"); strSql.Append("RECORD_REASON=@RECORD_REASON,"); strSql.Append("RECORD_DESC=@RECORD_DESC,"); strSql.Append("RECORD_DATE=@RECORD_DATE,"); strSql.Append("CARD_NO=@CARD_NO,"); strSql.Append("IS_ENTER=@IS_ENTER,"); strSql.Append("IS_ALLOW=@IS_ALLOW,"); strSql.Append("CTRLR_DOOR_INDEX=@CTRLR_DOOR_INDEX,"); strSql.Append("CTRLR_ID=@CTRLR_ID,"); strSql.Append("DOOR_ID=@DOOR_ID,"); strSql.Append("STAFF_ID=@STAFF_ID"); strSql.Append(" where ID=@ID"); SqlParameter[] parameters = { new SqlParameter("@CTRLR_SN", SqlDbType.VarChar, 100), new SqlParameter("@RECORD_INDEX", SqlDbType.Decimal, 9), new SqlParameter("@RECORD_TYPE", SqlDbType.VarChar, 15), new SqlParameter("@RECORD_REASON", SqlDbType.VarChar, 30), new SqlParameter("@RECORD_DESC", SqlDbType.NVarChar, 400), new SqlParameter("@RECORD_DATE", SqlDbType.DateTime), new SqlParameter("@CARD_NO", SqlDbType.VarChar, 100), new SqlParameter("@IS_ENTER", SqlDbType.Bit, 1), new SqlParameter("@IS_ALLOW", SqlDbType.Bit, 1), new SqlParameter("@CTRLR_DOOR_INDEX", SqlDbType.TinyInt, 1), new SqlParameter("@CTRLR_ID", SqlDbType.Decimal, 9), new SqlParameter("@DOOR_ID", SqlDbType.Decimal, 9), new SqlParameter("@STAFF_ID", SqlDbType.Decimal, 9), new SqlParameter("@ID", SqlDbType.Decimal, 9) }; parameters[0].Value = model.CTRLR_SN; parameters[1].Value = model.RECORD_INDEX; parameters[2].Value = model.RECORD_TYPE; parameters[3].Value = model.RECORD_REASON; parameters[4].Value = model.RECORD_DESC; parameters[5].Value = model.RECORD_DATE; parameters[6].Value = model.CARD_NO; parameters[7].Value = model.IS_ENTER; parameters[8].Value = model.IS_ALLOW; parameters[9].Value = model.CTRLR_DOOR_INDEX; parameters[10].Value = model.CTRLR_ID; parameters[11].Value = model.DOOR_ID; parameters[12].Value = model.STAFF_ID; parameters[13].Value = model.ID; int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters); if (rows > 0) { return(true); } else { return(false); } }
//保存记录 public void SaveRecord(decimal ctrlrId, ControllerState record) { try { Maticsoft.Model.SMT_CARD_RECORDS modelRecord = new Maticsoft.Model.SMT_CARD_RECORDS(); modelRecord.CARD_NO = record.cardOrNoNumber; modelRecord.CTRLR_DOOR_INDEX = record.doorNum; modelRecord.CTRLR_ID = ctrlrId; modelRecord.CTRLR_SN = record.sn; Maticsoft.BLL.SMT_DOOR_INFO bll = new Maticsoft.BLL.SMT_DOOR_INFO(); List <Maticsoft.Model.SMT_DOOR_INFO> doors = bll.GetModelList("CTRL_ID=" + ctrlrId + " and CTRL_DOOR_INDEX=" + record.doorNum); if (doors.Count > 0) { modelRecord.DOOR_ID = doors[0].ID; } else { modelRecord.DOOR_ID = -1; } modelRecord.IS_ALLOW = record.isAllowValid; modelRecord.IS_ENTER = record.isEnterDoor; modelRecord.RECORD_DATE = record.recordTime; modelRecord.RECORD_DESC = AccessHelper.GetRecordReasonString(record.reasonNo); modelRecord.RECORD_INDEX = record.lastRecordIndex; modelRecord.RECORD_REASON = record.reasonNo.ToString(); modelRecord.RECORD_TYPE = record.recordType.ToString(); Maticsoft.BLL.SMT_STAFF_CARD cardBll = new Maticsoft.BLL.SMT_STAFF_CARD(); List <Maticsoft.Model.SMT_STAFF_CARD> staffCards = cardBll.GetModelListByWGCardNo(record.cardOrNoNumber); if (staffCards.Count > 0) { modelRecord.STAFF_ID = staffCards[0].STAFF_ID; } else { modelRecord.STAFF_ID = -1; } Maticsoft.BLL.SMT_CARD_RECORDS recordBll = new Maticsoft.BLL.SMT_CARD_RECORDS(); modelRecord.ID = recordBll.Add(modelRecord); switch (record.reasonNo) { case RecordReasonNo.Swipe: break; case RecordReasonNo.Reserved2: break; case RecordReasonNo.Reserved3: break; case RecordReasonNo.Reserved4: break; case RecordReasonNo.DeniedAccessPCControl: case RecordReasonNo.DeniedAccessNoPRIVILEGE: case RecordReasonNo.DeniedAccessWrongPASSWORD: case RecordReasonNo.DeniedAccessAntiBack: case RecordReasonNo.DeniedAccessMoreCards: case RecordReasonNo.DeniedAccessFirstCardOpen: case RecordReasonNo.DeniedAccessDoorSetNC: case RecordReasonNo.DeniedAccessInterLock: case RecordReasonNo.DeniedAccessLimitedTimes: case RecordReasonNo.DeniedAccessInvalidTimezone: case RecordReasonNo.DeniedAccess: case RecordReasonNo.PushButtonInvalidForcedLock: case RecordReasonNo.PushButtonInvalidNotOnLine: case RecordReasonNo.PushButtonInvalidInterLock: case RecordReasonNo.Threat: case RecordReasonNo.OpenTooLong: case RecordReasonNo.ForcedOpen: case RecordReasonNo.Fire: case RecordReasonNo.ForcedClose: case RecordReasonNo.GuardAgainstTheft: case RecordReasonNo.H7X24HourZone: case RecordReasonNo.EmergencyCall: { Maticsoft.Model.SMT_ALARM_INFO alarmInfo = new Maticsoft.Model.SMT_ALARM_INFO(); try { alarmInfo.ALARM_NAME = AccessHelper.GetRecordReasonString(record.reasonNo); alarmInfo.ALARM_CONTENT = alarmInfo.ALARM_NAME; alarmInfo.ALARM_TIME = record.recordTime; alarmInfo.ALARM_TYPE = (int)record.reasonNo; alarmInfo.CARD_NO = record.cardOrNoNumber; alarmInfo.CTRLR_DOOR_INDEX = record.doorNum; alarmInfo.CTRLR_ID = ctrlrId; alarmInfo.DOOR_ID = modelRecord.DOOR_ID; alarmInfo.RECORD_ID = modelRecord.ID; alarmInfo.STAFF_ID = modelRecord.STAFF_ID; Maticsoft.BLL.SMT_ALARM_INFO alarmBll = new Maticsoft.BLL.SMT_ALARM_INFO(); alarmInfo.ID = alarmBll.Add(alarmInfo); try { _alarmServer.SendMessageAsync <decimal>(alarmInfo.ID, MessageType.ALARM); } catch (Exception ex) { log.Error("转发报警消息失败:Alarm Id=" + alarmInfo.ID + ",EX=" + ex.Message); } } catch (Exception ex) { log.Error("报警记录保存失败:CTRLID=" + ctrlrId + ", RECORD ID=" + modelRecord.ID + ",ALARM_NAME=" + alarmInfo.ALARM_NAME, ex); } } break; case RecordReasonNo.Reserved14: break; case RecordReasonNo.Reserved16: break; case RecordReasonNo.Reserved17: break; case RecordReasonNo.Reserved19: break; case RecordReasonNo.PushButton: break; case RecordReasonNo.Reserved21: break; case RecordReasonNo.Reserved22: break; case RecordReasonNo.DoorOpen: break; case RecordReasonNo.DoorClosed: break; case RecordReasonNo.SuperPasswordOpenDoor: break; case RecordReasonNo.Reserved26: break; case RecordReasonNo.Reserved27: break; case RecordReasonNo.ControllerPowerOn: break; case RecordReasonNo.ControllerReset: break; case RecordReasonNo.Reserved30: break; case RecordReasonNo.Reserved35: break; case RecordReasonNo.Reserved36: break; case RecordReasonNo.RemoteOpenDoor: break; case RecordReasonNo.RemoteOpenDoorByUSBReader: break; default: break; } } catch (Exception ex) { log.Error("记录保存失败:CTRLID=" + ctrlrId, ex); throw ex; } }