public static void AddDataVerifyPart(IDataListVerifyPart part, string nameOfPart, Dictionary <IDataListVerifyPart, string> unique)
 {
     if (!unique.ContainsValue(nameOfPart))
     {
         unique.Add(part, nameOfPart);
     }
 }
Example #2
0
 static void ProcessFoundRecordSets(IDataListVerifyPart part, IDataListItemModel recsetToRemove)
 {
     if (string.IsNullOrEmpty(part.Field))
     {
         if (recsetToRemove != null)
         {
             recsetToRemove.IsUsed = false;
         }
     }
     else
     {
         if (recsetToRemove == null)
         {
             return;
         }
         var childrenToRemove = recsetToRemove.Children.Where(c => c.Name == part.Field && c.IsField);
         childrenToRemove.ToList().ForEach(childToRemove =>
         {
             if (childToRemove != null)
             {
                 childToRemove.IsUsed = false;
             }
         });
     }
 }
Example #3
0
 public void AddMissingScalarParts(IDataListVerifyPart part)
 {
     if (_vm.ScalarCollection.FirstOrDefault(c => c.DisplayName == part.Field) == null)
     {
         var scalar = DataListItemModelFactory.CreateScalarItemModel(part.Field, part.Description);
         UpdateScalar(scalar);
     }
 }
Example #4
0
        public void SetComplexObjectSetPartIsUsed(IDataListVerifyPart part, bool isUsed)
        {
            var objects = _complexObjectItemModels.Flatten(model => model.Children).Where(model => model.DisplayName == part.DisplayValue.Trim('@'));

            objects.ForEach(model =>
            {
                model.IsUsed = isUsed;
            });
        }
Example #5
0
        public void SetScalarPartIsUsed(IDataListVerifyPart part, bool isUsed)
        {
            var scalarsToRemove = _scalarCollection.Where(c => c.DisplayName == part.Field);

            scalarsToRemove.ToList().ForEach(scalarToRemove =>
            {
                scalarToRemove.IsUsed = isUsed;
            });
        }
        public void AddComplexObject(IDataListVerifyPart part)
        {
            var paths = part.DisplayValue.Split('.');
            IComplexObjectItemModel itemModel = null;

            for (var index = 0; index < paths.Length; index++)
            {
                var path = paths[index];
                if (string.IsNullOrEmpty(path) || char.IsNumber(path[0]))
                {
                    return;
                }
                path = DataListUtil.ReplaceRecordsetIndexWithBlank(path);
                var pathToMatch = path.Replace("@", "");
                if (string.IsNullOrEmpty(pathToMatch) || pathToMatch == "()")
                {
                    return;
                }

                var isArray = DataListUtil.IsArray(ref path);

                if (itemModel == null)
                {
                    itemModel =
                        _vm.ComplexObjectCollection.FirstOrDefault(
                            model => model.DisplayName == pathToMatch && model.IsArray == isArray);
                    if (itemModel != null)
                    {
                        continue;
                    }
                    itemModel = new ComplexObjectItemModel(path)
                    {
                        IsArray = isArray
                    };
                    _vm.ComplexObjectCollection.Add(itemModel);
                }
                else
                {
                    if (index == 0)
                    {
                        continue;
                    }
                    var item =
                        itemModel.Children.FirstOrDefault(
                            model => model.DisplayName == pathToMatch && model.IsArray == isArray);
                    if (item == null)
                    {
                        item = new ComplexObjectItemModel(path)
                        {
                            Parent = itemModel, IsArray = isArray
                        };
                        itemModel.Children.Add(item);
                    }
                    itemModel = item;
                }
            }
        }
Example #7
0
 internal IntellisenseResult(int startIdx, int endIdx, IDataListVerifyPart option, string message, enIntellisenseResultType typeOf, enIntellisenseErrorCode errCode, bool isClosed)
 {
     StartIndex     = startIdx;
     EndIndex       = endIdx;
     Option         = option;
     Message        = message;
     Type           = typeOf;
     ErrorCode      = errCode;
     IsClosedRegion = isClosed;
 }
Example #8
0
 void FindMissingForScalar(IDataListVerifyPart part, List <IDataListVerifyPart> missingDataParts)
 {
     if (part.IsScalar)
     {
         if (DataList.Count(c => c.Name == part.Field && !c.IsRecordset) == 0)
         {
             missingDataParts.Add(part);
         }
     }
 }
