public void GetIntakeTimetable()
        {
            string folderCombine       = Path.Combine(GlobalData.FileLocationBase, GlobalData.FolderName);
            string fileCombine         = Path.Combine(folderCombine, Path.GetFileName(GlobalData.FileName));
            string folderExportCombine = Path.Combine(folderCombine, GlobalData.ExtractFolderName);
            string xmlfileCombine      = Path.Combine(folderExportCombine, GlobalData.XmlFileName);
            string cacheCombine        = Path.Combine(folderCombine, GlobalData.CacheFileName);

            //Before Download, create the directory first, if not exist
            //If Exist just leave it alone
            Directory.CreateDirectory(Path.Combine(folderCombine));

            //Delete everything on that folder
            ClearFolder(folderCombine);

            //Download the File

            DownloadData download = new DownloadData();

            download.IntakeTimeTable(GlobalData.IntakeCodeUrl, fileCombine);

            //Extract the File
            ZipFile.ExtractToDirectory(fileCombine, folderExportCombine);

            //Store Cache File
            DataParsing dataParsing = new DataParsing();

            dataParsing.SerializingCache(cacheCombine, new Cache("Cache", GlobalData.IntakeCode, GlobalData.IntakeCodeUrl));

            //Read XML File and Convert to List of TimeTable
            _intakeTimetable = new DataParsing().ParseTimeTable(new DownloadLocalData().XmlFile(xmlfileCombine));

            DataParsing.ParseTimeTableByDay(_intakeTimetable);
        }
Exemple #2
0
        private void SerialPortDataReceived(ParsingParameter param)
        {
            if (!PortHelper.IsConnection)
            {
                return;
            }
            if (PortHelper.CurrentForm != this)
            {
                return;
            }
            if (param.FunctionAddress == 67)
            {
                switch (param.Command)
                {
                case 9:
                    //0x46 F 失败  0x53 S 成功
                    _isModuleSet = DataParsing.TemporaryContent(param.DataContent) == 83;
                    break;

                case 208:
                    //0x59 Y 设置成功  0x4E N 设置失败
                    _isModuleSet = DataParsing.TemporaryContent(param.DataContent) == 89;
                    break;
                }
            }
        }
        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddCors(options =>
            {
                options.AddPolicy("AllowAllOrigins",
                                  builder =>
                {
                    builder.AllowAnyOrigin()
                    .AllowAnyHeader()
                    .AllowAnyMethod()
                    .AllowCredentials();
                });
            });

            services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);

            ILogProvider logProvider = new LogProvider();

            services.Add(new ServiceDescriptor(typeof(ILogProvider), logProvider));

            IFetchProvider fetchProvider = new FetchProvider(logProvider);

            services.Add(new ServiceDescriptor(typeof(IFetchProvider), fetchProvider));

            IDataParsing dataParsing = new DataParsing(logProvider);

            services.Add(new ServiceDescriptor(typeof(IDataParsing), dataParsing));

            services.Add(new ServiceDescriptor(typeof(IProductProvider), new ProductProvider(logProvider, fetchProvider, dataParsing)));
        }
Exemple #4
0
 /// <summary>
 /// 端口数据接收
 /// </summary>
 /// <param name="param"></param>
 private void SerialPortDataReceived(ParsingParameter param)
 {
     if (!PortHelper.IsConnection)
     {
         return;
     }
     if (PortHelper.CurrentForm != this)
     {
         return;
     }
     this.Invoke(new EventHandler(delegate
     {
         try
         {
             if (param.FunctionAddress == 66 && param.Command == 221)
             {
                 long result = DataParsing.TemporaryContent(param.DataContent);
                 if (result == 0)
                 {
                     DisplayContent("临时 IC 设备口令设置成功,请保管好口令。", Color.Black);
                     ClearTxt();
                 }
                 else
                 {
                     DisplayContent("临时 IC 设备口令设置失败,请确认设备之间的通信是否正常。");
                 }
             }
         }
         catch (Exception ex)
         {
             CustomExceptionHandler.GetExceptionMessage(ex);
         }
     }));
 }
