Exemplo n.º 1
0
        static void Test1()
        {
            Csv                    csv = new Csv();
            Product                product;
            List <Product>         products = new List <Product>();
            Data <Product>         data;
            List <Data <Product> > dataList = new List <Data <Product> >();

            product = new Product
            {
                ID   = 1,
                Name = "Product 1"
            };

            products.Add(product);
            products.Add(
                new Product
            {
                ID   = 2,
                Name = "Product 2"
            }
                );

            data = new Data <Product>
            {
                State    = "SP",
                Products = products,
            };

            dataList.Add(data);
            dataList.Add(
                new Data <Product>
            {
                State    = "RJ",
                Products = new List <Product>
                {
                    new Product
                    {
                        ID   = 3,
                        Name = "Product 3"
                    },
                    new Product
                    {
                        ID   = 4,
                        Name = "Product 4"
                    }
                }
            }
                );

            IList <object> dataListMapped = new List <object>();

            dataList.ForEach(
                e =>
            {
                e.Products.ForEach(
                    i =>
                {
                    dataListMapped.Add(
                        new
                    {
                        State = e.State,
                        ID    = i.ID,
                        Name  = i.Name
                    }
                        );
                }
                    );
            }
                );

            csv.Export(
                product,
                string.Format(
                    "{0}Item",
                    Path
                    )
                );

            csv.Export(
                products,
                string.Format(
                    "{0}ItemList",
                    Path
                    )
                );

            csv.Export(
                data,
                string.Format(
                    "{0}ComplexData",
                    Path
                    )
                );

            csv.Export(
                dataList,
                string.Format(
                    "{0}DataList",
                    Path
                    )
                );

            csv.Export(
                dataListMapped,
                string.Format(
                    "{0}ComplexDataMapped",
                    Path
                    )
                );
        }
Exemplo n.º 2
0
        static void Test2()
        {
            Csv                    csv = new Csv();
            Product                product;
            List <Product>         products = new List <Product>();
            Data <Product>         data;
            List <Data <Product> > dataList = new List <Data <Product> >();

            product = new Product
            {
                ID   = 1,
                Name = "Product 1"
            };

            products.Add(product);
            products.Add(
                new Product
            {
                ID   = 2,
                Name = "Product 2"
            }
                );

            data = new Data <Product>
            {
                State    = "SP",
                Products = products
            };

            dataList.Add(data);
            dataList.Add(
                new Data <Product>
            {
                State    = "RJ",
                Products = new List <Product>
                {
                    new Product
                    {
                        ID   = 3,
                        Name = "Product 3"
                    },
                    new Product
                    {
                        ID   = 4,
                        Name = "Product 4"
                    }
                }
            }
                );

            var settings = new CsvFileDescription
            {
                SeparatorChar = ';'
            };

            var csvContext = new CsvContext();

            csvContext.Write(
                new List <Product>
            {
                product
            },
                string.Format(
                    "{0}Item.csv",
                    Path
                    ),
                settings
                );

            csvContext.Write(
                products,
                string.Format(
                    "{0}ItemList.csv",
                    Path
                    ),
                settings
                );

            var complexData = (
                from obj in data.Products
                select new
            {
                State = data.State,
                ID = obj.ID,
                Name = obj.Name
            }
                );

            csvContext.Write(
                complexData,
                string.Format(
                    "{0}ComplexData.csv",
                    Path
                    ),
                settings
                );

            IList <object> dataListMapped = new List <object>();

            dataList.ForEach(
                e =>
            {
                e.Products.ForEach(
                    i =>
                {
                    dataListMapped.Add(
                        new
                    {
                        State = e.State,
                        ID    = i.ID,
                        Name  = i.Name
                    }
                        );
                }
                    );
            }
                );

            csvContext.Write(
                dataListMapped,
                string.Format(
                    "{0}ComplexDataList.csv",
                    Path
                    ),
                settings
                );


            IList <object> result = new List <object>();

            foreach (var item in dataList)
            {
                //var test = (
                //    from obj in data.Products
                //    select new
                //        {
                //            State = item.State,
                //            ID = obj.ID,
                //            Name = obj.Name
                //        }
                //);

                foreach (var j in item.Products)
                {
                    result.Add(
                        new
                    {
                        State = item.State,
                        ID    = j.ID,
                        Name  = j.Name
                    }
                        );
                }
            }

            csvContext.Write(
                result,
                string.Format(
                    "{0}Test.csv",
                    Path
                    ),
                settings
                );
        }