Esempio n. 1
0
        /// <summary>
        /// Unused-Untested after impersonation implementation
        /// </summary>
        /// <param name="fullname">File name</param>
        /// <param name="lines">number of lines to retrieve</param>
        /// <returns></returns>
        public static CsvFile LoadCsvFile(String fullname, dtoCsvSettings settings, int lines)
        {
            CsvFile     result          = null;
            Impersonate oImpersonate    = new Impersonate();
            Boolean     wasImpersonated = Impersonate.isImpersonated();

            try
            {
                if (!wasImpersonated)
                {
                    oImpersonate.ImpersonateValidUser();
                }

                CsvFileReader reader = new CsvFileReader();
                result = reader.ReadFile(fullname, settings, lines);
            }
            catch
            {
                if (!wasImpersonated)
                {
                    oImpersonate.UndoImpersonation();
                }
                result = null;
            }
            finally
            {
                if (!wasImpersonated)
                {
                    oImpersonate.UndoImpersonation();
                }
            }
            return(result);
        }
Esempio n. 2
0
        public List <ProfileColumnComparer <String> > GetAvailableColumns(dtoCsvSettings settings, dtoCSVfile file)
        {
            List <ProfileColumnComparer <String> > columns = new List <ProfileColumnComparer <String> >();

            if (file != null)
            {
                CsvFile header = ContentOf.LoadCsvFile(file.RealName, settings, 1);
                if (header != null)
                {
                    Dictionary <ProfileAttributeType, String> attributes = new Dictionary <ProfileAttributeType, String>();
                    foreach (ProfileAttributeType att in Enum.GetValues(typeof(ProfileAttributeType)))
                    {
                        attributes.Add(att, att.ToString().ToLower());
                    }
                    columns = (from c in header.ColumHeader
                               select new ProfileColumnComparer <String>
                    {
                        SourceColumn = (c.Empty) ? c.Number.ToString() : c.Value,
                        Number = c.Number,
                        DestinationColumn = (c.Empty || !attributes.Values.Contains(c.Value.ToLower())) ? Authentication.ProfileAttributeType.skip : attributes.ToList().Where(a => a.Value == c.Value.ToLower()).Select(a => a.Key).FirstOrDefault()
                    }).ToList();
                }
            }
            return(columns);
        }
Esempio n. 3
0
 public void Preview(dtoCsvSettings settings, dtoCSVfile file)
 {
     if (file != null)
     {
         View.PreviewRows(ContentOf.LoadCsvFile(file.RealName, settings, 8));
     }
     else
     {
         View.PreviewRows(null);
     }
 }
Esempio n. 4
0
        public void InitView(String filePath)
        {
            if (UserContext.isAnonymous)
            {
                View.DisplaySessionTimeout();
            }
            else
            {
                dtoCsvSettings settings = new dtoCsvSettings()
                {
                    ColumnDelimeter = TextDelimiter.Semicolon, FirstRowColumnNames = true, RowDelimeter = TextDelimiter.CrLf, RowsToSkip = 0
                };
                //List<dtoFileSystemInfo> files = new List<dtoFileSystemInfo>();
                //ContentOf.Directory(filePath, files, "*.csv.stored");

                //dtoFileSystemInfo LastFile = files.OrderByDescending(f => f.CreationTime).Where(f => f.Exists).FirstOrDefault();

                View.InitializeControl(settings, GetCurrentFile(filePath));
            }
        }
 public void InitView(String filePath)
 {
     if (UserContext.isAnonymous)
     {
         View.DisplaySessionTimeout();
     }
     else
     {
         dtoCsvSettings settings = new dtoCsvSettings()
         {
             ColumnDelimeter = View.DefaultDelimiter, FirstRowColumnNames = true, RowDelimeter = TextDelimiter.CrLf, RowsToSkip = 0
         };
         if (!View.isInitialized && View.ClearPreviousFiles)
         {
             ClearPreviousFiles(filePath);
         }
         View.InitializeControl(settings, ((View.isInitialized) ? GetCurrentFile(filePath) :null));
         View.isInitialized = true;
     }
 }
        public List <ExternalColumnComparer <String, Int32> > GetAvailableColumns(dtoCsvSettings settings, dtoCSVfile file)
        {
            List <ExternalColumnComparer <String, Int32> > columns = new List <ExternalColumnComparer <String, Int32> >();

            if (file != null)
            {
                CsvFile header = ContentOf.LoadCsvFile(file.RealName, settings, 1);
                if (header != null)
                {
                    columns = (from c in header.ColumHeader
                               select new ExternalColumnComparer <String, Int32>
                    {
                        SourceColumn = (c.Empty) ? c.Number.ToString() : c.Value,
                        Number = c.Number,
                        DestinationColumn = new DestinationItem <Int32>()
                        {
                            Id = -1, InputType = InputType.skip
                        },
                        InputType = InputType.skip
                    }).ToList();
                }
            }
            return(columns);
        }
