Ejemplo n.º 1
0
 public void FillSubElements(Object data)
 {
     VISite.Logger.Event("Fill elements: '" + Name + "'".LineBreak() + "With data: " + data);
     GethValueElements.Select(_ => _.Value).Where(_ => _.FillRule != null)
     .ForEach(element =>
     {
         try { element.SetValue(element.FillRule(data)); }
         catch (Exception ex) { VISite.Alerting.ThrowError("Error in FillSubElements. Element '" + element.Name + "'. Data '" + data + "' Exception: " + ex); }
     });
 }
Ejemplo n.º 2
0
        public bool CompareValuesWith(Object data, out string resultText, Func <string, string, bool> compareFunc = null)
        {
            VISite.Logger.Event("Check Form values: '" + Name + "'".LineBreak() + "With data: " + data);
            var result = true;

            resultText  = "";
            compareFunc = compareFunc ?? VIElement.DefaultCompareFunc;
            var elements = GethValueElements.Select(_ => _.Value).Where(_ => _.FillRule != null);

            foreach (var element in elements)
            {
                try
                {
                    var expected     = element.FillRule(data);
                    var expectedEnum = expected as IEnumerable <Object>;
                    if (expectedEnum == null)
                    {
                        if (!compareFunc(element.Value, expected.ToString()))
                        {
                            GetResult(string.Format("Error in CompareValuesWith for element '{0}'. Actual: {1}; Expected: {2}",
                                                    element.Name, element.Value, expected), out result, out resultText);
                            break;
                        }
                    }
                    else
                    {
                        var expecctedList = expectedEnum.Select(el => el.ToString()).ToArray();
                        var actualList    = element.Value.Split(',').Select(el => el.Trim()).ToArray();
                        if (actualList.Count() != expecctedList.Count())
                        {
                            GetResult(string.Format("Error in CompareValuesWith for element '{0}'. Different Count of Elements: {1}(Actual), {2}(Expected); Actual List: {3}; Expected List: {4}",
                                                    element.Name, actualList.Count(), expecctedList.Count(), element.Value, expecctedList.Print()), out result, out resultText);
                            break;
                        }
                        Array.Sort(expecctedList);
                        Array.Sort(actualList);
                        if (actualList.Print() != expecctedList.Print())
                        {
                            GetResult(string.Format("Error in CompareValuesWith for element '{0}'. Actual: {1}; Expected: {2}", element.Name, element.Value, expecctedList.Print()),
                                      out result, out resultText);
                            break;
                        }
                    }
                }
                catch (Exception ex) { VISite.Alerting.ThrowError("Error in CompareValuesWith for element '" + element.Name + "'. Exception: " + ex); }
            }
            return(result);
        }