Example #9
0
        internal IntellisenseResult(int startIdx, int endIdx, IDataListVerifyPart option, string message, enIntellisenseResultType typeOf, enIntellisenseErrorCode errCode, bool isClosed) {

            StartIndex = startIdx;
            EndIndex = endIdx;
            Option = option;
            Message = message;
            Type = typeOf;
            ErrorCode = errCode;
            IsClosedRegion = isClosed;
        }
        public void AddMissingTempRecordSet(IDataListVerifyPart part, IRecordSetItemModel tmpRecset)
        {
            var child = DataListItemModelFactory.CreateRecordSetFieldItemModel(part.Field, part.Description, tmpRecset);

            if (child != null)
            {
                child.DisplayName = part.Recordset + "()." + part.Field;
                tmpRecset.Children.Add(child);
            }
        }
Example #11
0
 public void FindMissingForScalar(IDataListVerifyPart part, List <IDataListVerifyPart> missingDataParts)
 {
     if (!part.IsScalar)
     {
         return;
     }
     if (_vm.ScalarCollection.Count(c => c.DisplayName == part.Field) == 0)
     {
         missingDataParts.Add(part);
     }
 }
Example #12
0
        void ProcessScalarPart(IDataListVerifyPart part)
        {
            var scalarsToRemove = ScalarCollection.Where(c => c.Name == part.Field);

            scalarsToRemove.ToList().ForEach(scalarToRemove =>
            {
                if (scalarToRemove != null)
                {
                    scalarToRemove.IsUsed = false;
                }
            });
        }
 public void AddMissingRecordSetPart(IRecordSetItemModel recsetToAddTo, IDataListVerifyPart part)
 {
     if (recsetToAddTo.Children.FirstOrDefault(c => c.DisplayName == part.Field) == null)
     {
         var child = DataListItemModelFactory.CreateRecordSetFieldItemModel(part.Field, part.Description, recsetToAddTo);
         if (recsetToAddTo.Children.Count > 0)
         {
             recsetToAddTo.Children.Insert(recsetToAddTo.Children.Count - 1, child);
         }
         else
         {
             recsetToAddTo.Children.Add(child);
         }
     }
 }
Example #14
0
 public void AddMissingRecordSetPart(IRecordSetItemModel recsetToAddTo, IDataListVerifyPart part)
 {
     if (recsetToAddTo.Children.FirstOrDefault(c => c.DisplayName == part.Field) == null)
     {
         var child = DataListItemModelFactory.CreateRecordSetFieldItemModel(part.Field, part.Description, recsetToAddTo);
         child.OnDeleted += (item) => _vm.RemoveDataListItem(item);
         child.IsVisible  = _vm.IsItemVisible(child.Name);
         if (recsetToAddTo.Children.Count > 0)
         {
             recsetToAddTo.Children.Insert(recsetToAddTo.Children.Count - 1, child);
         }
         else
         {
             recsetToAddTo.Children.Add(child);
         }
     }
 }
        public bool AddRecordSetIndex(IParseTO payload, bool addCompleteParts, IList <IIntellisenseResult> result, string[] parts, IDev2DataLanguageIntellisensePart t1, bool emptyOk)
        {
            if (addCompleteParts)
            {
                string idx    = DataListUtil.ExtractIndexRegionFromRecordset(parts[0]);
                string recset = DataListUtil.ExtractRecordsetNameFromValue(parts[0]);

                IDataListVerifyPart p = IntellisenseFactory.CreateDataListValidationRecordsetPart(recset, string.Empty, t1.Description, payload.Child != null ? payload.Child.Payload : idx);

                result.Add(IntellisenseFactory.CreateSelectableResult(payload.StartIndex, payload.EndIndex, p, p.Description));
            }
            else
            {
                emptyOk = true;
            }
            return(emptyOk);
        }