Exemple #5
0
        public void DataReceived(byte[] by)
        {
            PortDataParameter param = DataParsing.Parsing(by);

            if (param.DistanceCardParam == null)
            {
                return;
            }
            if (param.DistanceCardParam.Command == PortEnums.DistanceCommands.WriteACard)
            {
                OverTimeManager.Stop();
                if (IssueInfo == null)
                {
                    return;
                }
                try
                {
                    if (param.DistanceCardParam.AuxiliaryCommand == PortEnums.AuxiliaryCommands.Success)
                    {
                        IssueInfo.Id = CardManager.Insert(IssueInfo);
                    }
                }
                catch (Exception ex)
                {
                    Log4Helper.ErrorInfo(ex.Message, ex);
                }
                finally
                {
                    IssueInfo = null;
                }
            }
        }
 public void DataReceived(byte[] by)
 {
     try
     {
         PortDataParameter param = DataParsing.Parsing(by);
         if (param.DistanceCardParam == null)
         {
             return;
         }
         OverTimeManager.Stop();
         if (param.DistanceCardParam.Command == PortEnums.DistanceCommands.ReadACard)
         {
             if (param.DistanceCardParam.AuxiliaryCommand == PortEnums.AuxiliaryCommands.Success)
             {
                 int state = CardManager.LossLists[0].CardReportLoss;
                 by = DistanceLoss.PersonnelLoseOrRecovery(CardManager.LossLists, state == 1 ? 1 : 2);
                 bool ret = SerialPortManager.WriteSerialPortData(SerialPortManager.Device1, by);
                 if (!ret)
                 {
                     ViewCallFunction.ViewCloseLoading();
                 }
                 else
                 {
                     OverTimeManager.Start();
                 }
             }
             else
             {
                 ViewCallFunction.ViewCloseLoading();
                 ViewCallFunction.ViewMessage("未能获取到挂失卡,请重新操作。", "2");
             }
         }
         else if (param.DistanceCardParam.Command == PortEnums.DistanceCommands.WriteACard)
         {
             if (param.DistanceCardParam.AuxiliaryCommand == PortEnums.AuxiliaryCommands.Success)
             {
                 foreach (CardInfo item in CardManager.LossLists)
                 {
                     item.CardReportLoss = item.CardReportLoss == 1 ? 0 : 1;
                 }
                 CardManager.Update(CardManager.LossLists.ToArray());
                 CardManager.LossLists = null;
                 ViewCallFunction.ViewLoseOver();
             }
             else
             {
                 ViewCallFunction.ViewCloseLoading();
             }
         }
     }
     catch (Exception ex)
     {
         Log4Helper.ErrorInfo(ex.Message, ex);
         ViewCallFunction.ViewCloseLoading();
         ViewCallFunction.ViewAlert(ex.Message);
     }
 }
