Exemplo n.º 1
0
        public List <StudentEntity> ReadRecords(string filePath)
        {
            try
            {
                var reader = new StreamReader(File.OpenRead(filePath));
                List <StudentEntity> students = new List <StudentEntity>();
                StudentEntity        student;

                while (!reader.EndOfStream)
                {
                    var line             = reader.ReadLine();
                    var studentDataArray = line.Split(Separator);

                    if (studentDataArray.Length == 4)
                    {
                        var stage            = studentDataArray[0];
                        var gender           = studentDataArray[2];
                        var lastModifiedDate = FieldParser.ConvertToDate(studentDataArray[3]);
                        student = new StudentEntity(stage, studentDataArray[1], gender, lastModifiedDate);
                        students.Add(student);
                    }
                }
                return(students);
            }
            catch (Exception ex)
            {
                throw new InvalidOperationException("ReadRecords:" + ex.Message + ex.StackTrace);
            }
        }
Exemplo n.º 2
0
        internal void SetFilters(List <string> csvFilters)
        {
            try
            {
                KeyValuePair <string, object> filterDefinition = new KeyValuePair <string, object>();
                _sortByColumns = new List <string>();

                foreach (var filter in csvFilters)
                {
                    var filterProps = filter.Split('=');

                    switch (filterProps[0].ToLower())
                    {
                    case "gender":
                        _sortByColumns.Add("LastUpdated|1");
                        filterDefinition = new KeyValuePair <string, object>(filterProps[0], filterProps[1]);
                        break;

                    case "stage":
                        _sortByColumns.Add("LastUpdated|1");
                        filterDefinition = new KeyValuePair <string, object>(filterProps[0], filterProps[1]);
                        break;

                    case "lastupdated":
                        _sortByColumns.Add("LastUpdated|0");
                        filterDefinition = new KeyValuePair <string, object>(filterProps[0], FieldParser.ConvertToDate(filterProps[1]));
                        break;

                    default:
                        _sortByColumns.Add("Name");
                        filterDefinition = new KeyValuePair <string, object>(filterProps[0], filterProps[1]);
                        break;
                    }

                    var filterProp = new KeyValuePair <string, object>(filterProps[0], filterProps[1]);

                    _filters.Add(filterProp);
                }
            }
            catch (Exception ex)
            {
                string errorMessage = $"Error setting filters for the list of students.";
                throw new StudentException(errorMessage, ex);
            }
        }