예제 #1
0
        private void toolStripButton1_Click(object sender, EventArgs e)
        {
            var ctl  = (ControlFileSpecification)this.controlFileSpecificationBindingSource.List.OfType <ControlFileSpecification>().FirstOrDefault();
            var term = (TerminationAndEnclosureSpecification)this.terminationAndEnclosureSpecificationBindingSource.List.OfType <TerminationAndEnclosureSpecification>().FirstOrDefault();

            // collect all data files and add them to the ControlFileSpecification.
            var dataFiles = this.fileModelBindingSource.List.OfType <DataFileSpecification>();

            foreach (var item in dataFiles)
            {
                ctl.DataFiles.Add(item);
            }

            var builder = new FileBuilder()
                          .SetControlFile(ctl)
                          .SetTerminationAndEnclosure(term);

            if (ctl.IsDelimited)
            {
                var items = this.delimitedFieldSpecificationBindingSource.List.OfType <FieldModel>();
                foreach (var item in items)
                {
                    if (string.IsNullOrWhiteSpace(item.Name))
                    {
                        continue;
                    }
                    builder.AddField(item);
                }
            }
            else
            {
                var fixeditems = this.fixedSizeFieldSpecificationBindingSource.List.OfType <FixedSizeFieldModel>();
                foreach (var item in fixeditems)
                {
                    if (string.IsNullOrWhiteSpace(item.Name))
                    {
                        continue;
                    }
                    builder.AddField(item);
                }
            }

            this.textBox1.Text = builder.Build();
        }