コード例 #1
0
ファイル: CsvReader.cs プロジェクト: dbshell/dbshell
 public CsvReader(TableInfo structure, LumenWorks.Framework.IO.Csv.CsvReader reader, DataFormatSettings dataFormat)
     : base(structure)
 {
     _reader = reader;
     _array = new string[structure.ColumnCount];
     _dataFormat = dataFormat ?? new DataFormatSettings();
 }
コード例 #2
0
        public void Lumenworks()
        {
            var tr = TestData.GetTextReader();
            var dr = new LumenWorks.Framework.IO.Csv.CsvReader(tr, true, BufferSize);

            dr.ProcessStrings();
        }
コード例 #3
0
 public CsvReader(TableInfo structure, LumenWorks.Framework.IO.Csv.CsvReader reader, DataFormatSettings dataFormat)
     : base(structure)
 {
     _reader     = reader;
     _array      = new string[structure.ColumnCount];
     _dataFormat = dataFormat ?? new DataFormatSettings();
 }
コード例 #4
0
        static void Main(string[] args)
        {
            //const string filePath = @"C:\Users\gchan\Documents\DBIO2\Performance\dumpfile.csv";

            if (args == null || args.Length == 0)
            {
                Console.WriteLine("The filename and client must be supplied");
            }
            else if (args.Length == 1)
            {
                Console.WriteLine("The client must be supplied");
            }
            else if (!IsCsvFile(args[0]))
            {
                Console.WriteLine($"The file supplied '{args[0]}' is not a valid CSV");
            }
            else
            {
                var csvFilename = args[0];
                var datasetName = Path.GetFileNameWithoutExtension(csvFilename);
                var mineSite    = args[1];

                if (DatasetExists(datasetName))
                {
                    Console.WriteLine($"The dataset '{datasetName}' has already been imported!");
                }
                else
                {
                    Console.WriteLine($"Starting reading file '{csvFilename}' for Mine Site '{mineSite}'...");

                    using (var csv = new LumenWorks.Framework.IO.Csv.CsvReader(new StreamReader(csvFilename), true))
                    {
                        //string[] headers = csv.GetFieldHeaders();
                        string[] headers = { "EventName", "Type", "EventId", "Version", "Channel", "Level" };

                        using (var table = new DataTable())
                        {
                            table.Columns.Add(headers[0], typeof(string));
                            table.Columns.Add(headers[1], typeof(string));
                            table.Columns.Add(headers[2], typeof(int));

                            // todo: add remaining here...

                            table.Columns.Add("MineSite", typeof(string));
                            table.Columns.Add("DatasetName", typeof(string));

                            while (csv.ReadNextRecord())
                            {
                                table.Rows.Add(csv[0], csv[1], csv[2], mineSite, datasetName);
                            }

                            BulkInsertDataTable("etw.DispatchEvent", table);

                            Console.WriteLine($"Finished importing {table.Rows.Count} rows for file '{csvFilename}'.");
                        }
                    }
                }
            }
        }
        // Declaration of ReadRecords Method
        /// <summary>
        /// Catches all type of exceptions generated.
        /// </summary>
        /// <param name="passHeader"></param>
        /// <param name="in_delimeter"></param>
        /// <param name="filePath"></param>
        /// <returns></returns>
        public object ReadRecords(string[] passHeader = null, char in_delimeter = ',', string filePath = null)
        {
            try
            {
                if (!filePath.Contains(".csv"))
                {
                    throw new CensusAnalyserException(CensusAnalyserException.ExceptionType.INVALID_EXTENSION_OF_FILE, "Invalid Extension of file");
                }
                else if (!filePath.Contains(actualPath))
                {
                    throw new CensusAnalyserException(CensusAnalyserException.ExceptionType.FILE_NOT_FOUND, "Invalid file");
                }

                // streams are used to read/write data from csv files
                //CsvReader is open source C# library to read CSV data from strings/textFiles

                CsvReader csvRecords = new CsvReader(new StreamReader(filePath), true);
                int       fieldCount = csvRecords.FieldCount;
                string[]  headers    = csvRecords.GetFieldHeaders();
                delimeter = csvRecords.Delimiter;

                // string ArrayList
                List <string[]> record = new List <string[]>();
                while (csvRecords.ReadNextRecord())
                {
                    string[] tempRecord = new string[fieldCount];
                    csvRecords.CopyCurrentRecordTo(tempRecord);
                    record.Add(tempRecord);
                    numberOfRecord++;
                }

                if (numberOfRecord == 0)
                {
                    throw new CSVException(CSVException.ExceptionType.FILE_IS_EMPTY, "This file does not contains any data");
                }
                if (!in_delimeter.Equals(delimeter))
                {
                    throw new CensusAnalyserException(CensusAnalyserException.ExceptionType.INCORRECT_DELIMETER, "Incorrect Delimeter");
                }
                else if (!IsHeaderSame(passHeader, headers))
                {
                    throw new CensusAnalyserException(CensusAnalyserException.ExceptionType.INVALID_HEADER_ERROR, "Invalid Header");
                }
                return(numberOfRecord);
            }
            catch (CensusAnalyserException file_not_found)
            {
                return(file_not_found.Message);
            }
            catch (CSVException emptyFileException)
            {
                return(emptyFileException.Message);
            }
            catch (Exception exception)
            {
                throw new Exception(exception.Message);
            }
        }
コード例 #6
0
        //private void OnConfiguration(object sender, RoutedEventArgs e)
        //{

        //}

        private void OnImportInventory(object sender, RoutedEventArgs e)
        {
            OpenFileDialog diag = new OpenFileDialog();

            diag.Title           = "Select File for Import";
            diag.Filter          = "Comma Delimited|*.csv|All Files|*.*";
            diag.CheckFileExists = true;
            diag.CheckPathExists = true;
            diag.DefaultExt      = "csv";
            diag.Multiselect     = false;



            if (diag.ShowDialog() == true)
            {
                using (StreamReader sr = new StreamReader(diag.FileName))
                {
                    LumenWorks.Framework.IO.Csv.CsvReader csv = new LumenWorks.Framework.IO.Csv.CsvReader(sr, true);

                    int      fieldCount = csv.FieldCount;
                    string[] headers    = csv.GetFieldHeaders();

                    while (csv.ReadNextRecord())
                    {
                        ActiveInventoryObject Inv = new ActiveInventoryObject();

                        int i = 0;

                        Inv.UPC = csv[0];

                        Inv.Distributor = csv[1];
                        Inv.SKU         = csv[2];
                        Inv.Description = csv[3];
                        Inv.Category    = csv[4];
                        if (int.TryParse(csv[5], out i))
                        {
                            Inv.Quantity = i;
                        }


                        Inv.WholeSalePrice = Configuration.CurrencyToDecimal(csv[6]);


                        Inv.MSRP = Configuration.CurrencyToDecimal(csv[7]);


                        Inv.AdditionalOverhead = Configuration.CurrencyToDecimal(csv[8]);

                        Inv.DescriptionShort = Inv.Description;
                        Inv.Manufacturer     = csv[14];

                        Cache.Current.Inventory.Add(Inv);
                    }
                }
                MessageBox.Show("Process Complete.");
            }
        }
