Example #1
0
        public virtual void LoadFrom(IItemData itemData, IFieldFormatter[] fieldFormatters)
        {
            Id = itemData.Id;
            DatabaseName = itemData.DatabaseName;
            ParentId = itemData.ParentId;
            TemplateId = itemData.TemplateId;
            Path = itemData.Path;

            BranchId = itemData.BranchId;

            foreach (var field in itemData.SharedFields)
            {
                var fieldObject = new YamlFieldValue();
                fieldObject.LoadFrom(field, fieldFormatters);

                SharedFields.Add(fieldObject);
            }

            var languages = itemData.Versions.GroupBy(x => x.Language.Name);

            foreach (var language in languages)
            {
                var languageObject = new YamlLanguage();
                languageObject.LoadFrom(language, fieldFormatters);

                if(languageObject.Versions.Count > 0)
                    Languages.Add(languageObject);
            }
        }
Example #2
0
 public TextWrangler(string recordConfigName,
                     IRecordReader recordReader,
                     IRecordBuilder recordBuilder           = null,
                     IFieldFormatter fieldFormatter         = null,
                     IFieldFilterService fieldFilterService = null,
                     IRecordWriter recordWriter             = null)
     : this(RecordConfigurationBuilder.Build(recordConfigName), recordReader,
            recordBuilder, fieldFormatter, fieldFilterService, recordWriter)
 {
 }
Example #3
0
        private static HTMLBuilder BuildHTMLPage(IFieldFormatter formatter, string heading)
        {
            var htmlBuilder = new HTMLBuilder();

            BuildHTMLHeader(formatter, heading, htmlBuilder);
            htmlBuilder.AddBodyStart();
            CreateTableEntries(formatter, htmlBuilder);
            htmlBuilder.CloseBody();
            htmlBuilder.CloseHTML();
            return(htmlBuilder);
        }
Example #4
0
		public virtual void LoadFrom(IItemData itemData, IFieldFormatter[] fieldFormatters)
		{
			Id = itemData.Id;
			DatabaseName = itemData.DatabaseName;
			ParentId = itemData.ParentId;
			TemplateId = itemData.TemplateId;
			Path = itemData.Path;

			BranchId = itemData.BranchId;

			foreach (var field in itemData.SharedFields)
			{
				var fieldObject = new YamlFieldValue();
				fieldObject.LoadFrom(field, fieldFormatters);

				SharedFields.Add(fieldObject);
			}

			var languages = itemData.Versions.GroupBy(x => x.Language.Name);

			foreach (var language in languages)
			{
				var languageObject = new YamlLanguage();
				languageObject.LoadFrom(language, fieldFormatters);

				if (languageObject.Versions.Count > 0)
					Languages.Add(languageObject);
			}

			foreach (var unversionedFieldLanguage in itemData.UnversionedFields)
			{
				var existing = Languages.FirstOrDefault(language => language.Language == unversionedFieldLanguage.Language.Name);

				if (existing == null)
				{
					existing = new YamlLanguage { Language = unversionedFieldLanguage.Language.Name };
					Languages.Add(existing);
				}

				foreach (var unversionedField in unversionedFieldLanguage.Fields)
				{
					var field = new YamlFieldValue();
					field.LoadFrom(unversionedField, fieldFormatters);

					existing.UnversionedFields.Add(field);
				}
			}
		}
Example #5
0
        private static void CreateTableEntries(IFieldFormatter formatter, HTMLBuilder htmlBuilder)
        {
            foreach (var pair in formatter.Values)
            {
                htmlBuilder.AddLineBreak();
                htmlBuilder.AddHeading2($"{pair.Key}");
                htmlBuilder.AddLineBreak();
                htmlBuilder.AddTableHeader(formatter.Headers);
                foreach (var tableValues in pair.Value)
                {
                    htmlBuilder.AddTableValues(tableValues);
                }

                htmlBuilder.CloseTableHeader();
                htmlBuilder.AddLineBreak();
            }
        }
