Пример #1
0
        //this function parses input file
        private static List <RecordDto> ParseInputFile(Enums.InputFileType inputType)
        {
            try
            {
                string inputFile = Utility.GetFullFilePathWithExtension(inputType);
                if (File.Exists(inputFile))
                {
                    Char[] seperator = Utility.GetDelimiterChar(inputType);

                    var dtoRecord =
                        from line in File.ReadLines(inputFile)
                        let record = line.Split(seperator, StringSplitOptions.None)
                                     select new RecordDto()
                    {
                        LastName      = record[0],
                        FirstName     = record[1],
                        Gender        = record[2],
                        FavoriteColor = record[3],
                        DateOfBirth   = Convert.ToDateTime(record[4]).ToString("M/d/yyyy")
                    };

                    return(dtoRecord.ToList());
                }
                else
                {
                    return(null);
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("Error while executing ParseInputFile");
                throw ex;
            }
        }
Пример #2
0
 public static Char[] GetDelimiterChar(Enums.InputFileType inputType)
 {
     Char[] delimiter = null;
     if (inputType.Equals(Enums.InputFileType.PipeDelimited))
     {
         delimiter = new Char[] { '|' };
     }
     else if (inputType.Equals(Enums.InputFileType.CommaDelimited))
     {
         delimiter = new Char[] { ',' };
     }
     else if (inputType.Equals(Enums.InputFileType.SpaceDelimited))
     {
         delimiter = new Char[] { ' ' };
     }
     return(delimiter);
 }
Пример #3
0
 public static string GetFullFilePathWithExtension(Enums.InputFileType inputType)
 {
     if (inputType.Equals(Enums.InputFileType.PipeDelimited))
     {
         return(Path.Combine(Directory.GetCurrentDirectory(), Constants.PIPE_DELIMITED_INPUT_FILE));
     }
     else if (inputType.Equals(Enums.InputFileType.CommaDelimited))
     {
         return(Path.Combine(Directory.GetCurrentDirectory(), Constants.COMMA_DELIMITED_INPUT_FILE));
     }
     else if (inputType.Equals(Enums.InputFileType.SpaceDelimited))
     {
         return(Path.Combine(Directory.GetCurrentDirectory(), Constants.SPACE_DELIMITED_INPUT_FILE));
     }
     else
     {
         return(string.Empty);
     }
 }