Esempio n. 7
0
        public ProfileExternalResource GetFileContent(List <ProfileColumnComparer <String> > columns, dtoCsvSettings settings, dtoCSVfile file)
        {
            CsvFile csvFile = ContentOf.LoadCsvFile(file.RealName, settings);
            ProfileExternalResource result = new ProfileExternalResource(columns, csvFile);

            return(result);
        }
Esempio n. 8
0
        public CsvFile ReadFile(String fullname, dtoCsvSettings settings, int lines)
        {
            CsvFile         result = null;
            TextFieldParser parser = null;

            try{
                result = new CsvFile();
                using (parser = new TextFieldParser(fullname, System.Text.Encoding.Default))
                {
                    parser.Delimiters     = settings.GetColumnDelimiters;
                    parser.TrimWhiteSpace = true;
                    long rowIndex = 1;
                    while ((lines <= 0 && !parser.EndOfData) || (rowIndex <= lines))
                    {
                        try
                        {
                            string[] parts = parser.ReadFields();
                            if (!(settings.RowsToSkip > 0 && rowIndex <= settings.RowsToSkip))
                            {
                                if (rowIndex == 1 && settings.FirstRowColumnNames)
                                {
                                    List <TextColumn> columns = new List <TextColumn>();
                                    columns.AddRange((from i in Enumerable.Range(1, parts.Count()).ToList()
                                                      select new TextColumn()
                                    {
                                        Number = i, Value = parts[i - 1]
                                    }).ToList());
                                    result.ColumHeader.AddRange(columns);
                                }
                                else
                                {
                                    List <string> cells = parts.ToList();
                                    if (cells.Where(c => !string.IsNullOrEmpty(c)).Any())
                                    {
                                        TextRow row = new TextRow();
                                        row.AddRange(cells);
                                        result.Rows.Add(row);
                                    }
                                    else
                                    {
                                        rowIndex--;
                                    }
                                }
                            }
                        }
                        catch (Exception ex)
                        {
                        }
                        rowIndex++;
                    }
                    if (result.Rows.Count > 0)
                    {
                        int colCount = result.ColumHeader.Count;
                        int colToAdd = (from r in result.Rows select r.Count).Max();
                        if (colToAdd > 0 && colCount < colToAdd)
                        {
                            result.ColumHeader.AddRange((from i in Enumerable.Range(colCount + 1, colToAdd - colCount).ToList() select new TextColumn()
                            {
                                Number = i
                            }).ToList());
                        }
                        colCount = result.ColumHeader.Count;
                        foreach (TextRow tRow in result.Rows.Where(r => r.Count < colCount).ToList())
                        {
                            tRow.AddRange((from i in Enumerable.Range(1, colCount - tRow.Count).ToList() select "").ToList());
                        }
                    }
                }
                parser.Dispose();
                parser = null;
            }
            catch (Exception ex) {
                if (parser != null)
                {
                    parser.Dispose();
                }
                result = null;
            }
            return(result);
        }
Esempio n. 9
0
 /// <summary>
 /// Unused-Untested after impersonation implementation
 /// </summary>
 /// <param name="fullname">File name</param>
 /// <param name="lines">number of lines to retrieve</param>
 /// <returns></returns>
 public static CsvFile LoadCsvFile(String fullname, dtoCsvSettings settings)
 {
     return(LoadCsvFile(fullname, settings, 0));
 }