Exemplo n.º 1
0
        public async Task <bool> CanImportAsync(IDictionary <string, TData> data, IDataAccessFacade <TData> access)
        {
            var csvs = data.Keys.Where(filename => Path.GetExtension(filename).Equals(".csv", StringComparison.OrdinalIgnoreCase)).ToArray();

            if (csvs.Any())
            {
                foreach (var csv in csvs)
                {
                    using (var stream = await Reader.OpenStreamProvider(await access.GetFileAsync(csv)))
                    {
                        int i = 3;
                        using (var reader = new StreamReader(stream))
                        {
                            //Goto line 3
                            string line = null;
                            while (i-- > 0)
                            {
                                line = await reader.ReadLineAsync();
                            }

                            ParseHeaderData(line);

                            if (Headers.Count == 12 && line.StartsWith(TABLE_HEADER_START))
                            {
                                return(true);
                            }
                        }
                    }
                }
            }

            return(false);
        }