public override void RevertChanges() { Track1.RevertChanges(); Track2.RevertChanges(); Track3.RevertChanges(); Track4.RevertChanges(); Track5.RevertChanges(); }
public override void ApplyPropertyValues() { Setup.ApplyPropertyValues(); InputOutput.ApplyPropertyValues(); USB.ApplyPropertyValues(); MIDI.ApplyPropertyValues(); #region DefaultMemory Track1.ApplyPropertyValues(); Track2.ApplyPropertyValues(); Track3.ApplyPropertyValues(); Track4.ApplyPropertyValues(); Track5.ApplyPropertyValues(); Rhythm.ApplyPropertyValues(); //Name.ApplyPropertyValues(); Master.ApplyPropertyValues(); RecOption.ApplyPropertyValues(); PlayOption.ApplyPropertyValues(); Assign1.ApplyPropertyValues(); Assign2.ApplyPropertyValues(); Assign3.ApplyPropertyValues(); Assign4.ApplyPropertyValues(); Assign5.ApplyPropertyValues(); Assign6.ApplyPropertyValues(); Assign7.ApplyPropertyValues(); Assign8.ApplyPropertyValues(); Assign9.ApplyPropertyValues(); Assign10.ApplyPropertyValues(); Assign11.ApplyPropertyValues(); Assign12.ApplyPropertyValues(); Assign13.ApplyPropertyValues(); Assign14.ApplyPropertyValues(); Assign15.ApplyPropertyValues(); Assign16.ApplyPropertyValues(); InputFx.ApplyPropertyValues(); TrackFx.ApplyPropertyValues(); BeatFxA.ApplyPropertyValues(); BeatFxB.ApplyPropertyValues(); BeatFxC.ApplyPropertyValues(); InputFxA.ApplyPropertyValues(); InputFxB.ApplyPropertyValues(); InputFxC.ApplyPropertyValues(); TrackFxA.ApplyPropertyValues(); TrackFxB.ApplyPropertyValues(); TrackFxC.ApplyPropertyValues(); #endregion DefaultMemory }
public override void ApplyChanges <T>(T model) { if (model is MemoryModel memory) { Track1.ApplyChanges(memory.Track1); Track2.ApplyChanges(memory.Track2); Track3.ApplyChanges(memory.Track3); Track4.ApplyChanges(memory.Track4); Track5.ApplyChanges(memory.Track5); } else { throw new ArgumentException("Model must be of type MemoryModel."); } }
public override void ApplyPropertyValues() { Track1.ApplyPropertyValues(); Track2.ApplyPropertyValues(); Track3.ApplyPropertyValues(); Track4.ApplyPropertyValues(); Track5.ApplyPropertyValues(); Rhythm.ApplyPropertyValues(); //Name.ApplyPropertyValues(); Master.ApplyPropertyValues(); RecOption.ApplyPropertyValues(); PlayOption.ApplyPropertyValues(); Assign1.ApplyPropertyValues(); Assign2.ApplyPropertyValues(); Assign3.ApplyPropertyValues(); Assign4.ApplyPropertyValues(); Assign5.ApplyPropertyValues(); Assign6.ApplyPropertyValues(); Assign7.ApplyPropertyValues(); Assign8.ApplyPropertyValues(); Assign9.ApplyPropertyValues(); Assign10.ApplyPropertyValues(); Assign11.ApplyPropertyValues(); Assign12.ApplyPropertyValues(); Assign13.ApplyPropertyValues(); Assign14.ApplyPropertyValues(); Assign15.ApplyPropertyValues(); Assign16.ApplyPropertyValues(); InputFx.ApplyPropertyValues(); TrackFx.ApplyPropertyValues(); BeatFxA.ApplyPropertyValues(); BeatFxB.ApplyPropertyValues(); BeatFxC.ApplyPropertyValues(); InputFxA.ApplyPropertyValues(); InputFxB.ApplyPropertyValues(); InputFxC.ApplyPropertyValues(); TrackFxA.ApplyPropertyValues(); TrackFxB.ApplyPropertyValues(); TrackFxC.ApplyPropertyValues(); }
public ISOMessage Send(ISOMessage message) { string deviceId = "Unknown"; StringBuilder fieldDebug = new StringBuilder(); ISOMessage response = new ISOMessage(); response.Fields = new List <Field>(); if (message == null || message.Fields == null) { log.Warn("Empty message received."); response.Fields.Add(new Field(39, null, "99")); return(response); } try { deviceId = message.Fields.Single(s => s.Fieldid == 41).Value; log.Trace(t => t("{0} : ISO Message recieved, MTI={1}{2}", deviceId, message.MessageClass, message.MessageFunction)); if (log.IsDebugEnabled) { foreach (var field in message.Fields.OrderBy(o => o.Fieldid)) { fieldDebug.AppendLine("Field " + field.Fieldid.ToString("000") + "=" + field.Value); } log.Debug(d => d("{0} : ISO Message{1}{2}", deviceId, Environment.NewLine, fieldDebug.ToString().Trim())); } //Handshake - TPK if (message.MessageClass + message.MessageFunction == "0800") { response.MessageClass = "08"; response.MessageFunction = "10"; log.Trace(t => t("{0} : Generate session key for device.", deviceId)); var resp = _terminalController.GetTerminalSessionKeyClear(deviceId, 0, -2, deviceId); if (resp.ResponseType == ResponseType.SUCCESSFUL) { log.Trace(t => t("{0} : Session key generated for device.", deviceId)); log.Debug(d => d("{0} : Session key for device {1}.", deviceId, resp.Value.RandomKey)); response.Fields.Add(new Field(39, null, resp.ResponseException)); response.Fields.Add(new Field(62, null, resp.Value.RandomKey.Substring(resp.Value.RandomKey.Length % 16))); } else { log.Trace(t => t("{0} : Session key failed to generate for device.", deviceId)); log.WarnFormat("{0} : Failed to generate session key for device, error = {1}-{2}", deviceId, resp.ResponseException, resp.ResponseMessage); response.Fields.Add(new Field(39, null, resp.ResponseException)); } } //PIN else if (message.MessageClass + message.MessageFunction == "0200") { response.MessageClass = "02"; response.MessageFunction = "10"; log.Trace(t => t("{0} : Update PIN message from device ", deviceId)); var trackData = message.Fields.Single(s => s.Fieldid == 35).Value; Track2 track2 = new Track2(trackData); TerminalCardData cardData = new TerminalCardData { PINBlockFormat = 0, PINBlock = message.Fields.Single(s => s.Fieldid == 57).Value, IsTrack2Encrypted = false, Track2 = trackData, IsPANEncrypted = false, PAN = track2.PAN }; //PINResetISO8583(string deviceId, string operatorCode, string pinBlock, string trackData, long auditUserId, string auditWorkstation) var resp = _terminalController.PINResetISO8583( deviceId, message.Fields.Single(s => s.Fieldid == 52).Value, cardData, //message.Fields.Single(s => s.Fieldid == 57).Value, //message.Fields.Single(s => s.Fieldid == 35).Value, -2, deviceId); if (resp.ResponseType == ResponseType.SUCCESSFUL) { log.Trace(t => t("{0} : PIN updated successfully form device.", deviceId)); response.Fields.Add(new Field(39, null, resp.ResponseException)); } else { log.Trace(t => t("{0} : Update PIN failed for device.", deviceId)); log.WarnFormat("{0} : Failed to update PIN for device, error = {1}-{2}", deviceId, resp.ResponseException, resp.ResponseMessage); response.Fields.Add(new Field(39, null, resp.ResponseException)); } } } catch (Exception ex) { log.Error(deviceId + " : Unexpected error.", ex); response.Fields.Add(new Field(39, null, "99")); } finally { //echo back fields: foreach (var field in message.Fields) { switch (field.Fieldid) { case 3: case 11: case 41: case 42: response.Fields.Add(field); break; default: break; } } if (log.IsDebugEnabled) { fieldDebug.Clear(); foreach (var field in response.Fields.OrderBy(o => o.Fieldid)) { fieldDebug.AppendLine("Field " + field.Fieldid.ToString("000") + "=" + field.Value); } } } log.Trace(t => t(deviceId + " : Responding with MTI=" + response.MessageClass + response.MessageFunction + ", code=" + response.Fields.Single(s => s.Fieldid == 39).Value)); log.Debug(d => d(deviceId + " : ISO Response " + Environment.NewLine + fieldDebug.ToString().Trim())); return(response); }