Exemple #7
0
 private void PortDataReceived(int port)
 {
     Thread.Sleep(20);
     try
     {
         int len = _mPort.GetBytesToRead();
         if (len == 0)
         {
             return;
         }
         byte[] by = new byte[len];
         _mPort.Read(by, len);
         List <byte[]> bylist = DataValidation.Validation(by);
         foreach (byte[] item in bylist)
         {
             if (item == null)
             {
                 continue;
             }
             ParsingParameter parameter = DataParsing.ParsingContent(item);
             if (parameter.FunctionAddress == 50)
             {
                 if (parameter.Command == 1)
                 {
                     long number = DataParsing.TemporaryContent(parameter.DataContent);
                     if (number == 1)
                     {
                         if (_currentNumber >= _mNumber.Number)
                         {
                             _mNumber.Number = _currentNumber;
                             if (_mNumber.Mid > 0)
                             {
                                 DbHelper.Db.Update <ModuleNumber>(_mNumber);
                             }
                             else
                             {
                                 _mNumber.Mid = DbHelper.Db.Insert <ModuleNumber>(_mNumber);
                             }
                         }
                         EnableDownLoadControls(false);
                         return;
                     }
                     else
                     {
                         EnableDownLoadControls(true);
                         return;
                     }
                 }
             }
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message + ex.StackTrace, @"提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
     EnableDownLoadControls(true);
 }
        public void DataReceived(byte[] by)
        {
            PortDataParameter param = DataParsing.Parsing(by);

            OverTimeManager.Stop();
            try
            {
                if (param.Command.DCommand == PortEnums.DCommands.Default)
                {
                    if (param.DistanceDeviceParam != null && param.DistanceDeviceParam.Command == PortEnums.DistanceCommands.InitializeDevice)
                    {
                        if (param.DistanceDeviceParam.AuxiliaryCommand == PortEnums.AuxiliaryCommands.Success)
                        {
                            if (!EncryptNewDevice)
                            {
                                byte[] bys = PortAgreement.DistanceCardEncryption(NewPwd);
                                SerialPortManager.WriteSerialPortData(SerialPortManager.Device1, bys);
                                EncryptNewDevice = true;
                                OverTimeManager.Start();
                                return;
                            }
                            else
                            {
                                ViewCallFunction.ViewEncryptMessage("定距卡加密结束。");
                                ViewCallFunction.ViewEncryptOver();
                            }
                        }
                        else
                        {
                            ViewCallFunction.ViewEncryptMessage("定距卡加密失败,请重新操作。");
                            ViewCallFunction.ViewEncryptOver();
                        }
                        EncryptNewDevice = false;
                    }
                    else if (param.DistanceCardParam != null && param.DistanceCardParam.Command == PortEnums.DistanceCommands.ModifyAllCardPwd)
                    {
                        if (param.DistanceCardParam.AuxiliaryCommand == PortEnums.AuxiliaryCommands.Success)
                        {
                            DistanceCardParameter distanceParam = param.DistanceCardParam;
                            string msg = $"定距卡:{distanceParam.CardNumber} 密码(口令)加密{(distanceParam.CardTypeParameter.CardType != PortEnums.CardTypes.PwdError ? "成功" : "失败")}";
                            ViewCallFunction.ViewEncryptMessage(msg);
                        }
                        else
                        {
                            DeviceNewPwd();
                        }
                        OverTimeManager.Start();
                    }
                }
            }
            catch (Exception ex)
            {
                Log4Helper.ErrorInfo(ex.Message, ex);
                ViewCallFunction.ViewEncryptOver();
                ViewCallFunction.ViewAlert(ex.Message);
            }
        }
        public void GetIntakeList()
        {
            //Get Network Data
            DownloadData download       = new DownloadData();
            string       intakeListData = download.IntakeList();

            DataParsing dataParsing = new DataParsing();

            _intakeList = dataParsing.ParseIntakeList(intakeListData);
        }
        public void GetSavedTimetable()
        {
            string folderCombine       = Path.Combine(GlobalData.FileLocationBase, GlobalData.FolderName);
            string folderExportCombine = Path.Combine(folderCombine, GlobalData.ExtractFolderName);
            string xmlfileCombine      = Path.Combine(folderExportCombine, GlobalData.XmlFileName);

            //Read XML File and Convert to List of TimeTable
            _intakeTimetable = new DataParsing().ParseTimeTable(new DownloadLocalData().XmlFile(xmlfileCombine));

            DataParsing.ParseTimeTableByDay(_intakeTimetable);
        }
Exemple #11
0
        public void DataReceived(byte[] by)
        {
            PortDataParameter param = DataParsing.Parsing(by);

            if (param.FunctionAddress == PortEnums.DealFunctions.ModularAndVoice)
            {
                //if (param.Command.MCommand == PortEnums.MCommands.SetModule || param.Command.MCommand == PortEnums.MCommands.TestCommunication)
                //{
                SettingOver = param.ModuleParam.Result;
                //}
            }
        }
Exemple #12
0
        public void DataReceived(byte[] by)
        {
            PortDataParameter param = DataParsing.Parsing(by);

            OverTimeManager.Stop();
            try
            {
                if (param.FunctionAddress == PortEnums.DealFunctions.Ic)
                {
                    if (param.Command.ICommand == PortEnums.ICommands.EntryptIcDevice)
                    {
                        if (param.IcParam.Result)
                        {
                            EncryptNewPwd();
                        }
                        else
                        {
                            ViewCallFunction.ViewEncryptMessage("加密失败,请重新操作。");
                            ViewCallFunction.ViewEncryptOver();
                        }
                    }
                    else if (param.Command.ICommand == PortEnums.ICommands.EntryptIcCard)
                    {
                        if (param.IcParam != null)
                        {
                            string msg = $"IC 卡加密{(param.IcParam.Result ? "成功" : "失败")}";
                            ViewCallFunction.ViewEncryptMessage(msg);

                            Task.Factory.StartNew(() =>
                            {
                                for (int i = 0; i < 150; i++)
                                {
                                    Thread.Sleep(10);
                                    if (StopEncrypt)
                                    {
                                        StopEncrypt = false;
                                        OverEncrypt();
                                        return;
                                    }
                                }
                                EncryptNewPwd();
                            });
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Log4Helper.ErrorInfo(ex.Message, ex);
                ViewCallFunction.ViewAlert(ex.Message);
            }
        }
Exemple #13
0
        public void DataReceived(byte[] by)
        {
            PortDataParameter param = DataParsing.Parsing(by);

            OverTimeManager.Stop();
            if (param.Command.HCommand == PortEnums.HCommands.NumberModify)
            {
                if (param.HostParam != null)
                {
                    ViewCallFunction.ViewDownloadOver(param.HostParam.Result);
                }
            }
        }
Exemple #14
0
        public void DataReceived(byte[] by)
        {
            PortDataParameter param = DataParsing.Parsing(by);

            OverTimeManager.Stop();
            if (param.FunctionAddress == PortEnums.DealFunctions.ProsennelHost)
            {
                if (param.HostParam != null)
                {
                    ViewCallFunction.ViewDownloadOver(param.HostParam.Result);
                }
            }
        }
Exemple #15
0
        public void DataReceived(byte[] by)
        {
            PortDataParameter param = DataParsing.Parsing(by);

            if (param.FunctionAddress == PortEnums.DealFunctions.Ic)
            {
                if (param.Command.ICommand == PortEnums.ICommands.Read)
                {
                    IcParameter icInfo = param.IcParam;
                    string      msg    = $"IC卡号:{icInfo.IcNumber} 车牌号码:{icInfo.LicensePlate} 时间:{icInfo.Time} ";
                    ViewCallFunction.ViewWirelessMessage(msg);
                }
            }
        }
 /// <summary>
 /// 端口数据接收
 /// </summary>
 /// <param name="param"></param>
 private void SerialPortDataReceived(ParsingParameter param)
 {
     if (!PortHelper.IsConnection)
     {
         return;
     }
     if (PortHelper.CurrentForm != this)
     {
         return;
     }
     this.Invoke(new EventHandler(delegate
     {
         if (tb_NewPwd.TextLength == 0)
         {
             return;
         }
         try
         {
             if (param.FunctionAddress == 65)
             {
                 DistanceParameter distanceparam = DataParsing.DistanceParsingContent(param.DataContent);
                 if (distanceparam.Command == 160)
                 {
                     if (distanceparam.AuxiliaryCommand == 0)//成功
                     {
                         DisplayContent("多功能操作平台口令设置成功,请保管好口令。", Color.Black);
                         ClearTxt();
                     }
                     else//失败
                     {
                         DisplayContent("多功能操作平台口令设置失败,请重新操作。");
                     }
                 }
                 else
                 {
                     DisplayContent("未知数据内容。");
                 }
             }
             else
             {
                 DisplayContent("未知数据内容。");
             }
         }
         catch (Exception ex)
         {
             CustomExceptionHandler.GetExceptionMessage(ex);
             MessageBox.Show(ex.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
         }
     }));
 }
Exemple #17
0
 private void OnPortDataReceived(int port)
 {
     Thread.Sleep(30);
     try
     {
         int len = _m_Port.GetBytesToRead();
         if (len < 11)
         {
             return;
         }
         if (_tiDelayTimeOut != null)
         {
             _tiDelayTimeOut.Stop();
         }
         byte[] by = new byte[len];
         _m_Port.Read(by, len);
         List <byte[]> bylist = DataValidation.Validation(by);
         foreach (byte[] item in bylist)
         {
             ParsingParameter param = DataParsing.ParsingContent(item);
             if (param.FunctionAddress == 49)
             {
                 int result = (int)DataParsing.TemporaryContent(param.DataContent);
                 if (result == 1)
                 {
                     _m_Port.IsOpen = true;
                     return;
                 }
             }
             else if (param.FunctionAddress == 51)
             {
                 int result = (int)DataParsing.TemporaryContent(param.DataContent);
                 if (result == 1)
                 {
                     ContentMessage("客户编号设置成功。", Color.Green);
                 }
                 else
                 {
                     ContentMessage("错误内容:接收到的数据校验不通过。", Color.Red);
                 }
             }
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show("错误内容:" + ex.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
     LimitControl(true);
 }
Exemple #18
0
 private void SerialPortDataReceived(ParsingParameter param)
 {
     if (PortHelper.IsConnection)
     {
         return;
     }
     if (param.FunctionAddress == 65)
     {
         DistanceParameter distanceparam = DataParsing.DistanceParsingContent(param.DataContent);
         if (distanceparam.Command == 160)
         {
             PortHelper.IsConnection = true;
         }
     }
 }
Exemple #19
0
        public void DataReceived(byte[] by)
        {
            PortDataParameter param = DataParsing.Parsing(by);

            if (param.FunctionAddress == PortEnums.DealFunctions.ModularAndVoice)
            {
                if (param.Command.MCommand == PortEnums.MCommands.SetModule)
                {
                    SettingOver = param.ModuleParam.Result;
                }
                if (by.Length > 12)
                {
                    string str = Encoding.ASCII.GetString(by);
                    ViewCallFunction.ViewWirelessMessage(str);
                }
            }
        }
        /// <summary>
        /// 在接收到外部命令后,调用下一层进行解析配置文件,并且使它对该文件进行处理;
        ///
        ///  这个方法并不是再 Start 中调用的,而是再网页返回数据后调后调用的;TODO
        /// </summary>
        private void Start()
        {
            // 这里只是模拟接受到命令;

            if (dataString != null)
            {
                DataParsing.Parsing(DataType.Json, dataString, true);
            }

            // 向组件注册一些 ExternalFunctions类中的通用处理函数,这样做是为了扩展一些组件内部通用的功能;

            // 注意:组件默认是执行一次函数后,就销毁该函数,true为始终不销毁;

            CustomFunctionService.AddScriptDisposeFunction <ExternalFunctions, JsonData>(true);

            // 当获取数据后,回调该方法,该方法由客户端实现;

            ComStart();
        }
Exemple #21
0
        public void DataReceived(byte[] by)
        {
            PortDataParameter param = DataParsing.Parsing(by);

            if (param.FunctionAddress == PortEnums.DealFunctions.ModularAndVoice)
            {
                if (param.Command.MCommand == PortEnums.MCommands.TestCommunication)
                {
                    if (param.ModuleParam.Result)
                    {
                        ViewCallFunction.ViewWirelessMessage("测试数据发送成功。");
                    }
                    else
                    {
                        ViewCallFunction.ViewWirelessMessage("测试数据发送失败,请检测无线ID(编号)或频率是否正确。");
                    }
                }
            }
        }
Exemple #22
0
 /// <summary>
 /// 端口数据接收事件
 /// </summary>
 /// <param name="param"></param>
 private void SerialPortDataReceived(ParsingParameter param)
 {
     if (!PortHelper.IsConnection)
     {
         return;
     }
     if (PortHelper.CurrentForm != this)
     {
         return;
     }
     try
     {
         if (param.FunctionAddress == 65)
         {
             StopTimeOut();
             //解析数据内容
             DistanceParameter distanceparam = DataParsing.DistanceParsingContent(param.DataContent);
             if (distanceparam.Command == 27)             //定距卡写入
             {
                 if (distanceparam.AuxiliaryCommand == 0) //成功
                 {
                     Dbhelper.Db.Update <CbCardInfo>(_mCardInfo);
                     Dbhelper.Db.Update <CbCardCountingState>(_mCardCounting);
                     this.Tag          = _mCardInfo;
                     this.DialogResult = DialogResult.OK;
                 }
                 else
                 {
                     MessageBox.Show("定距卡写入失败,请将定距卡放置在发行器可读写区域内,重新操作。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                 }
             }
         }
     }
     catch (Exception ex)
     {
         CustomExceptionHandler.GetExceptionMessage(ex);
         MessageBox.Show(ex.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
     finally
     {
         btn_Enter.Enabled = true;
     }
 }
 /// <summary>
 /// 端口数据接收事件
 /// </summary>
 /// <param name="param"></param>
 private void SerialPortDataReceived(ParsingParameter param)
 {
     if (!PortHelper.IsConnection)
     {
         return;
     }
     if (PortHelper.CurrentForm != this)
     {
         return;
     }
     if (param.FunctionAddress == 65)
     {
         DistanceParameter distanceparam = DataParsing.DistanceParsingContent(param.DataContent);
         if (distanceparam.Command == 27)
         {
             SetUpdateCardData(distanceparam.AuxiliaryCommand);
         }
     }
 }
        public void DataReceived(byte[] by)
        {
            PortDataParameter param = DataParsing.Parsing(by);

            OverTimeManager.Stop();
            if (param.DistanceDeviceParam.Command == PortEnums.DistanceCommands.InitializeDevice)
            {
                string msg = null;
                if (param.DistanceDeviceParam.AuxiliaryCommand == PortEnums.AuxiliaryCommands.Success)
                {
                    msg = "定距发行器加密成功";
                }
                else
                {
                    msg = "定距发行器加密失败";
                }
                ViewCallFunction.ViewEncryptMessage(msg);
                ViewCallFunction.ViewEncryptOver();
            }
        }
 /// <summary>
 /// 端口接收事件
 /// </summary>
 /// <param name="param"></param>
 private void SerialPortDataReceived(ParsingParameter param)
 {
     if (!PortHelper.IsConnection)
     {
         return;
     }
     if (PortHelper.CurrentForm != this)
     {
         return;
     }
     this.Invoke(new EventHandler(delegate
     {
         if (param.FunctionAddress == 65)
         {
             DistanceParameter distanceparam = DataParsing.DistanceParsingContent(param.DataContent);
             if (distanceparam.Command == 27)
             {
                 UnlockDistanceCard(distanceparam.AuxiliaryCommand);
             }
         }
     }));
 }
        /// <summary>
        /// this method gets data from business logic and
        /// sends the result to view
        /// </summary>
        /// <returns></returns>
        private List <CompanyDetailsModelUI> GetData()
        {
            DataParsing setLocation = new DataParsing();
            var         result      = setLocation.GetCompanyByLocation(_city, _hitCount, _mtoken);

            ViewBag.HasResponse = setLocation.HasCity;

            //Convert to companyDetailModel list
            var selectedCompanies = new List <CompanyDetailsModelUI>();

            for (int index = 0; index < result.Names.Count; index++)
            {
                var company = new CompanyDetailsModelUI
                {
                    CompanyNames     = result.Names[index],
                    CompanyAddresses = result.Addresses[index]
                };
                selectedCompanies.Add(company);
            }
            ViewBag.NextPageToken = result.NextPageToken;
            ViewBag.lasthitcount  = _hitCount;
            return(selectedCompanies);
        }
Exemple #27
0
        public void DataReceived(byte[] by)
        {
            PortDataParameter param = DataParsing.Parsing(by);

            OverTimeManager.Stop();
            try
            {
                if (param.FunctionAddress == PortEnums.DealFunctions.Ic && param.Command.ICommand == PortEnums.ICommands.EntryptIcDevice)
                {
                    if (param.IcParam != null)
                    {
                        string msg = $"IC 设备加密{(param.IcParam.Result ? "成功" : "失败")}";
                        ViewCallFunction.ViewEncryptMessage(msg);
                        ViewCallFunction.ViewEncryptOver();
                    }
                }
            }
            catch (Exception ex)
            {
                Log4Helper.ErrorInfo(ex.Message, ex);
                ViewCallFunction.ViewAlert(ex.Message);
            }
        }
Exemple #28
0
        public void start()
        {
            DataValid = false;
            string folderCombine       = Path.Combine(GlobalData.FileLocationBase, GlobalData.FolderName);
            string folderExportCombine = Path.Combine(folderCombine, GlobalData.ExtractFolderName);
            string cacheCombine        = Path.Combine(folderCombine, GlobalData.CacheFileName);
            string htmlCombine         = Path.Combine(folderExportCombine, GlobalData.HtmlFileName);

            DownloadLocalData downloadLocalData = new DownloadLocalData();
            string            cacheString       = downloadLocalData.ReadCacheFile(cacheCombine);

            //Parse Cache
            DataParsing dataParsing = new DataParsing();

            _cache = dataParsing.ParseCache(cacheString);

            //Verify Cache
            DataValid = downloadLocalData.ContainIntakeHtmlFile(htmlCombine, _cache.IntakeCode);

            //Load IntakeList
            IntakeListActivity intakeListActivity = new IntakeListActivity();

            intakeListActivity.GetIntakeList();
        }
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            //Fullscreen
            this.Window.SetFlags(WindowManagerFlags.KeepScreenOn, WindowManagerFlags.KeepScreenOn);
            this.Window.AddFlags(WindowManagerFlags.Fullscreen);
            SetContentView(Resource.Layout.activity_main);

            console = FindViewById <TextView>(Resource.Id.console);
            string a = DateTime.Now.ToLocalTime().ToString();

            clock       = FindViewById <TextClock>(Resource.Id.textView2);
            Temperature = FindViewById <TextView>(Resource.Id.textView3);
            TempImage   = FindViewById <ImageView>(Resource.Id.imageView2);

            //Temperature data
            Wind     = FindViewById <TextView>(Resource.Id.windText);
            Pressure = FindViewById <TextView>(Resource.Id.pressureText);
            Humidity = FindViewById <TextView>(Resource.Id.humidityText);
            Water    = FindViewById <TextView>(Resource.Id.waterText);

            Battery    = FindViewById <TextView>(Resource.Id.batterText);
            brightness = FindViewById <TextView>(Resource.Id.brightnessText);

            SetBrightness(100);

            parsing = new DataParsing();
            //Temperature task updater (10 sec)
            Task.Run(() =>
            {
                updateWithInterval();
                BatteryManagement();
            });

            ToCityList           = new MyList <TrafiListModel>();
            mRecyclerViewToCity  = FindViewById <RecyclerView>(Resource.Id.recyclerviewToCity);
            mLayoutManagerToCity = new LinearLayoutManager(this);
            mRecyclerViewToCity.SetLayoutManager(mLayoutManagerToCity);
            mAdapterToCity     = new RecyclerAdapterTrafi(ToCityList, mRecyclerViewToCity, this);
            ToCityList.Adapter = mAdapterToCity;
            mRecyclerViewToCity.SetAdapter(mAdapterToCity);


            ToGymList           = new MyList <TrafiListModel>();
            mRecyclerViewToGym  = FindViewById <RecyclerView>(Resource.Id.recyclerviewToGym);
            mLayoutManagerToGym = new LinearLayoutManager(this);
            mRecyclerViewToGym.SetLayoutManager(mLayoutManagerToGym);
            mAdapterToGym     = new RecyclerAdapterTrafi(ToGymList, mRecyclerViewToGym, this);
            ToGymList.Adapter = mAdapterToGym;
            mRecyclerViewToGym.SetAdapter(mAdapterToGym);

            List           = new MyList <LinkomanijosData>();
            mRecyclerView  = FindViewById <RecyclerView>(Resource.Id.recyclerview);
            mLayoutManager = new LinearLayoutManager(this);
            mRecyclerView.SetLayoutManager(mLayoutManager);
            mAdapter     = new RecyclerAdapter(List, mRecyclerView);
            List.Adapter = mAdapter;
            mRecyclerView.SetAdapter(mAdapter);

            //SPEECH

            //For audio control
            audioManager = (AudioManager)GetSystemService(Context.AudioService);

            textToSpeech = FindViewById <Button>(Resource.Id.button);
            SpeechText   = FindViewById <TextView>(Resource.Id.textView27);

            SpeechToText = FindViewById <Button>(Resource.Id.button2);
            lisenTome    = FindViewById <TextView>(Resource.Id.textView28);

            tts = new TextToSpeech(this, this);

            sr = SpeechRecognizer.CreateSpeechRecognizer(this);
            sr.SetRecognitionListener(this);

            textToSpeech.Click += TextToSpeech_Click;

            SpeechToText.Click += (sender, e) =>
            {
                musicOrigVol = audioManager.GetStreamVolume(Stream.Music);
                audioManager.SetStreamVolume(Stream.Music, 0, 0);
                Intent intent = new Intent(RecognizerIntent.ActionRecognizeSpeech);
                intent.PutExtra(RecognizerIntent.ExtraLanguageModel, RecognizerIntent.LanguageModelFreeForm);
                intent.PutExtra(RecognizerIntent.ExtraCallingPackage, "this package");
                intent.PutExtra(RecognizerIntent.ExtraMaxResults, 5);
                sr.StartListening(intent);
            };
            //SpeechToText.Click += RecordVoice;

            recognition     = FindViewById <Button>(Resource.Id.button3);
            recognitionText = FindViewById <TextView>(Resource.Id.textView6);


            camereImg          = FindViewById <ImageView>(Resource.Id.imageView);
            recognition.Click += async delegate
            {
                //static final int REQUEST_IMAGE_CAPTURE = 1;
                //Intent takePictureIntent = new Intent(MediaStore.ActionImageCapture);
                //if (takePictureIntent.ResolveActivity(PackageManager) != null)
                //{
                //    StartActivityForResult(takePictureIntent, 1);
                //}


                var    classs = new FaceRecognition();
                string path   = @"/data/user/0/camerapictureTaking.camerapictureTaking/filesEimantas.jpg";
                recognitionText.Text = await classs.RecognitionFace("1", path);

                SpeechText.Text = "Authorization succeeded, Hello came back " + recognitionText.Text;
                //Speak();
            };
        }
Exemple #30
0
        public void DataReceived(byte[] by)
        {
            PortDataParameter param = DataParsing.Parsing(by);

            if (param.DistanceCardParam == null)
            {
                return;
            }
            if (param.DistanceCardParam.Command == PortEnums.DistanceCommands.ReadAllCard)
            {
                OverTimeManager.Stop();
                if (param.DistanceCardParam.AuxiliaryCommand == PortEnums.AuxiliaryCommands.End)
                {
                    ViewCallFunction.ViewCloseLoading();
                    return;
                }
                try
                {
                    bool exists = CardManager.CardInfos.Exists(e => e.CardNumber == param.DistanceCardParam.CardNumber);
                    if (exists)
                    {
                        return;
                    }
                    CardInfo info = CardManager.GetCardInfo(param.DistanceCardParam.CardNumber);
                    if (info == null)
                    {
                        info          = new CardInfo();
                        info.CardTime = DateTime.Now;
                    }
                    info.CardNumber   = param.DistanceCardParam.CardNumber;
                    info.CardType     = (int)param.DistanceCardParam.CardTypeParameter.CardType;
                    info.CardLock     = param.DistanceCardParam.CardTypeParameter.CardLock;
                    info.CardDistance = param.DistanceCardParam.CardTypeParameter.Distance;
                    info.Electricity  = param.DistanceCardParam.CardTypeParameter.Electricity;
                    if (info.CardType <= 3)
                    {
                        if (param.DistanceCardParam.FunctionByteParam != null)
                        {
                            if (info.Id > 0 && info.CardType < 3)
                            {
                                info.CardType = (int)param.DistanceCardParam.FunctionByteParam.RegistrationType;
                                if (info.CardType == 1)//人卡或组合卡
                                {
                                    info.ParkingRestrictions = param.DistanceCardParam.FunctionByteParam.ParkingRestrictions;
                                }
                            }
                            info.CardReportLoss = param.DistanceCardParam.FunctionByteParam.Loss;
                            info.ViceCardCount  = param.DistanceCardParam.FunctionByteParam.ViceCardCount;
                            info.Synchronous    = param.DistanceCardParam.FunctionByteParam.Synchronous;
                            info.InOutState     = param.DistanceCardParam.FunctionByteParam.InOutState;
                            info.CardCount      = param.DistanceCardParam.Count;
                        }
                    }
                    CardManager.CardInfos.Add(info);
                    ViewCallFunction.ViewDisplayReadCardInfo(info);
                }
                catch (Exception ex)
                {
                    Log4Helper.ErrorInfo(ex.Message, ex);
                }
                finally
                {
                    OverTimeManager.Start();
                }
            }
        }