Всем добрый день! Новичок в C#, новичок в API  и в ООП в целом. Изучаю, изучаю, изучаю, но параллельно хотелось бы разбирать и актуальные задачи. Поэтому прошу помощи. 
А задача такая: в некоем приложении есть кнопка, по нажатию которой я могу передать в свой будущий метод в виде аргументов 
имя файла (полный путь) и 
имя листа в этом файле. 
От метода требуется: 1. запустить  aCad;
2. загрузить указанный файл;
3. сделать нужный лист активным.
Как можно реализовать такой метод?Чтобы не подумали, что я уж совсем не удосужился покопаться по форуму и пошевелить извилинками, то вот что у меня наизвилилось из хаотично блуждающих в голове представлений о реализации такой задачи:
1. Для запуска acad использовать класс Process из System.Diagnostics
            
Process myAcad = new Process();
            try
            {
                myAcad.StartInfo.UseShellExecute = false;
                myAcad.StartInfo.FileName = @"path_to_acad.exe";
                myAcad.StartInfo.CreateNoWindow = true;
                myAcad.Start();
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
 
 2. Загрузить файл в acad Database через метод 
ReadDwgFile()... Но вот тут уже неясность - как определить что процесс (acad) уже запущен и готов обработать файл, чтобы не вызвать крах?
Database db = new Database(false, true);
db.ReadDwgFile(file, FileShare.ReadWrite,false,"");
Database dbCurrent = Application.DocumentManager.MdiActiveDocument.Database;
но как понять, что в данный момент времени активный документ именно тот, что мне нужен (если открыты еще другие другие файлы, допустим)
3. Нужный лист сделать текущим - 
LayoutManager.Current.CurrentLayout="имя листа"
Как выглядит реализация такой задачи на самом деле?
P.S. Это мой первый пост, первый шаг - не судите, если что.
P.P.S. Путь длинной в 1000 ли начинается с первого шага (Лао-Цзы)