private static void Host_PostPersonnelIssue(object sender, Chromium.Remote.Event.CfrV8HandlerExecuteEventArgs e) { try { int index = e.Arguments[0].IntValue; Chromium.Remote.CfrTime cTime = e.Arguments[1].DateValue; DateTime time = new DateTime(cTime.Year, cTime.Month, cTime.DayOfMonth); int partition = e.Arguments[2].IntValue; int dataType = e.Arguments[3].IntValue; string customData = e.Arguments[4].StringValue; CardInfo info = CardManager.CardInfos[index]; info.CardTime = time; info.CardPartition = partition; byte[] by = PersonnelIssue.Issue(info, dataType, customData); bool ret = SerialPortManager.WriteSerialPortData(SerialPortManager.Device1, by); if (ret) { ReceivedManager.SetReceivedFunction <CardIssuePersonnel>(); ReceivedManager.GetReceivedFun <CardIssuePersonnel>().IssueInfo = info; } } catch (Exception ex) { Log4Helper.ErrorInfo(ex.Message); ViewCallFunction.ViewAlert(ex.Message); } }
private static void Host_PostPersonnelBatch(object sender, Chromium.Remote.Event.CfrV8HandlerExecuteEventArgs e) { UpdateBatchParam(e); Task.Factory.StartNew(() => { try { int index = -1; CardBatchPersonnel batchPersonnel = null; foreach (CardInfo item in CardManager.CardInfos) { if (item.Id > 0 || item.CardType > 2) { continue; } index += 1; item.CardTime = CardManager.BatchParam.CardTime; item.CardPartition = CardManager.BatchParam.CardPartition; byte[] by = PersonnelIssue.Issue(item, 1, string.Empty); bool ret = SerialPortManager.WriteSerialPortData(SerialPortManager.Device1, by); if (ret) { ReceivedManager.SetReceivedFunction <CardBatchPersonnel>(); if (batchPersonnel == null) { batchPersonnel = ReceivedManager.GetReceivedFun <CardBatchPersonnel>(); } batchPersonnel.IssueInfo = item; for (int i = 0; i < 250; i++) { Thread.Sleep(10); if (batchPersonnel.IssueInfo == null) { if (item.Id > 0) { ViewCallFunction.ViewDisplayBatchContent(item, index); } break; } } } } } catch (Exception ex) { Log4Helper.ErrorInfo(ex.Message, ex); ViewCallFunction.ViewAlert(ex.Message); } finally { int count = CardManager.CardInfos.Where(w => w.Id == 0).Count(); ViewCallFunction.ViewBatchOver(count); } }); }