unsafe public int GetReaderInfo(DataModel.M_Config config)
 {
     try
     {
         string filePath = AppDomain.CurrentDomain.BaseDirectory + "RecvTemp";
         if (Directory.Exists(filePath))
         {
             Directory.Delete(filePath, true);
         }
         Directory.CreateDirectory(filePath);
         filePath = "";
         int recNum = 0;
         XZX_API.AccountMsg accountMsg = new XZX_API.AccountMsg();
         Int16 timeOut = 200;
         int   c       = XZX_API.TA_HazyInqAcc(ref accountMsg, &recNum, filePath, timeOut);
         if (c == 0)
         {
             return(recNum);
         }
         else
         {
             throw new Exception("获取用户信息失败!错误代码:" + c);
         }
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
        public bool LinkDataSourceTest(DataModel.M_Config config)
        {
            OracleConnection conn = new OracleConnection(config.OrcaleSourceSetting.ToConnectionString());

            try
            {
                conn.Open();
                return(true);
            }
            catch
            {
                return(false);
            }
        }
Пример #3
0
 /// <summary>
 /// 获取用户数据
 /// </summary>
 /// <param name="config"></param>
 /// <returns></returns>
 public XmlNodeList GetReaderInfo(DataModel.M_Config config)
 {
     try
     {
         XmlDocument doc = new XmlDocument();
         doc.Load(config.FilePath);
         //下面部分需要根据实际情况写
         XmlNodeList nodes = doc.SelectNodes("//" + doc.ChildNodes.Item(1).Name + "/Person");
         return(nodes);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
 unsafe public bool LinkDataSourceTest(DataModel.M_Config config)
 {
     try
     {
         ulong  uJnl        = 1;
         UInt16 sSysCode    = UInt16.Parse(config.XzxSetting.SysCode);
         UInt16 sTerminalNo = UInt16.Parse(config.XzxSetting.TerminalNo);
         string ipip        = config.XzxSetting.Ip;
         short  ipport      = short.Parse(config.XzxSetting.Port);
         bool   bOffline    = false;
         bool   b           = XZX_API.TA_Init(ipip, ipport, sSysCode, sTerminalNo, &bOffline, &uJnl);
         SeatManage.SeatManageComm.WriteLog.Write(string.Format("第三方初始化结果:" + b));
         return(b);
     }
     catch (Exception ex)
     {
         SeatManage.SeatManageComm.WriteLog.Write(string.Format("异常:" + ex));
         return(false);
     }
 }
Пример #5
0
        public DataTable GetReaderInfo(DataModel.M_Config config)
        {
            AseConnection conn   = new AseConnection(config.SybaseSourceSetting.ToConnectionString());
            string        cmdstr = config.SQLString;
            DataSet       ds     = new DataSet();

            try
            {
                AseDataAdapter adapter = new AseDataAdapter(cmdstr, conn);
                adapter.Fill(ds);
                return(ds.Tables[0]);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                conn.Close();
            }
        }
        public DataTable GetReaderList(DataModel.M_Config config, DataTable readerDS)
        {
            int       i  = 0;
            DataTable dt = new DataTable();

            dt.Columns.Add("CardNo");
            dt.Columns.Add("CardID");
            dt.Columns.Add("ReaderName");
            dt.Columns.Add("Sex");
            dt.Columns.Add("ReaderTypeName");
            dt.Columns.Add("ReaderDeptName");
            dt.Columns.Add("ReaderProName");
            dt.Columns.Add("Flag");
            dt.Columns.Add("Password");
            foreach (DataRow dr in readerDS.Rows)
            {
                DataRow ndr = dt.NewRow();
                ndr["CardNo"]         = !string.IsNullOrEmpty(config.TypeKeys.CardNo) && dr[config.TypeKeys.CardNo] != null ? dr[config.TypeKeys.CardNo].ToString().Trim() : "";
                ndr["CardID"]         = !string.IsNullOrEmpty(config.TypeKeys.CardID) && dr[config.TypeKeys.CardID] != null ? dr[config.TypeKeys.CardID].ToString().Trim() : "";
                ndr["ReaderName"]     = !string.IsNullOrEmpty(config.TypeKeys.Name) && dr[config.TypeKeys.Name] != null ? dr[config.TypeKeys.Name].ToString().Trim() : "";
                ndr["Sex"]            = !string.IsNullOrEmpty(config.TypeKeys.Sex) && dr[config.TypeKeys.Sex] != null ? dr[config.TypeKeys.Sex].ToString().Trim() : "";
                ndr["ReaderTypeName"] = !string.IsNullOrEmpty(config.TypeKeys.Type) && dr[config.TypeKeys.Type] != null ? dr[config.TypeKeys.Type].ToString().Trim() : "";
                ndr["ReaderDeptName"] = !string.IsNullOrEmpty(config.TypeKeys.Dept) && dr[config.TypeKeys.Dept] != null ? dr[config.TypeKeys.Dept].ToString().Trim() : "";
                ndr["Flag"]           = !string.IsNullOrEmpty(config.TypeKeys.Flag) && dr[config.TypeKeys.Flag] != null ? dr[config.TypeKeys.Flag].ToString().Trim() : "";
                ndr["Password"]       = !string.IsNullOrEmpty(config.TypeKeys.Password) && dr[config.TypeKeys.Password] != null ? dr[config.TypeKeys.Password].ToString().Trim() : "";
                ndr["ReaderProName"]  = "";
                if (string.IsNullOrEmpty(ndr["CardNo"].ToString()))
                {
                    continue;
                }
                dt.Rows.Add(ndr);
                i++;
                if ((i % 100 == 0 || i == readerDS.Rows.Count) && DataProgress != null)
                {
                    DataProgress(i);
                }
            }
            return(dt);
        }
        public System.Data.DataTable GetReaderInfo(DataModel.M_Config config)
        {
            OracleConnection conn   = new OracleConnection(config.OrcaleSourceSetting.ToConnectionString());
            string           cmdstr = config.SQLString;
            DataSet          ds     = new DataSet();

            try
            {
                OracleDataAdapter adapt = new OracleDataAdapter(cmdstr, config.OrcaleSourceSetting.ToConnectionString());
                adapt.Fill(ds);
                conn.Close();
                return(ds.Tables[0]);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                conn.Close();
            }
        }
Пример #8
0
        /// <summary>
        /// 获取数据列表
        /// </summary>
        /// <param name="config"></param>
        /// <returns></returns>
        public System.Data.DataTable GetReaderInfo(DataModel.M_Config config)
        {
            string          strConn    = string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties=\"Excel 8.0;IMEX=1\"", config.FilePath);
            OleDbConnection SourceConn = new OleDbConnection(strConn);
            string          cmdstr     = config.SQLString;
            DataSet         ds         = new DataSet();

            try
            {
                OleDbDataAdapter adapt = new OleDbDataAdapter(cmdstr, SourceConn);
                adapt.Fill(ds);
                return(ds.Tables[0]);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                SourceConn.Close();
            }
        }
Пример #9
0
        /// <summary>
        /// 格式转换
        /// </summary>
        /// <param name="config"></param>
        /// <param name="readerDs"></param>
        /// <returns></returns>
        public System.Data.DataTable GetReaderList(DataModel.M_Config config, XmlNodeList readerDs)
        {
            int       i  = 0;
            DataTable dt = new DataTable();

            dt.Columns.Add("CardNo");
            dt.Columns.Add("CardID");
            dt.Columns.Add("ReaderName");
            dt.Columns.Add("Sex");
            dt.Columns.Add("ReaderTypeName");
            dt.Columns.Add("ReaderDeptName");
            dt.Columns.Add("ReaderProName");
            dt.Columns.Add("Flag");
            dt.Columns.Add("Password");
            foreach (XmlNode node in readerDs)
            {
                DataRow ndr = dt.NewRow();
                int     num = 999;
                ndr["CardNo"]         = int.TryParse(config.TypeKeys.CardNo, out num) && num < node.ChildNodes.Count && node.ChildNodes[num] != null ? node.ChildNodes[num].Value.Trim() : "";
                ndr["CardID"]         = int.TryParse(config.TypeKeys.CardID, out num) && num < node.ChildNodes.Count && node.ChildNodes[num] != null ? node.ChildNodes[num].Value.Trim() : "";
                ndr["ReaderName"]     = int.TryParse(config.TypeKeys.Name, out num) && num < node.ChildNodes.Count && node.ChildNodes[num] != null ? node.ChildNodes[num].Value.Trim() : "";
                ndr["Sex"]            = int.TryParse(config.TypeKeys.Sex, out num) && num < node.ChildNodes.Count && node.ChildNodes[num] != null ? node.ChildNodes[num].Value.Trim() : "";
                ndr["ReaderTypeName"] = int.TryParse(config.TypeKeys.Type, out num) && num < node.ChildNodes.Count && node.ChildNodes[num] != null ? node.ChildNodes[num].Value.Trim() : "";
                ndr["ReaderDeptName"] = int.TryParse(config.TypeKeys.Dept, out num) && num < node.ChildNodes.Count && node.ChildNodes[num] != null ? node.ChildNodes[num].Value.Trim() : "";
                ndr["Flag"]           = int.TryParse(config.TypeKeys.Flag, out num) && num < node.ChildNodes.Count && node.ChildNodes[num] != null ? node.ChildNodes[num].Value.Trim() : "";
                ndr["Password"]       = int.TryParse(config.TypeKeys.Password, out num) && num < node.ChildNodes.Count && node.ChildNodes[num] != null ? node.ChildNodes[num].Value.Trim() : "";
                ndr["ReaderProName"]  = "";
                if (string.IsNullOrEmpty(ndr["CardNo"].ToString()))
                {
                    continue;
                }
                dt.Rows.Add(ndr);
                if ((i % 100 == 0 || i == readerDs.Count) && DataProgress != null)
                {
                    DataProgress(i);
                }
            }
            return(dt);
        }
        public System.Data.DataTable GetReaderList(DataModel.M_Config config)
        {
            try
            {
                string   filePath = AppDomain.CurrentDomain.BaseDirectory + "RecvTemp\\";
                string[] files    = Directory.GetFiles(filePath);
                if (files.Length < 1)
                {
                    throw new Exception("找不到读者信息文件!");
                }
                string file = files[files.Length - 1];
                GetReaderTypeFile();
                DataTable dt = new DataTable();
                dt.Columns.Add("CardNo");
                dt.Columns.Add("CardID");
                dt.Columns.Add("ReaderName");
                dt.Columns.Add("Sex");
                dt.Columns.Add("ReaderTypeName");
                dt.Columns.Add("ReaderDeptName");
                dt.Columns.Add("ReaderProName");
                dt.Columns.Add("Flag");
                dt.Columns.Add("Password");
                try
                {
                    int          structSize = Marshal.SizeOf(typeof(XZX_API.HazyInqAccMsg));
                    FileStream   fs         = new FileStream(file, FileMode.Open);
                    BinaryReader br         = new BinaryReader(fs);
                    byte[]       abt        = br.ReadBytes((int)br.BaseStream.Length);
                    br.Close();
                    fs.Close();

                    int readerCount = (int)(abt.Length / structSize);
                    for (int i = 0; i < readerCount; i++)
                    {
                        byte[] bt = new byte[structSize];
                        Array.Copy(abt, i * structSize, bt, 0, structSize);

                        IntPtr ptemp = Marshal.AllocHGlobal(structSize);
                        Marshal.Copy(bt, 0, ptemp, structSize);
                        XZX_API.HazyInqAccMsg accMsg = (XZX_API.HazyInqAccMsg)Marshal.PtrToStructure(ptemp, typeof(XZX_API.HazyInqAccMsg));
                        Marshal.FreeHGlobal(ptemp);

                        if (config.XzxSetting.EveryInfoGet)
                        {
                            XZX_API.AccountMsg acc = new XZX_API.AccountMsg();
                            acc.AccountNo = accMsg.AccountNo;
                            int r = XZX_API.TA_InqAcc(ref acc, 10);
                            if (r == 0)
                            {
                                DataRow dr = dt.NewRow();
                                if (config.XzxSetting.SyncAccountNum)
                                {
                                    dr["CardNo"] = acc.AccountNo.ToString();
                                }
                                else if (!string.IsNullOrEmpty(acc.StudentCode.Trim()))
                                {
                                    dr["CardNo"] = acc.StudentCode.Trim();
                                }
                                else if (config.XzxSetting.NoStudentUseAccount)
                                {
                                    dr["CardNo"] = acc.AccountNo.ToString();
                                }
                                else
                                {
                                    continue;
                                }
                                dr["CardID"]     = acc.CardNo.ToString().Trim();
                                dr["ReaderName"] = acc.Name.Trim();
                                dr["Sex"]        = acc.SexNo.Trim();
                                if (readerType != null && readerType.Count > 0 && readerType.ContainsKey(acc.PID))
                                {
                                    dr["ReaderTypeName"] = readerType[acc.PID];
                                }
                                else
                                {
                                    dr["ReaderTypeName"] = acc.PID;
                                }
                                dr["ReaderDeptName"] = acc.DeptCode.Trim();
                                dr["ReaderProName"]  = "";
                                dr["Flag"]           = acc.Flag.Trim();
                                dr["Password"]       = "";
                                if (string.IsNullOrEmpty(dr["CardNo"].ToString()))
                                {
                                    continue;
                                }
                                dt.Rows.Add(dr);
                            }
                        }
                        else
                        {
                            DataRow dr = dt.NewRow();
                            if (config.XzxSetting.SyncAccountNum)
                            {
                                dr["CardNo"] = accMsg.AccountNo.ToString();
                            }
                            else if (!string.IsNullOrEmpty(accMsg.StudentCode.Trim()))
                            {
                                dr["CardNo"] = accMsg.StudentCode.Trim();
                            }
                            else if (config.XzxSetting.NoStudentUseAccount)
                            {
                                dr["CardNo"] = accMsg.AccountNo.ToString();
                            }
                            else
                            {
                                continue;
                            }
                            dr["CardID"]     = accMsg.CardNo.ToString().Trim();
                            dr["ReaderName"] = accMsg.Name.Trim();
                            dr["Sex"]        = accMsg.SexNo.Trim();
                            if (readerType != null && readerType.Count > 0 && readerType.ContainsKey(accMsg.PID))
                            {
                                dr["ReaderTypeName"] = readerType[accMsg.PID];
                            }
                            else
                            {
                                dr["ReaderTypeName"] = accMsg.PID;
                            }
                            dr["ReaderDeptName"] = accMsg.DeptCode.Trim();
                            dr["ReaderProName"]  = "";
                            dr["Flag"]           = accMsg.Flag.Trim();
                            if (string.IsNullOrEmpty(dr["CardNo"].ToString()))
                            {
                                continue;
                            }
                            dt.Rows.Add(dr);
                        }
                        if ((i % 100 == 0 || i == readerCount - 1) && DataProgress != null)
                        {
                            DataProgress(i);
                        }
                    }
                }
                catch (Exception e)
                {
                    SeatManage.SeatManageComm.WriteLog.Write(string.Format("异常e:" + e.ToString()));
                    throw e;
                }
                return(dt);
            }
            catch (Exception ex)
            {
                SeatManage.SeatManageComm.WriteLog.Write(string.Format("异常ex:" + ex.ToString()));
                throw ex;
            }
        }
Пример #11
0
 /// <summary>
 /// 连接数据源测试
 /// </summary>
 /// <param name="config"></param>
 /// <returns></returns>
 public bool LinkDataSourceTest(DataModel.M_Config config)
 {
     return(File.Exists(config.FilePath));
 }