Exemple #1
0
        public List <DDRecord> FindMatchingRecordsForGivenUpdate(DDRecord update)
        {
            List <DDRecord> result;

            if (string.IsNullOrEmpty(update.DataKey))
            {
                result = GetSubflowsDDRecords(_inputRecords, update);
                RemoveRecords(_inputRecords, result.Select(el => el.Id));
                return(result);
            }

            result = GetDDRecordUsingDataKeyAndContextName(_inputRecords, update);
            RemoveRecords(_inputRecords, result.Select(el => el.Id));
            return(result.Any() ? new List <DDRecord>()
            {
                result.First()
            } : result);
        }
Exemple #2
0
        public List <DDRecord> GetSubflowsDDRecords(List <DDRecord> records, DDRecord update)
        {
            var result = new List <DDRecord>();

            Console.WriteLine(string.Format("Searching for {0} context; {1} data key, {2} component", update.ContextName, update.DataKey, update.Section));
            foreach (var metadataDescriptionRecord in records)
            {
                if (metadataDescriptionRecord.ContextName.Trim().Equals(update.ContextName) &&
                    (string.IsNullOrEmpty(metadataDescriptionRecord.DataKey)) &&
                    update.FieldType.Equals(Constants.GridComponentName) &&
                    metadataDescriptionRecord.ComponentUniqueName.Equals(ComponenUniqueNameMap.GridNameMap[update.Section]))
                {
                    result.Add(metadataDescriptionRecord);
                }
            }
            result = result.Where(el => !string.IsNullOrEmpty(el.BusinessDescription)).ToList();
            if (result.Count > 1 && result.All(el => (!string.IsNullOrEmpty(el.DataKey))))
            {
                throw new Exception(string.Format("There are duplicated insert commands for context name: {0} dataKey:{1} component unique name {2}", result[0].ContextName, result[0].DataKey, result[0].ComponentUniqueName));
            }

            return(result);
        }
Exemple #3
0
        public List <DDRecord> GetDDRecordUsingDataKeyAndContextName(List <DDRecord> records, DDRecord update)
        {
            var result = new List <DDRecord>();

            foreach (var metadataDescriptionRecord in records)
            {
                if (metadataDescriptionRecord.ContextName.Trim().Equals(update.ContextName) &&
                    !string.IsNullOrEmpty(update.DataKey) &&
                    update.DataKey.Equals(metadataDescriptionRecord.DataKey.Trim()))
                {
                    result.Add(metadataDescriptionRecord);
                }
            }

            return(result);
        }