/// <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); }
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); }
public void Preview(dtoCsvSettings settings, dtoCSVfile file) { if (file != null) { View.PreviewRows(ContentOf.LoadCsvFile(file.RealName, settings, 8)); } else { View.PreviewRows(null); } }
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); }
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); }
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); }
/// <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)); }