Example #16
0
 void FindMissingPartsForRecordset(IDataListVerifyPart part, List <IDataListVerifyPart> missingDataParts)
 {
     if (!(part.IsScalar))
     {
         var recset = DataList.Where(c => c.Name == part.Recordset && c.IsRecordset).ToList();
         if (!recset.Any())
         {
             missingDataParts.Add(part);
         }
         else
         {
             if (!string.IsNullOrEmpty(part.Field) && recset[0].Children.Count(c => c.Name == part.Field) == 0)
             {
                 missingDataParts.Add(part);
             }
         }
     }
 }
        static void AddDataUniquePart(string dataPartFieldData, Dev2DataLanguageParser dataLanguageParser, Dictionary <IDataListVerifyPart, string> unique)
        {
            IDataListVerifyPart verifyPart = null;
            var    fieldList = dataPartFieldData.Split('.');
            string fullyFormattedStringValue = "";

            if (fieldList.Length > 1 && !String.IsNullOrEmpty(fieldList[0]))
            {
                AddRecsetContainingAField(dataLanguageParser, unique, ref verifyPart, fieldList, ref fullyFormattedStringValue);
            }
            else
            {
                if (fieldList.Length == 1 && !String.IsNullOrEmpty(fieldList[0]))
                {
                    AddScalarOrRecset(dataPartFieldData, dataLanguageParser, unique, ref verifyPart, fieldList, ref fullyFormattedStringValue);
                }
            }
        }
Example #18
0
 private static void ProcessFoundRecordSets(IDataListVerifyPart part, IRecordSetItemModel recsetToRemove, bool isUsed)
 {
     if (recsetToRemove == null)
     {
         return;
     }
     if (string.IsNullOrEmpty(part.Field))
     {
         recsetToRemove.IsUsed = isUsed;
     }
     else
     {
         var childrenToRemove = recsetToRemove.Children.Where(c => c.DisplayName == part.Field);
         childrenToRemove.ToList().ForEach(childToRemove =>
         {
             childToRemove.IsUsed = isUsed;
         });
     }
 }
        public void FindMissingPartsForRecordset(IDataListVerifyPart part, List <IDataListVerifyPart> missingDataParts)
        {
            if (part.IsScalar)
            {
                return;
            }
            var recset = _vm.RecsetCollection.Where(c => c.DisplayName == part.Recordset).ToList();

            if (!recset.Any())
            {
                missingDataParts.Add(part);
            }
            else
            {
                if (!string.IsNullOrEmpty(part.Field) && recset[0].Children.Count(c => c.DisplayName == part.Field) == 0)
                {
                    missingDataParts.Add(part);
                }
            }
        }
        public void ProcessNonRecordsetFields(IParseTO payload, IList <IIntellisenseResult> result, IDev2DataLanguageIntellisensePart t1)
        {
            if (payload.Parent != null && payload.Parent.Payload.IndexOf(DataListUtil.RecordsetIndexOpeningBracket, StringComparison.Ordinal) >= 0)
            {
                IDataListVerifyPart part = IntellisenseFactory.CreateDataListValidationScalarPart(t1.Name, t1.Description + " / Use row at this index");

                result.Add(IntellisenseFactory.CreateSelectableResult(payload.StartIndex, payload.EndIndex, part, part.Description));
            }
            else
            {
                IDataListVerifyPart part;
                if (t1.Name.Contains('(') && t1.Name.Contains(')'))
                {
                    part = IntellisenseFactory.CreateDataListValidationRecordsetPart(string.Empty, t1.Name, true);
                }
                else
                {
                    part = IntellisenseFactory.CreateDataListValidationScalarPart(t1.Name, t1.Description);
                }

                result.Add(IntellisenseFactory.CreateSelectableResult(payload.StartIndex, payload.EndIndex, part, part.Description));
            }
        }
        public void ProcessRecordSetMatch(IParseTO payload, IList <IIntellisenseResult> result, string rawSearch, string search, IDev2DataLanguageIntellisensePart t1)
        {
            // only process if it is an open region
            // we need to add all children
            string idx;

            if (!payload.IsLeaf && !payload.Child.HangingOpen)
            {
                idx = DataListUtil.OpeningSquareBrackets + payload.Child.Payload + DataListUtil.ClosingSquareBrackets;
            }
            else
            {
                // we need to extract the index
                idx = DataListUtil.ExtractIndexRegionFromRecordset(rawSearch);
            }
            // add general closed recordset
            string rsName = search;

            if (idx == string.Empty)
            {
                rsName = payload.Payload;
            }
            IDataListVerifyPart part = IntellisenseFactory.CreateDataListValidationRecordsetPart(rsName, "", t1.Description + " / Select a specific row", idx);

            result.Add(IntellisenseFactory.CreateSelectableResult(payload.StartIndex, payload.EndIndex, part, part.Description));

            IList <IDev2DataLanguageIntellisensePart> children = t1.Children;

            if (children != null)
            {
                foreach (IDev2DataLanguageIntellisensePart t in children)
                {
                    part = IntellisenseFactory.CreateDataListValidationRecordsetPart(rsName, t.Name, t.Description + " / Select a specific field at a specific row", idx);
                    result.Add(IntellisenseFactory.CreateSelectableResult(payload.StartIndex, payload.EndIndex, part, part.Description));
                }
            }
        }
        public void OpenRecordsetItem(IParseTO payload, IList <IIntellisenseResult> result, IDev2DataLanguageIntellisensePart t1)
        {
            if (payload.Child != null)
            {
                string indx = payload.Child.Payload;
                int    end  = indx.IndexOf(DataListUtil.RecordsetIndexClosingBracket, StringComparison.Ordinal);
                if (end > 0)
                {
                    // malformed index -- correct it
                    indx = indx.Substring(0, end);
                }

                indx = DataListUtil.AddBracketsToValueIfNotExist(indx);

                string rs = payload.Payload;
                end = rs.IndexOf(DataListUtil.RecordsetIndexOpeningBracket, StringComparison.Ordinal);
                if (end > 0)
                {
                    rs = rs.Substring(0, end);
                }

                IDataListVerifyPart prt = IntellisenseFactory.CreateDataListValidationRecordsetPart(rs, "", " / Select a specific row", indx);

                result.Add(IntellisenseFactory.CreateSelectableResult(payload.StartIndex, payload.EndIndex, prt, prt.Description));

                // now add all fields to collection too ;)
                if (t1.Children != null)
                {
                    IList <IDev2DataLanguageIntellisensePart> cParts = t1.Children;
                    foreach (IDev2DataLanguageIntellisensePart t in cParts)
                    {
                        prt = IntellisenseFactory.CreateDataListValidationRecordsetPart(rs, t.Name, " / Select a specific row", indx);
                        result.Add(IntellisenseFactory.CreateSelectableResult(payload.StartIndex, payload.EndIndex, prt, prt.Description));
                    }
                }
            }
        }