コード例 #7
0
 public static T[] ReadCsvFile <T>(string filepath)
 {
     using (CsvReader csv = new CsvReader(new StreamReader(filepath), false))
     {
         TypeConverter converter = TypeDescriptor.GetConverter(typeof(T));
         return
             (csv.SelectMany(
                  v => v.Select(u => (T)converter.ConvertFromString(null, CultureInfo.InvariantCulture, u)))
              .ToArray());
     }
 }
コード例 #8
0
        //[Benchmark]
        public void phatcher()
        {
            // https://github.com/phatcher/CsvReader

            using var reader = OpenTextReader();
            using var csv    = new LumenWorks.Framework.IO.Csv.CsvReader(reader, true)
                  {
                      //SupportsMultiline = true,
                      //DefaultParseErrorAction =  LumenWorks.Framework.IO.Csv.ParseErrorAction.RaiseEvent
                  };
            foreach (var rec in csv.Take(Max))
            {
                EnsureFieldCount(rec.Length);
            }
        }
コード例 #9
0
        public static void Initialize(DatabaseContext context)
        {
            context.Database.EnsureCreated();

            if (!context.Cameras.Any())
            {
                try
                {
                    var csvTable = new DataTable();
                    using (var csvReader = new LumenWorks.Framework.IO.Csv.CsvReader(new StreamReader(System.IO.File.OpenRead(Directory.GetCurrentDirectory() + @"\datasets\cameras-defb.csv")), true))
                    {
                        csvTable.Load(csvReader);
                        for (int i = 0; i < csvTable.Rows.Count; i++)
                        {
                            if (i > 0) //Skip first row
                            {
                                string[] columns = csvTable.Rows[i][0].ToString().Split(';');
                                if (columns.Length == 3)
                                {
                                    //Opsplitsen van omschrijving om hieruit de camera naam & nummer te halen.
                                    string[] splitString = columns[0].Split(' ');

                                    context.Cameras.Add(new Camera
                                    {
                                        ID          = i,
                                        Name        = splitString[0],
                                        Number      = Int32.Parse(splitString[0].Substring(splitString[0].Length - 3)),
                                        Description = columns[0],
                                        Latitude    = float.Parse(columns[1].Replace('.', ',')),
                                        Longitude   = float.Parse(columns[2].Replace('.', ','))
                                    });
                                }
                            }
                        }
                    }
                }
                catch (Exception e)
                {
                    Console.WriteLine(e.Message);
                }


                context.SaveChanges();
            }
        }
コード例 #10
0
        public List <T> GetRecords <T>(MemoryStream stream) where T : ICsvReadable, new()
        {
            var activate   = ActivatorFactory.Create <T>(_activationMethod);
            var allRecords = new List <T>();

            using (var reader = new StreamReader(stream))
                using (var csvReader = new LumenWorks.Framework.IO.Csv.CsvReader(reader, hasHeaders: false))
                {
                    while (csvReader.ReadNextRecord())
                    {
                        var record = activate();
                        record.Read(i => csvReader[i]);
                        allRecords.Add(record);
                    }
                }

            return(allRecords);
        }
コード例 #11
0
        private List<List<string>> ParseCsv(byte[] input, char delimiter = ',')
        {
            using (var ms = new MemoryStream(input))
            using (var csv = new LumenWorks.Framework.IO.Csv.CsvReader(new StreamReader(ms), false, delimiter))
            {
                var output = new List<List<string>>();
                while (csv.ReadNextRecord())
                {
                    var row = new List<string>();
                    for (int i = 0; i < csv.FieldCount; i++)
                    {
                        row.Add(csv[i]);
                    }

                    output.Add(row);
                }

                return output;
            }
        }
コード例 #12
0
        static void ReadWordsCsvFile()
        {
            var csvTable = new DataTable();

            using (var csvReader = new CsvReader(new StreamReader(System.IO.File.OpenRead(@"C:\Users\itay.m\Downloads\Reviews\ST_SystemReport_Get Feedback Word Validation_12.9.2020_7.32 AM.csv")), true))
            {
                csvTable.Load(csvReader);
            }
            var csv = new StringBuilder();

            for (int i = 0; i < csvTable.Rows.Count; i++)
            {
                AllInvalidWords.Add(new InvalidWord
                {
                    wordId = Convert.ToInt32(csvTable.Rows[i][0]),
                    word   = csvTable.Rows[i][1].ToString(),
                });

                Console.WriteLine(AllInvalidWords[i]);
                var first  = AllInvalidWords[i].wordId;
                var second = AllInvalidWords[i].word;
            }
        }
コード例 #13
0
        public static IEnumerable <TestCaseData> GetTestData()
        {
            var testCases = new List <TestCaseData>();

            using (var csv = new LumenWorks.Framework.IO.Csv.CsvReader(new StreamReader("C:\\Users\\base2\\Downloads\\csharpseleniumextentreportnetcoretemplate-master\\CSharpSeleniumLarissaBicalho\\input.csv", true)))
            {
                while (csv.ReadNextRecord())
                {
                    string categoria  = string.Format(csv[0]);
                    string frequencia = string.Format(csv[1]);
                    string gravidade  = string.Format(csv[2]);
                    string prioridade = string.Format(csv[3]);
                    string perfil     = string.Format(csv[4]);
                    string resumo     = string.Format(csv[5]);
                    string descricao  = string.Format(csv[6]);
                    var    testCase   = new TestCaseData(categoria, frequencia, gravidade, prioridade, perfil, resumo, descricao);

                    testCases.Add(testCase);
                }
            }

            return(testCases);
        }
