protected override void ExecuteTool(IDSFDataObject dataObject, int update) { var allErrors = new ErrorResultTO(); InitializeDebug(dataObject); if (Result == null) { Result = string.Empty; } var toresultfields = Result.Split(','); var fromFields = InFields.Split(','); var fromResultFieldresultfields = ResultFields.Split(','); try { PreExecution(dataObject, fromFields, update); if (String.IsNullOrEmpty(InFields)) { throw new Exception(string.Format(ErrorResource.Invalid, "In fields")); } if (String.IsNullOrEmpty(ResultFields)) { throw new Exception(string.Format(ErrorResource.Invalid, "from fields")); } if (toresultfields.Any(ExecutionEnvironment.IsScalar)) { throw new Exception(string.Format(ErrorResource.ScalarsNotAllowed, "'Result'")); } dataObject.Environment.AssignUnique(fromFields, fromResultFieldresultfields, toresultfields, update); } catch (Exception e) { Dev2Logger.Error("DSFUnique", e, GlobalConstants.WarewolfError); allErrors.AddError(e.Message); } finally { PostExecute(dataObject, toresultfields, allErrors.HasErrors(), update); // Handle Errors var hasErrors = allErrors.HasErrors(); if (hasErrors) { DisplayAndWriteError("DsfUniqueActivity", allErrors); foreach (var error in allErrors.FetchErrors()) { dataObject.Environment.AddError(error); } } if (dataObject.IsDebugMode()) { DispatchDebugState(dataObject, StateType.Before, update); DispatchDebugState(dataObject, StateType.After, update); } } }
public override int GetHashCode() { unchecked { var hashCode = base.GetHashCode(); hashCode = (hashCode * 397) ^ (InFields != null ? InFields.GetHashCode() : 0); hashCode = (hashCode * 397) ^ (ResultFields != null ? ResultFields.GetHashCode() : 0); hashCode = (hashCode * 397) ^ (Result != null ? Result.GetHashCode() : 0); return(hashCode); } }
protected override void ExecuteTool(IDSFDataObject dataObject) { _debugInputs = new List <DebugItem>(); _debugOutputs = new List <DebugItem>(); var allErrors = new ErrorResultTO(); InitializeDebug(dataObject); var toresultfields = Result.Split(','); var fromFields = InFields.Split(','); var fromResultFieldresultfields = ResultFields.Split(','); try { PreExecution(dataObject, fromFields); if (String.IsNullOrEmpty(InFields)) { throw new Exception("Invalid In fields"); } if (String.IsNullOrEmpty(ResultFields)) { throw new Exception("Invalid from fields"); } if (toresultfields.Any(a => !ExecutionEnvironment.IsValidRecordSetIndex(a))) { throw new Exception("invalid result"); } if (fromFields.Any(a => !ExecutionEnvironment.IsValidRecordSetIndex(a))) { throw new Exception("invalid from"); } if (fromResultFieldresultfields.Any(a => !ExecutionEnvironment.IsValidRecordSetIndex(a))) { throw new Exception("invalid selected fields"); } dataObject.Environment.AssignUnique(fromFields, fromResultFieldresultfields, toresultfields); } catch (Exception e) { Dev2Logger.Log.Error("DSFUnique", e); allErrors.AddError(e.Message); } finally { PostExecute(dataObject, toresultfields, allErrors.HasErrors()); // Handle Errors var hasErrors = allErrors.HasErrors(); if (hasErrors) { DisplayAndWriteError("DsfUniqueActivity", allErrors); foreach (var error in allErrors.FetchErrors()) { dataObject.Environment.AddError(error); } } if (dataObject.IsDebugMode()) { DispatchDebugState(dataObject, StateType.Before); DispatchDebugState(dataObject, StateType.After); } } }
/// <summary> /// Get a value of a parameter if it already was added /// </summary> /// <param name="key">Parametername for Ogone</param> /// <returns>Null when not found, otherwise the corresponding value</returns> public string GetField(InFields key) { string result = null; if (extrafields.ContainsKey(key)) { result = extrafields[key]; } return result; }
/// <summary> /// Remove a field from the added extra supplementary fields /// </summary> /// <param name="key">Parametername for Ogone</param> public void RemoveField(InFields key) { if (extrafields.ContainsKey(key)) { extrafields.Remove(key); } }
/// <summary> /// Add a supplementary field from one of the allowed fields /// </summary> /// <param name="key">Parametername for Ogone</param> /// <param name="value">The value of the parameter</param> public void AddField(InFields key, string value) { if (!extrafields.ContainsKey(key) && !string.IsNullOrWhiteSpace(value)) { extrafields.Add(key, value); } }