Example #23
0
        public bool ProcessFieldsForRecordSet(IParseTO payload, bool addCompleteParts, IList <IIntellisenseResult> result, string[] parts, out string search, out bool emptyOk, string display, IDev2DataLanguageIntellisensePart recordsetPart, string partName)
        {
            emptyOk = false;
            search  = "";
            if (parts[0].IndexOf(DataListUtil.RecordsetIndexClosingBracket, StringComparison.Ordinal) <= 0)
            {
                // its an error ;)
                IDataListVerifyPart part = IntellisenseFactory.CreateDataListValidationRecordsetPart(parts[0], "." + parts[1], true);
                result.Add(IntellisenseFactory.CreateErrorResult(payload.StartIndex, payload.EndIndex, part, " [[" + display + "]] is a malformed recordset", enIntellisenseErrorCode.InvalidRecordsetNotation, !payload.HangingOpen));
            }
            else
            {
                search = parts[1].ToLower();
                var intellisenseResult = ValidateName(search, "Recordset field");
                if (intellisenseResult != null)
                {
                    result.Add(intellisenseResult);
                    return(true);
                }
                foreach (IDev2DataLanguageIntellisensePart t in recordsetPart.Children)
                {
                    string match = t.Name.ToLower();
                    if (match.Contains(search) && ((match != search) || (match == search && addCompleteParts)))
                    {
                        string index = payload.Child != null ? payload.Child.Payload : DataListUtil.ExtractIndexRegionFromRecordset(parts[0]);

                        IDataListVerifyPart part = IntellisenseFactory.CreateDataListValidationRecordsetPart(partName, t.Name, t.Description, index);
                        result.Add(IntellisenseFactory.CreateSelectableResult(parts[0].Length, payload.EndIndex, part, part.Description));
                    }
                    else if (match == search)
                    {
                        emptyOk = true;
                    }
                }
            }
            return(false);
        }
