Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            var filePath = args[0];
            //TODO: Resolve dependencies with some IOC container
            IStudentService           service = new StudentService(new StudentRepository(), new ParseDataService());
            ICriteriaParser <Student> parser  = new CriteriaParser();

            service.InitializeData(filePath);
            var criteria = new Dictionary <string, string>();

            for (var i = 1; i < args.Length; i++)
            {
                var data = args[i].Split('=');
                criteria.Add(data[0], data[1]);
            }

            Func <Student, bool> parsedCriteria = parser.ParseCriteria(criteria);
            var output = service.GetFiltered(parsedCriteria).ToList();
            var sb     = new StringBuilder();

            output.ForEach(x =>
                           sb.Append(
                               String.Format("{0} {1} {2} {3}", x.Type.ToString(), x.Name, x.Gender.ToString(), x.LastModified.ToString())
                               ));
            Console.Write(sb.ToString());
        }