public void WriteSheet(string spreadsheet, IList <IServerObj> servers, SheetsService sheetService) // Метод добавления данных в листы. { //string range = "'Server1'!A1:D"; foreach (var _servers in servers) { string range = null; IList <IList <Object> > valueToWrite = new List <IList <Object> >(); IList <Object> FirstLineNames = new List <Object>() { "Сервер", "База данных", "Размер в ГБ", "Дата обновления" }; valueToWrite.Add(FirstLineNames); foreach (var _DataBases in _servers.DataBases) { IList <Object> listdatabase = new List <Object>(); listdatabase.Add(_servers.NameServer); listdatabase.Add(_DataBases.name); listdatabase.Add(_DataBases.size); listdatabase.Add(_DataBases.updateDate); range = _servers.NameServer + "!A1:D"; valueToWrite.Add(listdatabase); } IList <IList <Object> > drivesInfo = drives.GetDriveFreeSize(); foreach (var drv in drivesInfo) { valueToWrite.Add(drv); } var valueRange = new ValueRange() { Values = valueToWrite }; var update = sheetService.Spreadsheets.Values.Update(valueRange, spreadsheet, range); update.ValueInputOption = SpreadsheetsResource.ValuesResource.UpdateRequest.ValueInputOptionEnum.USERENTERED; try { update.Execute(); } catch (Exception e) { Console.WriteLine("Ошибка: {0}\nНе удалось записать данные в таблицу.\nНажмите любую кнопку для закрытия программы.", e.Message); workFiles.WriteFileTxt(servers); Console.WriteLine("Данные записаны в файл: {0}, в корневой папке программы\nНажмите любую кнопку для закрытия программы", ConfigurationManager.AppSettings["PathFileTxt"]); Console.ReadKey(); Environment.Exit(1); } } }
/// <summary> /// Создает общую строку с данными серверов. /// </summary> /// <param name="servers">Передает список серверов с данными.</param> /// <returns>Строку с данными серверов.</returns> public string Createstring(IList <IServerObj> servers) { StringBuilder stringBuilder = new StringBuilder(); IList <string> FirstLineNames = new List <string>() { "Сервер", "База данных", "Размер в ГБ", "Дата обновления" }; stringBuilder.Append(SortString(FirstLineNames)); foreach (var _server in servers) { foreach (var db in _server.DataBases) { IList <string> listdb = new List <string>() { }; listdb.Add(_server.NameServer); listdb.Add(db.name); listdb.Add(db.size); listdb.Add(db.updateDate); stringBuilder.Append(SortString(listdb)); } IList <IList <Object> > DriveFreeSize = drives.GetDriveFreeSize(); IList <string> listDrive = new List <string>(); foreach (var _DriveFreeSize in DriveFreeSize) { foreach (var _collection in _DriveFreeSize) { listDrive.Add(_collection.ToString()); } } stringBuilder.Append(SortString(listDrive)); } string resul = stringBuilder.ToString(); return(resul); }