Example #24
0
 public static IIntellisenseResult CreateDateTimeResult(IDataListVerifyPart opt)
 {
     return new IntellisenseResult(0, 0, opt, "", enIntellisenseResultType.Selectable, enIntellisenseErrorCode.None, true);
 }
Example #25
0
 public static IIntellisenseResult CreateErrorResult(int start, int end, IDataListVerifyPart opt, string msg, enIntellisenseErrorCode code, bool isClosed) {
     return new IntellisenseResult(start, end, opt, msg, enIntellisenseResultType.Error, code, isClosed);
 }
Example #26
0
 public static IIntellisenseResult CreateSelectableResult(int start, int end, IDataListVerifyPart opt, string msg) {
     return new IntellisenseResult(start, end, opt, msg, enIntellisenseResultType.Selectable, enIntellisenseErrorCode.None, true);
 }
        static void AddRecsetContainingAField(Dev2DataLanguageParser dataLanguageParser, Dictionary <IDataListVerifyPart, string> unique, ref IDataListVerifyPart verifyPart, string[] fieldList, ref string fullyFormattedStringValue)
        {
            // If it's a RecordSet Containing a field
            var recAdded = false;

            foreach (var item in fieldList)
            {
                if (item.EndsWith(")") && item == fieldList[0])
                {
                    AddField(dataLanguageParser, unique, ref verifyPart, ref fullyFormattedStringValue, ref recAdded, item);
                }
                else if (item == fieldList[1] && !(item.EndsWith(")") && item.Contains(")")))
                {
                    verifyPart = AddField(dataLanguageParser, unique, verifyPart, fieldList, recAdded, item);
                }
                else
                {
                    break;
                }
            }
        }
 public  static void AddDataVerifyPart(IDataListVerifyPart part, string nameOfPart, Dictionary<IDataListVerifyPart, string> unique)
   {
       if (!unique.ContainsValue(nameOfPart))
       {
           unique.Add(part, nameOfPart);
       }
   }
Example #29
0
        void ProcessRecordSetPart(IDataListVerifyPart part)
        {
            var recsetsToRemove = RecsetCollection.Where(c => c.Name == part.Recordset && c.IsRecordset);

            recsetsToRemove.ToList().ForEach(recsetToRemove => ProcessFoundRecordSets(part, recsetToRemove));
        }
        static IDataListVerifyPart AddField(Dev2DataLanguageParser dataLanguageParser, Dictionary <IDataListVerifyPart, string> unique, IDataListVerifyPart verifyPart, string[] fieldList, bool recAdded, string item)
        {
            // If it's a field to a record set
            var intellisenseResult = dataLanguageParser.ValidateName(item, "");

            if (intellisenseResult == null && recAdded)
            {
                verifyPart = IntellisenseFactory.CreateDataListValidationRecordsetPart(
                    RemoveRecordSetBrace(fieldList.ElementAt(0)), item);
                AddDataVerifyPart(verifyPart, verifyPart.DisplayValue, unique);
            }

            return(verifyPart);
        }
 private static void AddScalarOrRecset(string dataPartFieldData, Dev2DataLanguageParser dataLanguageParser, Dictionary <IDataListVerifyPart, string> unique, ref IDataListVerifyPart verifyPart, string[] fieldList, ref string fullyFormattedStringValue)
 {
     // If the workflow field is simply a scalar or a record set without a child
     if (dataPartFieldData.EndsWith(")") && dataPartFieldData == fieldList[0])
     {
         if (dataPartFieldData.Contains("("))
         {
             fullyFormattedStringValue = RemoveRecordSetBrace(fieldList[0]);
             var intellisenseResult = dataLanguageParser.ValidateName(fullyFormattedStringValue, "");
             if (intellisenseResult == null)
             {
                 verifyPart = IntellisenseFactory.CreateDataListValidationRecordsetPart(fullyFormattedStringValue, String.Empty);
                 AddDataVerifyPart(verifyPart, verifyPart.DisplayValue, unique);
             }
         }
     }
     else
     {
         var intellisenseResult = dataLanguageParser.ValidateName(dataPartFieldData, "");
         if (intellisenseResult == null)
         {
             verifyPart = IntellisenseFactory.CreateDataListValidationScalarPart(RemoveRecordSetBrace(dataPartFieldData));
             AddDataVerifyPart(verifyPart, verifyPart.DisplayValue, unique);
         }
     }
 }
 static void AddField(Dev2DataLanguageParser dataLanguageParser, Dictionary <IDataListVerifyPart, string> unique, ref IDataListVerifyPart verifyPart, ref string fullyFormattedStringValue, ref bool recAdded, string item)
 {
     if (item.Contains("("))
     {
         fullyFormattedStringValue = RemoveRecordSetBrace(item);
         var intellisenseResult = dataLanguageParser.ValidateName(fullyFormattedStringValue, "");
         if (intellisenseResult == null)
         {
             recAdded   = true;
             verifyPart =
                 IntellisenseFactory.CreateDataListValidationRecordsetPart(fullyFormattedStringValue,
                                                                           String.Empty);
             AddDataVerifyPart(verifyPart, verifyPart.DisplayValue, unique);
         }
     }
 }