コード例 #14
0
ファイル: Program.cs プロジェクト: clharper42/MTGdb
        private static void LoadDBFromExcelFiles(List <ExcelCard> carddb, List <ExcelCard> tcgplayercards, string[] args)
        {
            var csvTable = new DataTable();

            using (var csvReader = new LumenWorks.Framework.IO.Csv.CsvReader(new StreamReader(System.IO.File.OpenRead(@args[0])), true))
            {
                try
                {
                    csvTable.Load(csvReader);
                }
                catch
                {
                    throw;
                }
            }

            foreach (DataRow row in csvTable.Rows)
            {
                try
                {
                    carddb.Add(new ExcelCard {
                        Name = row.Field <string>(0), Special_name = row.Field <string>(1), Set = row.Field <string>(2), Amount = Convert.ToInt32(row.Field <string>(3)), Printing = row.Field <string>(4), Collector_number = row.Field <string>(5)
                    });
                }
                catch
                {
                    throw;
                }
            }


            csvTable = new DataTable();
            using (var csvReader = new LumenWorks.Framework.IO.Csv.CsvReader(new StreamReader(System.IO.File.OpenRead(@args[1])), true))
            {
                try
                {
                    csvTable.Load(csvReader);
                }
                catch
                {
                    throw;
                }
            }

            foreach (DataRow row in csvTable.Rows)
            {
                try
                {
                    tcgplayercards.Add(new ExcelCard {
                        Name = row.Field <string>(2), Special_name = row.Field <string>(1), Set = row.Field <string>(5), Amount = Convert.ToInt32(row.Field <string>(0)), Printing = row.Field <string>(6), Collector_number = row.Field <string>(4)
                    });
                }
                catch
                {
                    throw;
                }

                if (tcgplayercards[tcgplayercards.Count - 1].Set.ToLower().Equals("10e") && tcgplayercards[tcgplayercards.Count - 1].Printing.Equals("Foil"))
                {
                    tcgplayercards[tcgplayercards.Count - 1].Collector_number = tcgplayercards[tcgplayercards.Count - 1].Collector_number + "★";
                }
                else if (tcgplayercards[tcgplayercards.Count - 1].Set.ToLower().Equals("tlp"))
                {
                    tcgplayercards[tcgplayercards.Count - 1].Set = "plist";
                }
            }

            if (tcgplayercards.Count != 0)
            {
                foreach (ExcelCard excard in tcgplayercards)
                {
                    ExcelCard match = carddb.Find(c => c.Set.Equals(excard.Set.ToLower()) && c.Collector_number.Equals(excard.Collector_number) && c.Printing.Equals(excard.Printing));
                    if (match != null)
                    {
                        carddb[carddb.IndexOf(match)].Amount = carddb[carddb.IndexOf(match)].Amount + 1;
                    }
                    else
                    {
                        carddb.Add(excard);
                    }
                }
            }
        }
コード例 #15
0
ファイル: CsvReader.cs プロジェクト: lishxi/_SharpMap
 public CSVReader(TextReader reader,bool hasHeaders,char delimeter)
 {
     csvReader = new LumenWorks.Framework.IO.Csv.CsvReader(reader,hasHeaders,delimeter);
 }
コード例 #16
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (Request["testing"] == "true")
               return;
          //fdata.DataSource = csv;
          //fdata.DataBind();

          List<PayPalRecord> PayPalRecords = new List<PayPalRecord>();

          decimal totalfees  = Decimal.Parse("0.0");
          decimal totalgross = Decimal.Parse("0.0");
          decimal totalnet   = Decimal.Parse("0.0");
          string  text       = "";
          foreach (string directory in Directory.GetDirectories(@"W:\Projects\Weavver\Accounting\Paypal"))
          {
               foreach (string file in Directory.GetFiles(directory))
               {
                    Response.Write(file);
                    if (!file.EndsWith(".txt"))
                         continue;

                    LumenWorks.Framework.IO.Csv.CsvReader csv = new LumenWorks.Framework.IO.Csv.CsvReader(new StreamReader(file), true, '\t');

                    int fieldCount = csv.FieldCount;
                    string[] headers = csv.GetFieldHeaders();
                    decimal fees  = Decimal.Parse("0.0");
                    decimal gross = Decimal.Parse("0.0");
                    decimal net   = Decimal.Parse("0.0");

                    while (csv.ReadNextRecord())
                    {
                         string itemtitle = null;
                         try
                         {
                              itemtitle = csv["Item Title"];
                         }
                         catch (Exception ex)
                         {
                              ShowError(ex, "Import error");
                              continue;
                         }
                         if (itemtitle == "Snap Pro")
                         {
                              PayPalRecord item = new PayPalRecord();
                              item.Date                = csv["Date"];
                              item.Time                = csv["Time"];
                              item.TimeZone            = csv["Time Zone"];
                              item.Name                = csv["Name"];
                              item.Type                = csv["Type"];
                              item.Status              = csv["Status"];
                              item.Currency            = csv["Currency"];
                              item.Gross               = csv["Gross"];
                              item.Net                 = csv["Net"];
                              item.FromEmailAddress    = csv["From Email Address"];
                              item.ToEmailAddress      = csv["To Email Address"];
                              item.TransactionID       = csv["Transaction ID"];
                              item.CounterpartyStatus  = csv["Counterparty Status"];
                              item.ShippingAddress     = csv["Shipping Address"];
                              item.AddressStatus       = csv["Address Status"];
                              item.ItemTitle           = csv["Item Title"];
                              item.ItemID              = csv["Item ID"];
                              item.ShippingandHandlingAmount = Decimal.Parse(csv["Shipping and Handling Amount"]);
                              item.InsuranceAmount     = csv["Insurance Amount"];
                              item.SalesTax            = Decimal.Parse(csv["Sales Tax"]);
                              item.Option1Name         = csv["Option 1 Name"];
                              item.Option1Value        = csv["Option 1 Value"];
                              item.Option2Name         = csv["Option 2 Name"];
                              item.Option2Value        = csv["Option 2 Value"];
                              item.AuctionSite         = csv["Auction Site"];
                              item.BuyerID             = csv["Buyer ID"];
                              item.ReferenceTxnID      = csv["Reference Txn ID"];
                              item.InvoiceNumber       = csv["Invoice Number"];
                              item.CustomNumber        = csv["Custom Number"];
                              item.ReceiptID           = csv["Receipt ID"];
                              item.Balance             = csv["Balance"];
                              item.ContactPhoneNumber  = csv["Contact Phone Number"];
                              item.BalanceImpact       = csv["Balance Impact"];

                              PayPalRecords.Add(item);

                              fees                     += Decimal.Parse(csv["Fee"]);
                              gross                    += Decimal.Parse(csv["Gross"]);
                              net                      += Decimal.Parse(csv["Net"]);
                              continue;
                         }
                    }
                    text       += "<hr />";
                    totalfees  += fees;
                    totalgross += gross;
                    totalnet   += net;
               }
          }

          fdata.DataSource = PayPalRecords;

          //for (int i = 0; i < PayPalRecords.Count; i++)
          //{
          //     PayPalRecords[i].Commit();
          //}
          //fdata.DataBind();

          //FileData.Text  = text;
          //totalfees      = -1 * totalfees;
          //Fees.Text      = "Fees: $" + totalfees.ToString();
          //Totals.Text    = "Gross: $" + totalgross.ToString();
          //Net.Text       = "Net: $" + totalnet.ToString();

          //Net.Text        += "<br>Total Records: " + PayPalRecords.Count;
          //Console.ReadLine();
    }
