Example #1
0
        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);
                }
            }
        }
Example #2
0
 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);
                }
            }
        }
Example #4
0
 /// <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;
 }
Example #5
0
 /// <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);
     }
 }
Example #6
0
 /// <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);
     }
 }