internal override bool Handle(FieldSyncDataCode syncCode, Dictionary <byte, object> parameters, out string errorMessage)
        {
            if (base.Handle(syncCode, parameters, out errorMessage))
            {
                DataChangeCode changeCode            = (DataChangeCode)parameters[(byte)SyncCardChangedParameterCode.DataChangeCode];
                Library.Field.FieldCardRecord record = SerializationHelper.Deserialize <Library.Field.FieldCardRecord>((byte[])parameters[(byte)SyncCardChangedParameterCode.FieldCardRecordByteArray]);
                switch (changeCode)
                {
                case DataChangeCode.Add:
                    subject.AddCard(record.CardRecordID, record.PositionIndex);
                    break;

                case DataChangeCode.Remove:
                    subject.RemoveCard(record.CardRecordID);
                    break;

                case DataChangeCode.Update:
                    subject.UpdateCard(record.CardRecordID, record.PositionIndex);
                    break;

                default:
                    errorMessage = "Undefined changeCode";
                    return(false);
                }
                return(true);
            }
            else
            {
                return(false);
            }
        }
        public void SyncCardChanged(Library.Field.FieldCardRecord record, DataChangeCode changeCode)
        {
            Dictionary <byte, object> eventData = new Dictionary <byte, object>
            {
                { (byte)SyncCardChangedParameterCode.DataChangeCode, (byte)changeCode },
                { (byte)SyncCardChangedParameterCode.FieldCardRecordByteArray, SerializationHelper.Serialize(record) },
            };

            SendSyncData(FieldSyncDataCode.FieldCardChanged, eventData);
        }