コード例 #17
0
ファイル: CsvReader.cs プロジェクト: dmitrynogin/insight
 public CsvReader(TextReader reader)
 {
     Parent = new LumenReader(reader, true);
 }
コード例 #18
0
 public CsvDataAdapter(LumenWorks.Framework.IO.Csv.CsvReader reader)
 {
     this.reader = reader;
 }
コード例 #19
0
        static public void EnsemblSynteny()
        {
            Dictionary <int, String> species = App.LoadSpecies();
            String sSpecies = String.Join(", ", species.Values);

            App.Log("Converting Synteny Data for species <i>" + sSpecies + "</i>...");

            App.DB.OpenFast();
            App.DB.Exec("DELETE FROM speciesChromosomeEns");

            LumenWorks.Framework.IO.Csv.CsvReader csv = App.DB.OpenCsv(@"data\synteny\dnafrag.txt");

            while (csv.ReadNextRecord())
            {
                int genomeDbId = Convert.ToInt32(csv[3]);
                if (species.ContainsKey(genomeDbId))
                {
                    String type  = csv[4];
                    String isRef = csv[5];
                    if ((type == "chromosome") && (isRef == "1"))
                    {
                        String name      = csv[2];
                        long   dnafragId = Convert.ToInt64(csv[0]);

                        String sql = "INSERT INTO speciesChromosomeEns (genomeDbId, dnafragId, name) VALUES (" +
                                     genomeDbId.ToString() + "," + dnafragId.ToString() + ",'" + name + "')";
                        App.DB.Exec(sql);
                        App.Log("Inserted " + species[genomeDbId] + " chromosome " + name + "");
                    }
                }
            }

            App.Log("Done reading chromosomes");
            App.Log("");


            App.Log("Converting Synteny Regions...");

            App.DB.Exec("DELETE FROM syntenyEns");

            Dictionary <string, int> fields = new Dictionary <string, int>();

            fields.Add("syntenyRegionId", 0);
            fields.Add("dnafragId", 1);
            fields.Add("start", 2);
            fields.Add("end", 3);
            fields.Add("strand", 4);

            App.DB.ImportCsv(@"data\synteny\dnafrag_region.txt", "syntenyEns", fields);

            App.Log("");


            App.Log("Connecting Tables...");

            System.Data.Common.DbDataReader res =
                App.DB.Query("SELECT * FROM speciesChromosomeEns");
            while (res.Read())
            {
                long   dnafragId  = Convert.ToInt64(res["dnafragId"].ToString());
                int    genomeDbId = Convert.ToInt32(res["genomeDbId"].ToString());
                String chromosome = res["name"].ToString();

                String sql = "UPDATE syntenyEns SET genomeDbId=" + genomeDbId.ToString() + ", chromosome='" +
                             chromosome + "' WHERE dnafragId=" + dnafragId.ToString();
                App.DB.Exec(sql);
                // App.Log(sql);
            }

            App.Log("Cleaning up table...");
            App.DB.Exec("DELETE FROM syntenyEns WHERE genomeDbId IS NULL");

            App.Log("Done.");

            App.DB.Close();
        }
