protected override bool ExecMacDoorCommand(byte flag, TMJDoorInfo doorInfo, ref string MacMsg) { bool ret = base.ExecMacDoorCommand(flag, doorInfo, ref MacMsg); switch (flag) { case 0: AccessV2API.TYPE_DoorBasic basic = new AccessV2API.TYPE_DoorBasic(); AccessV2API.TYPE_DoorExpert expert = new AccessV2API.TYPE_DoorExpert(); ret = DeviceObject.objMJNew.ReadDoorInfo(doorInfo.DoorID, ref basic, ref expert); if (ret) { if (doorInfo.DoorPass.Length >= 16) { basic.PasswordA = doorInfo.DoorPass.Substring(0, 8); basic.PasswordB = doorInfo.DoorPass.Substring(8, 8); } else { basic.PasswordA = "00000000"; basic.PasswordB = "00000000"; } ret = DeviceObject.objMJNew.SetDoorBasicInfo(doorInfo.DoorID, basic); } break; } return(ret); }
protected override bool ExecMacDoorCommand(byte flag, TMJDoorInfo doorInfo, ref string MacMsg) { bool ret = base.ExecMacDoorCommand(flag, doorInfo, ref MacMsg); byte doorID = Convert.ToByte(doorInfo.DoorID); switch (flag) { case 0: if (DownFlag == 0) { AccessV2API.TYPE_DoorBasic basic = new AccessV2API.TYPE_DoorBasic(); AccessV2API.TYPE_DoorExpert expert = new AccessV2API.TYPE_DoorExpert(); ret = DeviceObject.objMJNew.ReadDoorInfo(doorID, ref basic, ref expert); if (ret) { expert.EnableTiming = 1; expert.ExpertTiming = ExpertTiming; ret = DeviceObject.objMJNew.SetDoorExpertInfo(doorID, expert); } } break; } return(ret); }
protected override bool ExecMacDoorCommand(byte flag, TMJDoorInfo doorInfo, ref string MacMsg) { bool ret = base.ExecMacDoorCommand(flag, doorInfo, ref MacMsg); bool IsError = false; int Index = 0; UInt32 cardNo = 0; switch (flag) { case 0: UInt32 EnableGuardCard = 0; UInt32[] ExpertGuardCard = new UInt32[5]; if (doorInfo.ExtField[0] == "Y") { EnableGuardCard = 1; TInOutCard card = new TInOutCard(doorInfo.ExtField[1]); if (card.EmpList != "") { DataTableReader dr = null; try { string sql = ""; if (SystemInfo.HasFaCard) { sql = Pub.GetSQL(DBCode.DB_003001, new string[] { "108", card.EmpList }); } else { sql = Pub.GetSQL(DBCode.DB_003001, new string[] { "301", card.EmpList }); } dr = db.GetDataReader(sql); while (dr.Read()) { UInt32.TryParse(dr["OtherCardNo"].ToString(), out cardNo); if (SystemInfo.AdvUseOtherCard && cardNo > 0) { ExpertGuardCard[Index] = cardNo; } else { UInt32.TryParse(dr["CardPhysicsNo10"].ToString(), out ExpertGuardCard[Index]); } Index++; } } catch (Exception E) { IsError = true; Pub.ShowErrorMsg(E); } finally { if (dr != null) { dr.Close(); } dr = null; } } } if (!IsError) { AccessV2API.TYPE_DoorBasic basic = new AccessV2API.TYPE_DoorBasic(); AccessV2API.TYPE_DoorExpert expert = new AccessV2API.TYPE_DoorExpert(); ret = DeviceObject.objMJNew.ReadDoorInfo(doorInfo.DoorID, ref basic, ref expert); if (ret) { expert.EnableGuardCard = EnableGuardCard; expert.ExpertGuardCard = ExpertGuardCard; ret = DeviceObject.objMJNew.SetDoorExpertInfo(doorInfo.DoorID, expert); } } break; } return(ret); }
protected override bool ExecMacCommand(byte flag, string MacSN, ref string MacMsg) { bool ret = base.ExecMacCommand(flag, MacSN, ref MacMsg); AccessV2API.TYPE_Setting setting = new AccessV2API.TYPE_Setting(); switch (flag) { case 0: ret = SyncTime(); break; case 1: ret = DeviceObject.objMJNew.ReadSetting(out setting); if (ret) { byte DoorType = Convert.ToByte(MacSN.Substring(1, 1)); string DoorState = ""; for (byte i = 1; i <= DoorType; i++) { DoorState += i.ToString() + ":" + Pub.GetResText(formCode, "MJDoorMagnet" + setting.DoorState[i - 1].ToString(), "") + ";"; } AccessV2API.TYPE_DoorBasic DoorBasic = new AccessV2API.TYPE_DoorBasic(); AccessV2API.TYPE_DoorExpert DoorExpert = new AccessV2API.TYPE_DoorExpert(); string StateInfo = ""; string IntervalInfo = ""; string DelayInfo = ""; for (byte i = 1; i <= DoorType; i++) { ret = DeviceObject.objMJNew.ReadDoorInfo(i, ref DoorBasic, ref DoorExpert); if (!ret) { break; } StateInfo += i.ToString() + ":" + Pub.GetResText(formCode, "MJDoorState" + DoorBasic.State.ToString(), "") + ";"; IntervalInfo += i.ToString() + ":" + DoorBasic.Interval.ToString() + "s;"; DelayInfo += i.ToString() + ":" + DoorBasic.LockedDelay.ToString() + "s;"; } string msg = Pub.GetResText(formCode, "MacSN", "") + ": " + MacSN + "\r\n " + Pub.GetResText(formCode, "MacInfoNew", ""); msg = string.Format(msg, DeviceObject.objMJNew.MJDateTimeToString(setting.DateTime), setting.Version, setting.LogCount, setting.RegCount, setting.RightType, DoorState, setting.Restrict.ToString("X"), setting.AntiReturn.ToString("X"), StateInfo, IntervalInfo, DelayInfo); ShowMsg(msg + "\r\n"); } break; case 2: ret = DeviceObject.objMJNew.ReadSetting(out setting); if (!ret) { break; } setting.RightType = 32; ret = DeviceObject.objMJNew.SetSetting(setting); for (int i = 0; i < upDoorInfo.Count; i++) { if (upDoorInfo[i].MacSN.ToString() == MacSN) { ret = DeviceObject.objMJNew.SetDoorBasicInfo(upDoorInfo[i].DoorID, upDoorInfo[i].DoorInfo); if (!ret) { break; } } } break; case 3: ret = DeviceObject.objMJNew.ClearRegister(); break; case 4: ret = DeviceObject.objMJNew.WriteComment(DownMessage); break; case 5: ret = DeviceObject.objMJNew.RebootDevice(); break; case 6: ret = DeviceObject.objMJNew.Init(); break; } return(ret); }
protected override bool ExecMacDoorCommand(byte flag, TMJDoorInfo doorInfo, ref string MacMsg) { bool ret = base.ExecMacDoorCommand(flag, doorInfo, ref MacMsg); bool IsError = false; int Index = 0; UInt32 cardNo1 = 0; UInt32 cardNo2 = 0; switch (flag) { case 0: AccessV2API.TYPE_MulitCardDat cardInfo = new AccessV2API.TYPE_MulitCardDat(); cardInfo.GroupA = new UInt32[50]; cardInfo.GroupB = new UInt32[50]; cardInfo.GroupC = new UInt32[50]; cardInfo.GroupD = new UInt32[50]; cardInfo.GroupE = new UInt32[50]; cardInfo.GroupF = new UInt32[50]; cardInfo.GroupG = new UInt32[50]; cardInfo.GroupH = new UInt32[50]; cardInfo.GroupI = new UInt32[50]; cardInfo.GroupJ = new UInt32[50]; AccessV2API.TYPE_MulitCardMap CardMap = new AccessV2API.TYPE_MulitCardMap(); CardMap.ProgramA = new UInt32[10]; CardMap.ProgramB = new UInt32[10]; CardMap.ProgramC = new UInt32[10]; CardMap.ProgramD = new UInt32[10]; if (doorInfo.ExtField[0] == "Y") { TMacMoreCardNew card = new TMacMoreCardNew(doorInfo.ExtField[1]); for (int i = 0; i < 10; i++) { if (card.EmpList[i] != "") { DataTableReader dr = null; try { string sql = ""; if (SystemInfo.HasFaCard) { sql = Pub.GetSQL(DBCode.DB_003001, new string[] { "108", card.EmpList[i] }); } else { sql = Pub.GetSQL(DBCode.DB_003001, new string[] { "301", card.EmpList[i] }); } dr = db.GetDataReader(sql); Index = 0; while (dr.Read()) { UInt32.TryParse(dr["CardPhysicsNo10"].ToString(), out cardNo1); UInt32.TryParse(dr["OtherCardNo"].ToString(), out cardNo2); switch (i) { case 0: cardInfo.GroupA[Index] = SystemInfo.AdvUseOtherCard && cardNo2 > 0 ? cardNo2 : cardNo1; break; case 1: cardInfo.GroupB[Index] = SystemInfo.AdvUseOtherCard && cardNo2 > 0 ? cardNo2 : cardNo1; break; case 2: cardInfo.GroupC[Index] = SystemInfo.AdvUseOtherCard && cardNo2 > 0 ? cardNo2 : cardNo1; break; case 3: cardInfo.GroupD[Index] = SystemInfo.AdvUseOtherCard && cardNo2 > 0 ? cardNo2 : cardNo1; break; case 4: cardInfo.GroupE[Index] = SystemInfo.AdvUseOtherCard && cardNo2 > 0 ? cardNo2 : cardNo1; break; case 5: cardInfo.GroupF[Index] = SystemInfo.AdvUseOtherCard && cardNo2 > 0 ? cardNo2 : cardNo1; break; case 6: cardInfo.GroupG[Index] = SystemInfo.AdvUseOtherCard && cardNo2 > 0 ? cardNo2 : cardNo1; break; case 7: cardInfo.GroupH[Index] = SystemInfo.AdvUseOtherCard && cardNo2 > 0 ? cardNo2 : cardNo1; break; case 8: cardInfo.GroupI[Index] = SystemInfo.AdvUseOtherCard && cardNo2 > 0 ? cardNo2 : cardNo1; break; case 9: cardInfo.GroupJ[Index] = SystemInfo.AdvUseOtherCard && cardNo2 > 0 ? cardNo2 : cardNo1; break; } Index += 1; } } catch (Exception E) { IsError = true; Pub.ShowErrorMsg(E); } finally { if (dr != null) { dr.Close(); } dr = null; } } } switch (doorInfo.DoorID) { case 1: for (int i = 0; i < 10; i++) { CardMap.ProgramA[i] = (UInt32)card.CountList[i]; } break; case 2: for (int i = 0; i < 10; i++) { CardMap.ProgramB[i] = (UInt32)card.CountList[i]; } break; case 3: for (int i = 0; i < 10; i++) { CardMap.ProgramC[i] = (UInt32)card.CountList[i]; } break; case 4: for (int i = 0; i < 10; i++) { CardMap.ProgramD[i] = (UInt32)card.CountList[i]; } break; } } if (!IsError) { ret = DeviceObject.objMJNew.SetMultiCardDat(doorInfo.DoorID, cardInfo); if (ret) { ret = DeviceObject.objMJNew.SetMultiCardMap(CardMap); } if (ret) { AccessV2API.TYPE_DoorBasic basic = new AccessV2API.TYPE_DoorBasic(); AccessV2API.TYPE_DoorExpert expert = new AccessV2API.TYPE_DoorExpert(); ret = DeviceObject.objMJNew.ReadDoorInfo(doorInfo.DoorID, ref basic, ref expert); if (ret) { if (doorInfo.ExtField[0] == "Y") { expert.EnableMulitCard = 1; } else { expert.EnableMulitCard = 0; } ret = DeviceObject.objMJNew.SetDoorExpertInfo(doorInfo.DoorID, expert); } } } break; } return(ret); }
protected override bool ExecMacDoorCommand(byte flag, TMJDoorInfo doorInfo, ref string MacMsg) { bool ret = base.ExecMacDoorCommand(flag, doorInfo, ref MacMsg); bool IsError = false; int Index = 0; UInt32 cardNo = 0; switch (flag) { case 0: AccessV2API.TYPE_DoorExpert_First cardInfo = new AccessV2API.TYPE_DoorExpert_First(); cardInfo.CardNo = new UInt32[10]; cardInfo.WeekConfig = new byte[8]; if (doorInfo.ExtField[0] == "Y") { TMacFirstCard card = new TMacFirstCard(doorInfo.ExtField[1]); cardInfo.InsideMode = card.Way[0]; cardInfo.OutsideMode = card.Way[1]; for (int i = 0; i < 7; i++) { if (card.Week[i] == 0) { cardInfo.WeekConfig[i] = 1; } else { cardInfo.WeekConfig[i] = 0; } } if (card.StartTime.Length == 5) { cardInfo.TimeBegin.wHour = Convert.ToUInt16(card.StartTime.Substring(0, 2)); cardInfo.TimeBegin.wMinute = Convert.ToUInt16(card.StartTime.Substring(3, 2)); } if (card.EndTime.Length == 5) { cardInfo.TimeEnd.wHour = Convert.ToUInt16(card.EndTime.Substring(0, 2)); cardInfo.TimeEnd.wMinute = Convert.ToUInt16(card.EndTime.Substring(3, 2)); } if (card.EmpList != "") { DataTableReader dr = null; try { string sql = ""; if (SystemInfo.HasFaCard) { sql = Pub.GetSQL(DBCode.DB_003001, new string[] { "108", card.EmpList }); } else { sql = Pub.GetSQL(DBCode.DB_003001, new string[] { "301", card.EmpList }); } dr = db.GetDataReader(sql); while (dr.Read()) { UInt32.TryParse(dr["OtherCardNo"].ToString(), out cardNo); if (SystemInfo.AdvUseOtherCard && cardNo > 0) { cardInfo.CardNo[Index] = cardNo; } else { UInt32.TryParse(dr["CardPhysicsNo10"].ToString(), out cardInfo.CardNo[Index]); } Index++; } } catch (Exception E) { IsError = true; Pub.ShowErrorMsg(E); } finally { if (dr != null) { dr.Close(); } dr = null; } } } if (!IsError) { AccessV2API.TYPE_DoorBasic basic = new AccessV2API.TYPE_DoorBasic(); AccessV2API.TYPE_DoorExpert expert = new AccessV2API.TYPE_DoorExpert(); ret = DeviceObject.objMJNew.ReadDoorInfo(doorInfo.DoorID, ref basic, ref expert); if (ret) { expert.ExpertFirstCard = cardInfo; if (doorInfo.ExtField[0] == "Y") { expert.EnableFirstCard = 1; } else { expert.EnableFirstCard = 0; } ret = DeviceObject.objMJNew.SetDoorExpertInfo(doorInfo.DoorID, expert); } } break; } return(ret); }