Example #6
0
        public void Generate(IFieldFormatter formatter, string path, string heading)
        {
            using (var document = new Document(PageSize.LETTER, 15, 15, 15, 15))
            {
                // instantiate the writer that will listen to the document
                PdfWriter.GetInstance(document, new FileStream(path, FileMode.Create));
                document.Open();

                var htmlBuilder = BuildHTMLPage(formatter, heading);

                var elements = HTMLWorker.ParseToList(
                    new StringReader(htmlBuilder.GenerateHTMLString()), null);

                foreach (var element in elements)
                {
                    document.Add(element);
                }
            }
        }
Example #7
0
        public TextWrangler(RecordConfiguration recordConfiguration,
                            IRecordReader recordReader,
                            IRecordBuilder recordBuilder           = null,
                            IFieldFormatter fieldFormatter         = null,
                            IFieldFilterService fieldFilterService = null,
                            IRecordWriter recordWriter             = null)
        {
            _recordConfiguration = recordConfiguration ?? throw new ArgumentNullException(nameof(recordReader));
            _recordReader        = recordReader ?? throw new ArgumentNullException(nameof(recordReader));

            // Validate the configuration
            RecordConfigurationValidator.Instance.Validate(_recordConfiguration, _fieldFilterService);

            _recordBuilder      = recordBuilder ?? TextWranglerConfig.DefaultRecordBuilder;
            _fieldFormatter     = fieldFormatter ?? TextWranglerConfig.DefaultFieldFormatter;
            _fieldFilterService = fieldFilterService ?? TextWranglerConfig.DefaultFieldFilterService;
            _recordWriter       = recordWriter ?? TextWranglerConfig.DefaultRecordWriter;

            _logger = LogManager.GetLogger(GetType().Name);
        }
 public YamlItemData(YamlItem item, string serializedItemId, IFieldFormatter[] formatters, IDataStore sourceDataStore)
 {
     _item = item;
     _serializedItemId = serializedItemId;
     _formatters = formatters;
     _sourceDataStore = sourceDataStore;
 }
Example #9
0
 public NSerializer(ConfigurationManager configurationManager)
 {
     _configurationManager = configurationManager;
     _formatter            = configurationManager.GetFieldFormatter();
 }
			public YamlItemLanguage(YamlLanguage language, IFieldFormatter[] formatters)
			{
				_language = language;
				_formatters = formatters;
			}
 public FieldFormatterTests()
 {
     _testObject = new FieldFormatter();
 }
Example #12
0
 public IField Configure(string Name, int Size, int Number, FieldLength Length, FieldFormat Format, IFieldFormatter Formatter, IFieldParser Parser)
 {
     this.Init(Name, Size, Number, Length, Format, Formatter, ValidatorHelpers.GetValidator(Format), Parser);
     return(this);
 }
Example #13
0
 /// <summary>
 /// Creates Scribe with ability to write to a stream
 /// </summary>
 /// <param name="textWriter"></param>
 public Scribe(TextWriter textWriter, IFieldFormatter formatter)
 {
     _textWriter     = textWriter;
     _fieldFormatter = formatter;
 }
Example #14
0
 private static void BuildHTMLHeader(IFieldFormatter formatter, string heading, HTMLBuilder htmlBuilder)
 {
     htmlBuilder.AddHeading1(heading);
     htmlBuilder.AddLineBreak().AddLineBreak();
     htmlBuilder.AddHeading2($"Generated on: {formatter.LastUpdatedTime}");
 }
 public YamlItemFieldValue(YamlFieldValue field, IFieldFormatter[] formatters)
 {
     _field = field;
     _formatters = formatters;
 }
 public YamlSerializableVersion(YamlVersion version, YamlLanguage language, IFieldFormatter[] formatters)
 {
     _version = version;
     _language = language;
     _formatters = formatters;
 }
Example #17
0
 protected void Init(string Name, int Size, int Number, FieldLength Length, FieldFormat Format, IFieldFormatter Formatter, IFieldValidator Validator, IFieldParser Parser)
 {
     this.Name      = Name;
     this.Size      = Size;
     this.Number    = Number;
     this.Length    = Length;
     this.Format    = Format;
     this.Formatter = Formatter;
     this.Validator = Validator;
     this.Parser    = Parser;
     this.Parent    = null;
     this.Content   = null;
     this.Subfields = new SortedList <int, IField>();
 }