コード例 #20
0
        public static ActiveInventoryCollection ImportFromSpreadsheet(string file)
        {
            ActiveInventoryCollection retVal = new ActiveInventoryCollection();

            try
            {
                using (LumenWorks.Framework.IO.Csv.CsvReader reader = new LumenWorks.Framework.IO.Csv.CsvReader(new System.IO.StreamReader(file, Encoding.GetEncoding(1252)), true))
                {
                    reader.SupportsMultiline = false;
                    //reader.ReadNextRecord();  //Header Record?
                    //string x = reader["UPC"];
                    while (reader.ReadNextRecord())
                    {
                        if (!string.IsNullOrEmpty(reader["SKU"]) && !reader["UPC"].Contains("~~"))
                        {
                            ActiveInventoryObject aio = new ActiveInventoryObject();
                            string data = reader.GetCurrentRawData();

                            aio.UPC = reader["UPC"];
                            int i = 0;
                            if (int.TryParse(reader["Product ID"], out i))
                            {
                                aio.ProductID = i;
                            }
                            aio.Distributor = reader["Distributor"];
                            aio.SKU         = reader["SKU"];
                            aio.Name        = reader["Description"];

                            //aio.Category = reader["Category"];
                            try
                            {
                                if (reader["Is Model Kit"].ToUpperInvariant() == "YES")
                                {
                                    //aio.DiscountRateLevel = 0.05M;
                                    aio.IsModelKit = true;
                                }
                                else
                                {
                                    aio.IsModelKit = false;
                                }
                            }
                            catch (Exception ex)
                            {
                                if (_log.IsWarnEnabled)
                                {
                                    _log.Warn("Error importing: ", ex);
                                }
                            }

                            try
                            {
                                //Quantity of zero might be valid--this could change that.
                                if (!int.TryParse(reader["Quantity"], out i))
                                {
                                    aio.Quantity = 0;
                                }
                                else
                                {
                                    aio.Quantity = i;
                                }
                            }
                            catch (Exception ex)
                            {
                                if (_log.IsWarnEnabled)
                                {
                                    _log.Warn("Error importing: ", ex);
                                }
                            }
                            decimal d = 0;
                            try
                            {
                                if (decimal.TryParse(reader["Wholesale"].Replace("$", string.Empty), out d))
                                {
                                    aio.WholeSalePrice = d;
                                }
                                else
                                {
                                    aio.WholeSalePrice = 0;
                                }
                            }
                            catch (Exception ex)
                            {
                                if (_log.IsWarnEnabled)
                                {
                                    _log.Warn("Error importing: ", ex);
                                }
                            }
                            try
                            {
                                if (decimal.TryParse(reader["MSRP"].Replace("$", string.Empty), out d))
                                {
                                    aio.MSRP = d;
                                }
                                else
                                {
                                    aio.MSRP = 0;
                                }
                            }
                            catch (Exception ex)
                            {
                                if (_log.IsWarnEnabled)
                                {
                                    _log.Warn("Error importing: ", ex);
                                }
                            }
                            //try
                            //{
                            //    if (decimal.TryParse(reader["Add'l Overhead"].Replace("$", string.Empty), out d))
                            //    {
                            //        aio.AdditionalOverhead = d;
                            //    }
                            //    else
                            //    {
                            //        aio.AdditionalOverhead = 0;
                            //    }
                            //}
                            //catch (Exception ex)
                            //{
                            //    if (_log.IsWarnEnabled)
                            //    {
                            //        _log.Warn("Error importing: ", ex);
                            //    }
                            //}
                            try
                            {
                                if (decimal.TryParse(reader["Price"].Replace("$", string.Empty), out d))
                                {
                                    aio.SellingPrice = d;
                                }
                            }
                            catch (Exception ex)
                            {
                                if (_log.IsWarnEnabled)
                                {
                                    _log.Warn("Error importing: ", ex);
                                }
                            }
                            retVal.Add(aio);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error on Import:\r\n\r\n" + ex.Message);
                retVal = null;
                if (_log.IsWarnEnabled)
                {
                    _log.Warn("Error importing: ", ex);
                }
            }
            return(retVal);
        }
コード例 #21
0
        public static ActiveInventoryCollection ImportFromWebsiteBase(string file)
        {
            ActiveInventoryCollection retVal = new ActiveInventoryCollection();
            decimal d = 0;

            try
            {
                using (LumenWorks.Framework.IO.Csv.CsvReader reader
                           = new LumenWorks.Framework.IO.Csv.CsvReader(new System.IO.StreamReader(file, Encoding.GetEncoding(1252)), true))
                {
                    reader.SupportsMultiline = true;
                    //reader.ReadNextRecord();  //Header Record?

                    while (reader.ReadNextRecord())
                    {
                        ActiveInventoryObject aio = new ActiveInventoryObject();
                        string data = reader.GetCurrentRawData();

                        aio.UPC = reader["upc"];


                        int i = 0;
                        if (int.TryParse(reader["product_id"], out i))
                        {
                            aio.ProductID = i;
                        }

                        aio.Name = reader["name"];


                        aio.SKU = reader["sku"];
                        //aio.Model = reader["model"];

                        aio.PictureURL = reader["image_name"];

                        aio.Description = reader["description"];

                        //aio.Category = reader["Category"];


                        if (!int.TryParse(reader["quantity"], out i))
                        {
                            aio.Quantity = 0;
                        }
                        else
                        {
                            aio.Quantity = i;
                        }
                        try
                        {
                            if (decimal.TryParse(reader["price"], out d))
                            {
                                aio.SellingPrice = d;
                            }
                        }
                        catch { }

                        aio.Metadata = reader["meta_description"];
                        aio.Keywords = reader["meta_keywords"];


                        retVal.Add(aio);
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error on Import:\r\n\r\n" + ex.Message);
                retVal = null;
                if (_log.IsWarnEnabled)
                {
                    _log.Warn("Error importing: ", ex);
                }
            }
            return(retVal);
        }
コード例 #22
0
        static void Main()
        {
            string filedirc = Directory.GetCurrentDirectory() + "/Files";

            if (!System.IO.Directory.Exists(filedirc))
            {
                Console.WriteLine("Mising 'Files' Directory");
                Console.ReadLine();
                Environment.Exit(0);
            }

            string dbpath  = filedirc + "/Carddb.csv";
            string tcgpath = filedirc + "/TCGplayer.csv";

            if (!File.Exists(dbpath) || !File.Exists(tcgpath))
            {
                Console.WriteLine("Mising Carddb.csv and/or TCGplayer.csv In 'Files' Directory");
                Console.ReadLine();
                Environment.Exit(0);
            }

            string[] args = new string[] { dbpath, tcgpath };

            List <ExcelCard> carddb         = new List <ExcelCard>(); // REF TO DB
            List <ExcelCard> tcgplayercards = new List <ExcelCard>();
            var csvTable = new DataTable();

            using (var csvReader = new LumenWorks.Framework.IO.Csv.CsvReader(new StreamReader(System.IO.File.OpenRead(@args[0])), true))
            {
                csvTable.Load(csvReader);
            }

            foreach (DataRow row in csvTable.Rows)
            {
                carddb.Add(new ExcelCard {
                    Name = row.Field <string>(0), Special_name = row.Field <string>(1), Set = row.Field <string>(2), Amount = Convert.ToInt32(row.Field <string>(3)), Printing = row.Field <string>(4), Collector_number = row.Field <string>(5)
                });
            }


            csvTable = new DataTable();
            using (var csvReader = new LumenWorks.Framework.IO.Csv.CsvReader(new StreamReader(System.IO.File.OpenRead(@args[1])), true))
            {
                csvTable.Load(csvReader);
            }

            foreach (DataRow row in csvTable.Rows)
            {
                tcgplayercards.Add(new ExcelCard {
                    Name = row.Field <string>(2), Special_name = row.Field <string>(1), Set = row.Field <string>(5), Amount = Convert.ToInt32(row.Field <string>(0)), Printing = row.Field <string>(6), Collector_number = row.Field <string>(4)
                });
                if (tcgplayercards[tcgplayercards.Count - 1].Set.ToLower().Equals("10e") && tcgplayercards[tcgplayercards.Count - 1].Printing.Equals("Foil"))
                {
                    tcgplayercards[tcgplayercards.Count - 1].Collector_number = tcgplayercards[tcgplayercards.Count - 1].Collector_number + "★";
                }
                else if (tcgplayercards[tcgplayercards.Count - 1].Set.ToLower().Equals("tlp"))
                {
                    tcgplayercards[tcgplayercards.Count - 1].Set = "plist";
                }
            }

            if (tcgplayercards.Count != 0)
            {
                foreach (ExcelCard excard in tcgplayercards)
                {
                    ExcelCard match = carddb.Find(c => c.Set.Equals(excard.Set.ToLower()) && c.Collector_number.Equals(excard.Collector_number) && c.Printing.Equals(excard.Printing));
                    if (match != null)
                    {
                        carddb[carddb.IndexOf(match)].Amount = carddb[carddb.IndexOf(match)].Amount + 1;
                    }
                    else
                    {
                        carddb.Add(excard);
                    }
                }
            }


            ICollection <CardSearch> CardsToSearch = new List <CardSearch>();
            string              jsonstring;
            StringContent       httpContent;
            HttpClient          client = new HttpClient();
            HttpResponseMessage response;
            Cards       returncards;
            List <Card> allcards = new List <Card>(); // HAS ALL CARDS AND INFROMATION

            for (int i = 0; i < carddb.Count; i++)
            {
                CardsToSearch.Add(new CardSearch {
                    Set = carddb[i].Set, Collector_number = carddb[i].Collector_number
                });
                if (CardsToSearch.Count == 75 || i == carddb.Count - 1)
                {
                    jsonstring = JsonConvert.SerializeObject(new Identifier {
                        IDs = CardsToSearch
                    });
                    httpContent = new StringContent(jsonstring, Encoding.UTF8, "application/json");
                    response    = client.PostAsync(URL, httpContent).Result;
                    returncards = response.Content.ReadAsAsync <Cards>().Result;
                    allcards.AddRange(returncards.Data);
                    CardsToSearch.Clear();
                }
            }

            if (allcards.Count != carddb.Count)
            {
                Console.WriteLine("Check CardDB/TCGplayer For Possible Invalid Card(s)");
                Console.ReadLine();
                Environment.Exit(0);
            }


            allcards.Sort((x, y) => {
                if (x.Name.CompareTo(y.Name) != 0)
                {
                    return(x.Name.CompareTo(y.Name));
                }
                else if (x.Set.CompareTo(y.Set) != 0)
                {
                    return(x.Set.CompareTo(y.Set));
                }
                else
                {
                    return(x.Collector_number.CompareTo(y.Collector_number));
                }
            });
            carddb.Sort((x, y) => {
                if (x.Name.CompareTo(y.Name) != 0)
                {
                    return(x.Name.CompareTo(y.Name));
                }
                else if (x.Set.CompareTo(y.Set) != 0)
                {
                    return(x.Set.CompareTo(y.Set));
                }
                else
                {
                    return(x.Collector_number.CompareTo(y.Collector_number));
                }
            });

            for (int i = 0; i < allcards.Count; i++)
            {
                allcards[i].Amount       = carddb[i].Amount;
                allcards[i].Special_name = carddb[i].Special_name;
                if ("Foil".Equals(carddb[i].Printing))
                {
                    allcards[i].Printing = "Foil";
                }
                else
                {
                    allcards[i].Printing = "Normal";
                }
            }
            //look into ASP.NET
            ProgFunctions.Allcards = allcards;
            Console.WriteLine("Database Loaded");
            Console.WriteLine("-----");
            string selection;

            while (true)
            {
                Console.WriteLine("Select Feature:");
                Console.WriteLine("1 - Search For Card(s)");
                Console.WriteLine("2 - Search By Card Text");
                Console.WriteLine("3 - Filter By Color");
                Console.WriteLine("4 - Filter By Type Line");
                Console.WriteLine("5 - Filter By CMC");
                Console.WriteLine("6 - Filter By Keyword");
                Console.WriteLine("7 - Display Prices");
                Console.WriteLine("8 - Display All Cards");
                Console.WriteLine("9 - Manage Lists");
                Console.WriteLine("10 - Remove Card");
                Console.WriteLine("11 - Exit");
                selection = Console.ReadLine();
                if (Regex.IsMatch(selection, @"10|11|[1-9]"))
                {
                    if (Convert.ToInt32(selection) == 11)
                    {
                        break;
                    }
                    else
                    {
                        ProgFunctions.ChooseFeature(Convert.ToInt32(selection));
                    }
                }
                Console.Clear();
            }

            System.IO.File.WriteAllText(@args[0], string.Empty);
            System.IO.File.WriteAllText(@args[1], string.Empty);
            using (var writer = new StreamWriter(args[0]))
                using (var csv = new CsvWriter(writer, CultureInfo.InvariantCulture))
                {
                    csv.WriteRecords(allcards);
                }
        }
コード例 #23
0
        static void ReadReviewsCsvFile()
        {
            var csvTable = new DataTable();

            using (var csvReader = new CsvReader(new StreamReader(System.IO.File.OpenRead(@"C:\Users\itay.m\Downloads\Reviews\ST_SystemReport_Get Feedback Product History_12.9.2020_7.33 AM.csv")), true))
            {
                csvTable.Load(csvReader);
            }

            var csv = new StringBuilder();

            for (int i = 0; i < csvTable.Rows.Count; i++)
            {
                // adding all the reviews to a list
                AllReviews.Add(new Review
                {
                    reviewID             = Convert.ToInt32(csvTable.Rows[i][0]),
                    orderID              = Convert.ToInt32(csvTable.Rows[i][1]),
                    ProductOverallRating = Convert.ToInt32(csvTable.Rows[i][2]),
                    RecommendToFriend    = (csvTable.Rows[i][3].ToString()),
                    YourReview           = (csvTable.Rows[i][4]).ToString(),
                    CustomerName         = (csvTable.Rows[i][5]).ToString(),
                    CustomerID           = Convert.ToInt32(csvTable.Rows[i][6]),
                    ProductID            = Convert.ToInt32(csvTable.Rows[i][7]),
                    Approved             = (csvTable.Rows[i][8]).ToString(),
                    SKU          = (csvTable.Rows[i][9]).ToString(),
                    ShowFeedback = (csvTable.Rows[i][10]).ToString(),
                });
                Console.WriteLine(AllReviews[i]);
                if (AllReviews[i].Approved == "FALSE" && AllReviews[i].YourReview == null && AllReviews[i].ProductOverallRating == 5)
                {
                    AllReviews[i].Approved = "TRUE";
                    ReviewsToBePublished.Add(AllReviews[i]);
                }
                else if (AllReviews[i].Approved == "FALSE" && AllReviews[i].YourReview == null && AllReviews[i].ProductOverallRating == 4)
                {
                    AllReviews[i].Approved = "TRUE";
                    ReviewsToBePublished.Add(AllReviews[i]);
                }
                else if (AllReviews[i].Approved == "FALSE" && AllReviews[i].YourReview == null && AllReviews[i].ProductOverallRating == 3)
                {
                    AllReviews[i].Approved = "TRUE";
                    ReviewsToBePublished.Add(AllReviews[i]);
                }

                // running on invalid word list
                int wordCounter = 0;
                for (int j = 0; j < AllInvalidWords.Count; j++)
                {
                    // checking for invalid words in A SINGLE REVIEW
                    if (AllReviews[i].YourReview.Contains(AllInvalidWords[j].word))
                    {
                        wordCounter++;
                        Console.WriteLine($"{AllReviews[i]} has {AllInvalidWords[j].word} in the review");
                    }
                    //printing total number of invalid words in A SINGLE REVIEW
                }
                Console.WriteLine($"{AllReviews[i]} has {wordCounter} invalid words, and has rating of {AllReviews[i].ProductOverallRating}");

                if (AllReviews[i].ProductOverallRating == 0 && wordCounter == 0 && AllReviews[i].RecommendToFriend == "TRUE")
                {
                    AllValidReviewsWithNoRating.Add(AllReviews[i]);
                }
            }
        }
コード例 #24
0
ファイル: Form1.cs プロジェクト: iamapi/MtgoxTrader
        private void BindHistory()
        {
            try
            {
                using (TextReader textReader = new StringReader(tradeHistoryFund))
                {
                    LumenWorks.Framework.IO.Csv.CsvReader reader = new LumenWorks.Framework.IO.Csv.CsvReader(textReader, true);
                    LumenWorks.Framework.IO.Csv.CsvReader.RecordEnumerator record = reader.GetEnumerator();
                    this.dgHistoryFund.Rows.Clear();

                    while (record.MoveNext())
                    {
                        this.dgHistoryFund.Rows.Add(record.Current);
                    }
                }

                using (TextReader textReader = new StringReader(tradeHistoryBtc))
                {
                    LumenWorks.Framework.IO.Csv.CsvReader reader = new LumenWorks.Framework.IO.Csv.CsvReader(textReader, true);
                    LumenWorks.Framework.IO.Csv.CsvReader.RecordEnumerator record = reader.GetEnumerator();
                    this.dgHistoryBtc.Rows.Clear();

                    while (record.MoveNext())
                    {
                        this.dgHistoryBtc.Rows.Add(record.Current);
                    }
                }
            }
            catch (Exception ex)
            {
                Trace.WriteLine(string.Format("{0} \r\n stack:{1}", Utils.GetDetailedException(ex), Utils.GetStackTrace(ex)));
            }
        }
コード例 #25
0
        //private void OnConfiguration(object sender, RoutedEventArgs e)
        //{

        //}

        private void OnImportInventory(object sender, RoutedEventArgs e)
        {
            OpenFileDialog diag = new OpenFileDialog();
            diag.Title = "Select File for Import";
            diag.Filter = "Comma Delimited|*.csv|All Files|*.*";
            diag.CheckFileExists = true;
            diag.CheckPathExists = true;
            diag.DefaultExt = "csv";
            diag.Multiselect = false;





            if (diag.ShowDialog() == true)
            {
                using (StreamReader sr = new StreamReader(diag.FileName))
                {
                    LumenWorks.Framework.IO.Csv.CsvReader csv = new LumenWorks.Framework.IO.Csv.CsvReader(sr, true);

                    int fieldCount = csv.FieldCount;
                    string[] headers = csv.GetFieldHeaders();

                    while (csv.ReadNextRecord())
                    {
                        ActiveInventoryObject Inv = new ActiveInventoryObject();

                        int i = 0;

                        Inv.UPC = csv[0];

                        Inv.Distributor = csv[1];
                        Inv.SKU = csv[2];
                        Inv.Description = csv[3];
                        Inv.Category = csv[4];
                        if (int.TryParse(csv[5], out i))
                        {
                            Inv.Quantity = i;
                        }


                        Inv.WholeSalePrice = Configuration.CurrencyToDecimal(csv[6]);


                        Inv.MSRP = Configuration.CurrencyToDecimal(csv[7]);


                        Inv.AdditionalOverhead = Configuration.CurrencyToDecimal(csv[8]);

                        Inv.DescriptionShort = Inv.Description;
                        Inv.Manufacturer = csv[14];

                        Cache.Current.Inventory.Add(Inv);
                        
                    }

                }
                MessageBox.Show("Process Complete.");
            }

        }
コード例 #26
0
ファイル: CSVReader.cs プロジェクト: tobiaszuercher/DukeSharp
 public CsvReader(StreamReader sr)
 {
     _sr     = sr;
     _reader = new LumenWorks.Framework.IO.Csv.CsvReader(_sr, false);
 }
コード例 #27
0
        public static ActiveInventoryCollection ImportFromWebsiteOpenCart(string file)
        {
            ActiveInventoryCollection retVal = new ActiveInventoryCollection();

            try
            {
                StringBuilder sb = new StringBuilder();
                using (StreamReader sr = new StreamReader(file))
                {
                    string sLine = null;
                    do
                    {
                        sLine = sr.ReadLine();
                        if (!string.IsNullOrEmpty(sLine))
                        {
                            sb.AppendLine(HttpUtility.UrlDecode(sLine));
                        }
                    } while (sLine != null);
                }
                using (LumenWorks.Framework.IO.Csv.CsvReader reader
                           = new LumenWorks.Framework.IO.Csv.CsvReader(new StringReader(sb.ToString()), true))
                {
                    while (reader.ReadNextRecord())
                    {
                        ActiveInventoryObject aio = new ActiveInventoryObject();
                        int     i = 0;
                        decimal d = 0M;
                        if (int.TryParse(reader["product_id"], out i))
                        {
                            aio.ProductID = i;
                        }
                        try
                        {
                            if (decimal.TryParse(reader["price"], out d))
                            {
                                aio.SellingPrice = d;
                            }
                        }
                        catch { }

                        aio.UPC          = reader["upc"];
                        aio.SKU          = reader["sku"];
                        aio.Name         = reader["prodname"];
                        aio.Manufacturer = reader["mname"];
                        aio.Distributor  = reader["dname"];
                        aio.Category     = reader["catname"];
                        if (reader["modelkit"] == "1")
                        {
                            //aio.DiscountRateLevel = 0.05M;
                            aio.IsModelKit = true;
                        }
                        else
                        {
                            aio.IsModelKit = false;
                        }

                        if (!int.TryParse(reader["stock"], out i))
                        {
                            aio.Quantity = 0;
                        }
                        else
                        {
                            aio.Quantity = i;
                        }

                        d = 0;
                        //if (decimal.TryParse(reader["pricesell"], out d))
                        //{
                        //    aio.WholeSalePrice = d;
                        //}

                        if (retVal.GetByProductID(aio.ProductID) == null)
                        {
                            retVal.Add(aio);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error on Import:\r\n\r\n" + ex.Message);
                retVal = null;
                if (_log.IsWarnEnabled)
                {
                    _log.Warn("Error importing: ", ex);
                }
            }
            return(retVal);
        }
コード例 #28
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (Request["testing"] == "true")
        {
            return;
        }
        //fdata.DataSource = csv;
        //fdata.DataBind();

        List <PayPalRecord> PayPalRecords = new List <PayPalRecord>();

        decimal totalfees  = Decimal.Parse("0.0");
        decimal totalgross = Decimal.Parse("0.0");
        decimal totalnet   = Decimal.Parse("0.0");
        string  text       = "";

        foreach (string directory in Directory.GetDirectories(@"W:\Projects\Weavver\Accounting\Paypal"))
        {
            foreach (string file in Directory.GetFiles(directory))
            {
                Response.Write(file);
                if (!file.EndsWith(".txt"))
                {
                    continue;
                }

                LumenWorks.Framework.IO.Csv.CsvReader csv = new LumenWorks.Framework.IO.Csv.CsvReader(new StreamReader(file), true, '\t');

                int      fieldCount = csv.FieldCount;
                string[] headers    = csv.GetFieldHeaders();
                decimal  fees       = Decimal.Parse("0.0");
                decimal  gross      = Decimal.Parse("0.0");
                decimal  net        = Decimal.Parse("0.0");

                while (csv.ReadNextRecord())
                {
                    string itemtitle = null;
                    try
                    {
                        itemtitle = csv["Item Title"];
                    }
                    catch (Exception ex)
                    {
                        ShowError(ex, "Import error");
                        continue;
                    }
                    if (itemtitle == "Snap Pro")
                    {
                        PayPalRecord item = new PayPalRecord();
                        item.Date                      = csv["Date"];
                        item.Time                      = csv["Time"];
                        item.TimeZone                  = csv["Time Zone"];
                        item.Name                      = csv["Name"];
                        item.Type                      = csv["Type"];
                        item.Status                    = csv["Status"];
                        item.Currency                  = csv["Currency"];
                        item.Gross                     = csv["Gross"];
                        item.Net                       = csv["Net"];
                        item.FromEmailAddress          = csv["From Email Address"];
                        item.ToEmailAddress            = csv["To Email Address"];
                        item.TransactionID             = csv["Transaction ID"];
                        item.CounterpartyStatus        = csv["Counterparty Status"];
                        item.ShippingAddress           = csv["Shipping Address"];
                        item.AddressStatus             = csv["Address Status"];
                        item.ItemTitle                 = csv["Item Title"];
                        item.ItemID                    = csv["Item ID"];
                        item.ShippingandHandlingAmount = Decimal.Parse(csv["Shipping and Handling Amount"]);
                        item.InsuranceAmount           = csv["Insurance Amount"];
                        item.SalesTax                  = Decimal.Parse(csv["Sales Tax"]);
                        item.Option1Name               = csv["Option 1 Name"];
                        item.Option1Value              = csv["Option 1 Value"];
                        item.Option2Name               = csv["Option 2 Name"];
                        item.Option2Value              = csv["Option 2 Value"];
                        item.AuctionSite               = csv["Auction Site"];
                        item.BuyerID                   = csv["Buyer ID"];
                        item.ReferenceTxnID            = csv["Reference Txn ID"];
                        item.InvoiceNumber             = csv["Invoice Number"];
                        item.CustomNumber              = csv["Custom Number"];
                        item.ReceiptID                 = csv["Receipt ID"];
                        item.Balance                   = csv["Balance"];
                        item.ContactPhoneNumber        = csv["Contact Phone Number"];
                        item.BalanceImpact             = csv["Balance Impact"];

                        PayPalRecords.Add(item);

                        fees  += Decimal.Parse(csv["Fee"]);
                        gross += Decimal.Parse(csv["Gross"]);
                        net   += Decimal.Parse(csv["Net"]);
                        continue;
                    }
                }
                text       += "<hr />";
                totalfees  += fees;
                totalgross += gross;
                totalnet   += net;
            }
        }

        fdata.DataSource = PayPalRecords;

        //for (int i = 0; i < PayPalRecords.Count; i++)
        //{
        //     PayPalRecords[i].Commit();
        //}
        //fdata.DataBind();

        //FileData.Text  = text;
        //totalfees      = -1 * totalfees;
        //Fees.Text      = "Fees: $" + totalfees.ToString();
        //Totals.Text    = "Gross: $" + totalgross.ToString();
        //Net.Text       = "Net: $" + totalnet.ToString();

        //Net.Text        += "<br>Total Records: " + PayPalRecords.Count;
        //Console.ReadLine();
    }
コード例 #29
0
 public CSVReader(TextReader reader, bool hasHeaders, char delimeter)
 {
     csvReader = new LumenWorks.Framework.IO.Csv.CsvReader(reader, hasHeaders, delimeter);
 }