/// <inheritdoc/> public override void Process(BatchState batchState) { // Read in the individual arguments DatHeaderField field = Arguments[0].AsDatHeaderField(); string value = Arguments[1]; // Set the header field batchState.DatFile.Header.SetFields(new Dictionary <DatHeaderField, string> { [field] = value }); }
/// <inheritdoc/> public override (bool, string) ValidateArguments() { if (Arguments.Count < 2 || Arguments.Count > 4) { string message = $"Invoked {Name} and expected between 2-4 arguments, but {Arguments.Count} arguments were provided"; return(false, message); } // Read in the individual arguments DatHeaderField filterDatHeaderField = Arguments[0].AsDatHeaderField(); MachineField filterMachineField = Arguments[0].AsMachineField(); DatItemField filterDatItemField = Arguments[0].AsDatItemField(); bool? filterRemove = false; if (Arguments.Count >= 3) { filterRemove = Arguments[2].AsYesNo(); } bool?filterPerMachine = false; if (Arguments.Count >= 4) { filterPerMachine = Arguments[3].AsYesNo(); } // If we had an invalid input, log and continue if (filterDatHeaderField == DatHeaderField.NULL && filterMachineField == MachineField.NULL && filterDatItemField == DatItemField.NULL) { string message = $"{Arguments[0]} was an invalid field name"; return(false, message); } if (filterRemove == null) { string message = $"{Arguments[2]} was an invalid true/false value"; return(false, message); } if (filterPerMachine == null) { string message = $"{Arguments[3]} was an invalid true/false value"; return(false, message); } return(true, null); }
/// <inheritdoc/> public override (bool, string) ValidateArguments() { if (Arguments.Count != 2) { string message = $"Invoked {Name} but no arguments were provided"; return(false, message); } DatHeaderField field = Arguments[0].AsDatHeaderField(); // If we had an invalid input, log and continue if (field == DatHeaderField.NULL) { string message = $"{Arguments[0]} was an invalid field name"; return(false, message); } return(true, null); }
/// <summary> /// Set remover from a value /// </summary> /// <param name="field">Key for the remover to be set</param> public bool SetRemover(string field) { // If the key is null or empty, return false if (string.IsNullOrWhiteSpace(field)) { return(false); } // If we have a DatHeader field DatHeaderField datHeaderField = field.AsDatHeaderField(); if (datHeaderField != DatHeaderField.NULL) { DatHeaderFields.Add(datHeaderField); return(true); } return(false); }
public void AsDatHeaderFieldTest(string field, DatHeaderField expected) { DatHeaderField actual = field.AsDatHeaderField(); Assert.Equal(expected, actual); }