Example #33
0
 void SetScalarPartIsUsed(IDataListVerifyPart part, bool isUsed)
 {
     var scalarsToRemove = ScalarCollection.Where(c => c.Name == part.Field);
     scalarsToRemove.ToList().ForEach(scalarToRemove =>
     {
         if(scalarToRemove != null)
         {
             scalarToRemove.IsUsed = isUsed;
         }
     });
 }
Example #34
0
 static void ProcessFoundRecordSets(IDataListVerifyPart part, IDataListItemModel recsetToRemove, bool isUsed)
 {
     if(string.IsNullOrEmpty(part.Field))
     {
         if(recsetToRemove != null)
         {
             recsetToRemove.IsUsed = isUsed;
         }
     }
     else
     {
         if(recsetToRemove == null) return;
         var childrenToRemove = recsetToRemove.Children.Where(c => c.Name == part.Field && c.IsField);
         childrenToRemove.ToList().ForEach(childToRemove =>
         {
             if(childToRemove != null)
             {
                 childToRemove.IsUsed = isUsed;
             }
         });
     }
 }
Example #35
0
 void SetRecordSetPartIsUsed(IDataListVerifyPart part, bool isUsed)
 {
     var recsetsToRemove = RecsetCollection.Where(c => c.Name == part.Recordset && c.IsRecordset);
     recsetsToRemove.ToList().ForEach(recsetToRemove => ProcessFoundRecordSets(part, recsetToRemove, isUsed));
 }
Example #36
0
 void FindMissingPartsForRecordset(IDataListVerifyPart part, List<IDataListVerifyPart> missingDataParts)
 {
     if(!(part.IsScalar))
     {
         var recset = DataList.Where(c => c.Name == part.Recordset && c.IsRecordset).ToList();
         if(!recset.Any())
         {
             missingDataParts.Add(part);
         }
         else
         {
             if(!string.IsNullOrEmpty(part.Field) && recset[0].Children.Count(c => c.Name == part.Field) == 0)
             {
                 missingDataParts.Add(part);
             }
         }
     }
 }
Example #37
0
 void FindMissingForScalar(IDataListVerifyPart part, List<IDataListVerifyPart> missingDataParts)
 {
     if(part.IsScalar)
     {
         if(DataList.Count(c => c.Name == part.Field && !c.IsRecordset) == 0)
         {
             missingDataParts.Add(part);
         }
     }
 }
Example #38
0
 public static IIntellisenseResult CreateSelectableResult(int start, int end, IDataListVerifyPart opt, string msg) => new IntellisenseResult(start, end, opt, msg, enIntellisenseResultType.Selectable, enIntellisenseErrorCode.None, true);
Example #39
0
 public static IIntellisenseResult CreateDateTimeResult(IDataListVerifyPart opt) => new IntellisenseResult(0, 0, opt, "", enIntellisenseResultType.Selectable, enIntellisenseErrorCode.None, true);
 void AddRecordSetItem(IDataListViewModel viewModel, IDataListVerifyPart part, List<IDataListItemModel> results)
 {
     IDataListItemModel item = DataListItemModelFactory.CreateDataListItemViewModel(viewModel, part.Recordset, part.Description, null, true);
     results.Add(item);
 }
Example #41
0
 public static IIntellisenseResult CreateErrorResult(int start, int end, IDataListVerifyPart opt, string msg, enIntellisenseErrorCode code, bool isClosed) => new IntellisenseResult(start, end, opt, msg, enIntellisenseResultType.Error, code, isClosed);