public void Test1()
        {
            var ApplicationName   = "MyApp";
            var credentialDirPath = Environment.GetEnvironmentVariable("GoogleApiCredentials");
            var credentialPath    = credentialDirPath + "\\client_secrets.json";
            var url  = "https://docs.google.com/spreadsheets/d/1ncJ77JJJapPJpTeDpvWIsmuavStz5aXwQLs7fc89Rgo/edit#gid=0";
            var repo = new GSRepository(ApplicationName, credentialPath, url);

            repo.ChangeTable(url);
            var readed = repo.ReadCell(repo.CurrentSheetInfo.Sheets.Keys.First(), (1, 1));

            var dataToWrite = new List <List <string> >()
            {
                new List <string>()
                {
                    "11", "12"
                },
                new List <string>()
                {
                    "21", "22"
                },
                new List <string>()
                {
                    "31", "32"
                },
            };

            repo.ModifySpreadSheet(repo.CurrentSheetInfo.Sheets.Keys.First())
            .WriteRange((1, 2), dataToWrite)
            .Execute();

            var valRange = repo.ReadCellRange(repo.CurrentSheetInfo.Sheets.Keys.First(), (1, 2), (3, 4));

            for (int r = 0; r < valRange.Count; r++)
            {
                for (int c = 0; c < valRange[r].Count; c++)
                {
                    Assert.AreEqual(dataToWrite[r][c], valRange[r][c]);
                }
            }
        }
Example #2
0
        public void SetUpHeadersOnClearSheet()
        {
            var credentialDirPath = Environment.GetEnvironmentVariable(CredentialsEnvVar);
            var credentialPath    = credentialDirPath + "\\client_secrets.json";
            var repo = new GSRepository(ApplicationName, credentialPath, url);

            var headers = new List <string>()
            {
                "Преподавател", "Предмет", "Тип занятия", "Количество повторений каждого занятия",
                "Приоритеты групп, в которых назначать занятия", "Время", "Четность"
            };

            var comments = new List <string>()
            {
                "Имя преподавателя",
                "Название предмета (например Матанализ)",
                "Лекция/Семинар/КомпПрактика",
                "Количество подряд идущих занятий с той же группой",
                @"через + объединяются группы в один поток. Через запятую те группы, в которые можно назначать. В разных строках можно задавать предпочтения - чем ниже, тем менее предпочтительно.

Например:

ФИИТ-101, ФИИТ-102
ФИИТ-103

означает, что хочу вести в 101 или 102, если не получится, то 103 тоже подойдет. 104 не предлагать.",
                @"варианты в строчках, по уменьшению желаемости. Список дней недели, список номеров пар.
Например:
пн-чт, 1-3 пара
пт, 3-4 пара

означает, что желательно пару не в пятницу поставить в диапазон 1-3. Если не получится, то поставить в пятницу 3 или 4.",
                "четная/нечетная (можно не указывать)"
            };

            HeaderPatternCreator.SetUpHeaders(repo, sheetName, (5, 1), headers, comments);

            var actualHeaders = repo.ReadCellRange(sheetName, (5, 1), (5, 8))[0];