public MainWindowViewModel()
        {
            DateTime now = DateTime.Now;
            DateTime startOfThisWeek = now.AddDays(-(int)now.DayOfWeek + 1).Date;

            Weeks = new List<WeekModel>();

            Weeks.Add(new WeekModel(startOfThisWeek));
            for(int i = 1; i <= ConfigManager.NumberOfWeeks - 1; i++)
            {
                Weeks.Add(new WeekModel(startOfThisWeek.AddDays(-i * 7)));
            }

            SelectedWeek = Weeks[1];

            GetDataCommand = new GetDataCommand();

            CloseErrorStatusBarCommand = new CloseErrorStatusBarCommand();

            NavigateCommand = new NavigateCommand();

            HolidayCalculator hc = new HolidayCalculator(now.AddMonths(-11), ConfigManager.HolidayFile);
            foreach (HolidayCalculator.Holiday h in hc.OrderedHolidays)
                holidays.Add(new CalendarDayModel(h));

            CurrentUser = Environment.UserDomainName + "\\" + Environment.UserName;

            DataService.GetChangesetsCompleted += DataService_GetChangesetsCompleted;
            DataService.GetCalendarDaysCompleted += DataService_GetCalendarDaysCompleted;

            ShowComments = true;
            CheckCalendar = true;
        }
Example #2
0
        public ItemId Retrieve(ItemId id)
        {
            var command = new GetDataCommand {
                DataId = id
            };

            commandQueue.Enqueue(command);
            return(command.Id);
        }
Example #3
0
        public void Send(string cmdText)
        {
            var cmdbytes = new GetDataCommand(cmdText).GetCommandBytes();

            if (Client != null)
            {
                Client.Send(cmdbytes);
            }
        }
Example #4
0
        void client_ServerDataReceived(object sender, TcpServerDataReceivedEventArgs e)
        {
            var msgItem = new MsgItem(e.Data, e.DataOffset, e.DataLength);

            #region 历史数据接收
            if (msgItem.CommandHex == "06AA")
            {     //历史数据处理
                if (msgItem.BodyLengthHex == "06")
                { //包数解析(测点设备上有多少个包多少条记录)
                    //new GetPackageCountAction().Excute(msgItem.BodyBytes);
                    //历史总条数
                    byte[] temp = new byte[2];
                    Array.Copy(msgItem.BodyBytes, 0, temp, 0, 2);
                    int hisTotal = DataHelper.ConvertToIntFromHex(DataHelper.byteToHexStr(temp.Reverse().ToArray()));
                    //历史总包数
                    Array.Copy(msgItem.BodyBytes, 2, temp, 0, 2);
                    int hisPackageTotal = DataHelper.ConvertToIntFromHex(DataHelper.byteToHexStr(temp.Reverse().ToArray()));

                    Console.WriteLine("历史总条数{0},历史总包数{1}", hisTotal, hisPackageTotal);

                    for (int i = 0; i < hisPackageTotal; i++)
                    {
                        string cmdText  = string.Format("25{0}06AA0066", msgItem.DeviceAddressHex);
                        var    cmdbytes = new GetDataCommand(cmdText).GetCommandBytes();
                        Client.Send(cmdbytes);
                    }
                }
                else
                {//包内容解析(具体包内容解析)
                    var hisRecords = ParsePackageContent(msgItem);
                }
            }
            #endregion


            #region 实时数据接收
            if (ServerDataReceived != null)
            {
                if (msgItem.CommandHex == "01FF")
                {
                    //数据接收
                    var data = new DataParser(msgItem.BodyBytes);

                    ServerDataReceived(msgItem.DeviceAddressHex, data.Temperature.ToString(), data.Humidity.ToString());

                    AppStartUp.AddRecordTask(new Infrastructure.DTO.RealtimeRecord
                    {
                        DeviceAddressHex = msgItem.DeviceAddressHex,
                        Humidity         = data.Humidity,
                        Temperature      = data.Temperature
                    });
                }
            }
            #endregion
        }
Example #5
0
        public static void GetDataCommand(ISmartCardReader smartCardReader, string description, GetDataCommand.Type type)
        {
            var getData = new GetDataCommand();

            ConsoleWriter.Instance.PrintMessage(description);

            string input  = getData.GetApdu(type);
            string output = smartCardReader.Transmit(input);

            ConsoleWriter.Instance.PrintCommand(string.Empty, input, output,
                                                $"Data: {output.Substring(0, output.Length - 4)}");
        }
Example #6
0
        public override void OnFilter(Os.Controls.DataGrid.Events.FilterEvent e)
        {
            base.OnFilter(e);
            ItemsList.Clear();// هنفضى الريكوردات
            string filter;
            Dictionary <string, object> valueObjecttemp;

            GeneralFilter.GeneralFilterMethod(out filter, out valueObjecttemp, e);
            Filter        = filter;          //الفيلتر موجود فى البيز
            ValuesObjects = valueObjecttemp; // ده كمان فى البيز
            if (GetDataCommand.CanExecute(GetDataParameter))
            {
                GetDataCommand.Execute(GetDataParameter);
            }
        }
Example #7
0
        /// <summary>
        /// get all data
        /// </summary>
        public void GetRecordList()
        {
            var dataRecords = new GetDataCommand(dataAPI).Execute();

            if (dataRecords == null)
            {
                return;
            }
            data.Clear();
            EnableSelectedMode = false;

            dataRecords.ForEach((item) =>
            {
                data.Add(new DataModel(item));
            });

            this.RaisePropertyChanged(() => this.DataList);
            SelectedDataModel = new DataModel();
        }
Example #8
0
        /// <summary>
        /// Process a GET DATA to retrieve one EMV information.
        /// </summary>
        /// <param name="tag">
        ///     <list type="bullet">
        ///         <item><c>0x9F36</c> for ATC</item>
        ///         <item><c>0x9F13</c> for Last Online ATC Register</item>
        ///         <item><c>0x9F17</c> for PIN Try Counter</item>
        ///         <item><c>0x9F4F</c> for Log Format</item>
        ///     </list>
        /// </param>
        /// <param name="tlv"></param>
        /// <returns>Last status word.</returns>
        protected UInt16 GetData(UInt32 tag, ref TlvData tlv)
        {
            // Execute GET DATA instruction
            var cAPDU = new GetDataCommand(tag, 0)
            {
                Cla = 0x80
            };
            var crp = new CommandResponsePair(cAPDU);

            if (crp.Transmit(_cardChannel) != ErrorCode.Success)
            {
                return(_lastStatusWord);
            }

            _lastStatusWord = crp.RApdu.StatusWord;

            // Finally store rAPDU
            if (crp.RApdu.StatusWord == 0x9000)
            {
                tlv = new TlvData(crp.RApdu.Udr);
            }

            return(_lastStatusWord);
        }