Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
        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);
        }
Esempio n. 7
0
        protected void ExecMacOprt(byte flag, byte dataFlag)
        {
            currOprt = CurrentTool;
            TConnInfoNewMJ conn;
            bool           state;
            string         msg     = "";
            string         MacMsg  = "";
            string         SysID   = "";
            bool           IsError = false;

            if (!InitMacList())
            {
                return;
            }
            IsExec = true;
            if (dataFlag == 1)
            {
                upDoorInfo.Clear();
                DataTableReader dr = null;
                try
                {
                    TMJUpDoorInfo doorInfo;
                    AccessV2API.TYPE_DoorBasic upInfo;
                    byte   DoorID;
                    string DoorPassword = "";
                    for (int i = 0; i < connList.Count; i++)
                    {
                        conn  = connList[i];
                        SysID = GetMacSysID(conn.MacSN.ToString());
                        dr    = db.GetDataReader(Pub.GetSQL(DBCode.DB_003001, new string[] { "7", SysID }));
                        while (dr.Read())
                        {
                            doorInfo       = new TMJUpDoorInfo();
                            doorInfo.MacSN = conn.MacSN;
                            byte.TryParse(dr["MacDoorID"].ToString(), out DoorID);
                            doorInfo.DoorID = DoorID;
                            upInfo          = new AccessV2API.TYPE_DoorBasic();
                            UInt32.TryParse(dr["MacDoorDelay"].ToString(), out upInfo.LockedDelay);
                            UInt32.TryParse(dr["MacDoorInterval"].ToString(), out upInfo.Interval);
                            DoorPassword = dr["MacDoorPassword"].ToString();
                            if (DoorPassword.Length >= 16)
                            {
                                upInfo.PasswordA = DoorPassword.Substring(0, 8);
                                upInfo.PasswordB = DoorPassword.Substring(8, 8);
                            }
                            else
                            {
                                upInfo.PasswordA = "00000000";
                                upInfo.PasswordB = "00000000";
                            }
                            doorInfo.DoorInfo = upInfo;
                            upDoorInfo.Add(doorInfo);
                        }
                    }
                }
                catch (Exception E)
                {
                    IsError = true;
                    Pub.ShowErrorMsg(E);
                }
                finally
                {
                    if (dr != null)
                    {
                        dr.Close();
                    }
                    dr = null;
                }
            }
            if (IsError)
            {
                return;
            }
            RefreshForm(false);
            DateTime start = new DateTime();

            start = DateTime.Now;
            string ExecTimes = "";

            for (int i = 0; i < connList.Count; i++)
            {
                conn = connList[i];
                RefreshMsg(currOprt + "[" + conn.MacSN.ToString() + "]......");
                DeviceObject.objMJNew.NewDevice(conn);
                state     = ExecMacCommand(flag, conn.MacSN.ToString(), ref MacMsg);
                ExecTimes = "    " + Pub.GetDateDiffTimes(start, DateTime.Now);
                if (MacMsg != "")
                {
                    MacMsg = "[" + MacMsg + "]";
                }
                SetMacResult(conn.MacSN.ToString(), state, MacMsg + GetErrMsg(state) + ExecTimes);
                msg = msg + GetMacMsg(conn.MacSN.ToString()) + ":" + MacMsg + GetErrMsg(state) + ";";
                Application.DoEvents();
                start = DateTime.Now;
                if (!IsExec)
                {
                    break;
                }
            }
            db.WriteSYLog(this.Text, currOprt, msg);
            IsExec = false;
            RefreshForm(true);
            RefreshMsg("");
        }