/// <summary> /// Тестовой метод для работы с запросами Linq /// </summary> public static void LinoConneckt() { //https://www.youtube.com/watch?v=3yb4idCg-Qs&t=6859s //https://www.youtube.com/watch?v=ySDvruLcn2I&t=1076s using (var context = new TablGoogleContext()) // экземлряр контекства для связи с бд { var table = new TablGoogle(); context.TablGoogles.Load(); //Загрузка данных из БД var temp = context.TablGoogles.Local.ToBindingList(); //выгружаем в локальный кеш данне из бд int tempCant = temp.Count; //количество элементов string tempZnach = ""; foreach (var tt in temp.Reverse()) // Выводим с помощью реверса. Сначало последние { table.Id = tt.Id; table.NameClienta = tt.NameClienta; //if (table.Id <= 20) //{ tempZnach += $"ID{table.Id},\t\n ИМЯ {table.NameClienta} \t\n "; // } } //string temp1 = temp. Console.WriteLine($"Общие количество записей {tempCant}"); Console.WriteLine(tempZnach); // this.DataContext = db.Phones.Local.ToBindingList(); } Console.ReadKey(); }
/// <summary> /// Добавление в БД гугле таблиц НЕ использовать /// </summary> public static void ConnektGoogleTabl() { using (TablGoogleContext db = new TablGoogleContext()) { // создаем два объекта User TablGoogle tablGoogle = new TablGoogle { NameClienta = "Первый клиент", PassClient = "12345" }; TablGoogle tablGoogle2 = new TablGoogle { NameClienta = "Второй клиент", PassClient = "7777" }; // User user2 = new User { Name = "Второнах", Age = 25 }; // добавляем их в бд db.TablGoogles.Add(tablGoogle); db.TablGoogles.Add(tablGoogle2); //db.Users.Add(user1); //db.Users.Add(user2); db.SaveChanges(); // сохранение действий с БД log += "Записанный в БД текущие обьекты: \t\n tablGoogle и tablGoogle2 \t\n"; Console.WriteLine("Что то записалось в БД"); } Console.WriteLine(log); Console.ReadKey(); }
//НЕ использовать public static void AddTableToSqllite(TablGoogle tablGoogle) { using (TablGoogleContext db = new TablGoogleContext()) { // создаем два объекта User TablGoogle tablGoogle1 = new TablGoogle(); tablGoogle1 = tablGoogle; // TablGoogle tablGoogle2 = new TablGoogle { NameClienta = "Второй клиент", PassClient = "7777" }; // User user2 = new User { Name = "Второнах", Age = 25 }; // добавляем их в бд db.TablGoogles.Add(tablGoogle); //db.TablGoogles.Add(tablGoogle2); //db.Users.Add(user1); //db.Users.Add(user2); db.SaveChanges(); // сохранение действий с БД // log += "Записанный в БД текущие обьекты: \t\n tablGoogle и tablGoogle2 \t\n"; // Console.WriteLine($"Что то записалось в БД{tablGoogle1}"); } // Console.WriteLine(log); // Console.ReadKey(); }
//Кнока изменить клиента private void Button6_Click(object sender, EventArgs e) { dataGridView1.Refresh(); // обновляем грид if (dataGridView1.SelectedRows.Count > 0) { using (var db2 = new TablGoogleContext()) { int index = dataGridView1.SelectedRows[0].Index; // Привязка индекса по id строки int id = 0; bool converted = Int32.TryParse(dataGridView1[0, index].Value.ToString(), out id); if (converted == false) //проверка { return; } TablGoogle tablGoogle = db2.TablGoogles.Find(id); // ищем по базе ID строки PlayerForm plForm = new PlayerForm(); // создаем форму для редактирования plForm.textBoxDatetime.Visible = true; plForm.labelDateTime.Visible = true; plForm.textBoxNameClient.Text = tablGoogle.NameClienta; plForm.textBoxPassClient.Text = tablGoogle.PassClient; plForm.textBoxTelefonClienta.Text = tablGoogle.TelefonClient; plForm.textBoxNameClient.Text = tablGoogle.NameClienta; plForm.textBoxDatetime.Text = tablGoogle.DataTimeAddTable; DialogResult result = plForm.ShowDialog(this); //включаем диалог if (result == DialogResult.Cancel) //при нажатии отмены, выходим из формы { return; } tablGoogle.NameClienta = plForm.textBoxNameClient.Text; // присваиваем текст tablGoogle.PassClient = plForm.textBoxPassClient.Text; tablGoogle.TelefonClient = plForm.textBoxTelefonClienta.Text; tablGoogle.DataTimeAddTable = DateTime.Now.ToString(); // время создания //player.Age = (int)plForm.numericUpDown1.Value; //player.Name = plForm.textBox1.Text; //player.Position = plForm.comboBox1.SelectedItem.ToString(); db2.SaveChanges(); // dataGridView1.Refresh(); // обновляем грид MessageBox.Show("Объект обновлен"); // dataGridView1.Refresh(); // обновляем грид } } dataGridView1.Refresh(); // обновляем грид }
/// <summary> /// Поиск по точному значению /// </summary> /// <param name="nameClient"></param> public static List <TablGoogle> SeachNameClient(string nameClient) { string tempLog = $"Поиск в таблице по имени клиента {nameClient} "; List <TablGoogle> lisTtablGoogles = new List <TablGoogle>(); // лист для хранения найденных элементов TablGoogle tablGoogle = new TablGoogle(); #region Поиск по "строгой" строке. //using (var db = new TablGoogleContext()) // контекст для связи с бд //{ // db.TablGoogles.Load(); // загрузка базы в локальный кэш // foreach (var tenCount in db.TablGoogles) // { // if(tenCount.NameClienta == nameClient) // { // lisTtablGoogles.Add(tenCount); // // Console.WriteLine(tenCount.NameClienta); // } // } // foreach (var listTemp in lisTtablGoogles) // { // Console.WriteLine(listTemp.NameClienta); // } //} #endregion using (var db2 = new TablGoogleContext()) { db2.TablGoogles.Load(); var name = db2.TablGoogles.Select(c => c.NameClienta).FirstOrDefault(); // Вывод первого значения с строке IQueryable <string> nameSeach = db2.TablGoogles.Select(c => c.NameClienta).Where(c => c.Contains(nameClient)); var temp = (from t in db2.TablGoogles where t.NameClienta.ToUpper().StartsWith(nameClient) select t).ToList(); //var seahs = db2.TablGoogles.Where(t => t.NameClienta.ToUpper("А").OrderBy()); Console.WriteLine($"Поиск 1{name}"); Console.WriteLine($"Поиск 2---{nameSeach}"); Console.WriteLine($"Поиск 3---{temp}"); foreach (var ss in temp) { // Console.WriteLine(ss); } return(temp.ToList()); } // Console.WriteLine("Поиск завершен...Нажмите любую кнопку"); // Console.ReadKey(); }
/// <summary> /// Удаление нужной строки по id /// </summary> /// <param name="idClienta"></param> public static void DeleteClientTablGoogle(int idClienta) { string tempLog = $"Удаленна строка под ID {idClienta}"; //Обект для доавления в БД TablGoogle adduserTable = new TablGoogle(); using (var db = new TablGoogleContext())// конткст для работы с базой данной { TablGoogle adduserTable2 = new TablGoogle(); db.TablGoogles.Load(); // загрузка текущего стостояния бд в локальный кэш adduserTable2 = db.TablGoogles.Find(idClienta); db.TablGoogles.Remove(adduserTable2); // удаление нужной строки db.SaveChanges(); // сохранение изменения в БД } }
//Кнопка добавить клиента private void Button5_Click(object sender, EventArgs e) { dataGridView1.Refresh(); // обновляем грид PlayerForm plForm = new PlayerForm(); // Создание новой формы DialogResult result = plForm.ShowDialog(this); // включение диалога string arenda = "79520302311 Арендный телефон"; if (result == DialogResult.Cancel) // если нажата кнопка отмены, то выход из формы { return; } using (var db2 = new TablGoogleContext()) { TablGoogle tablGoogle = new TablGoogle(); tablGoogle.NameClienta = plForm.textBoxNameClient.Text; // присваиваем текст tablGoogle.PassClient = plForm.textBoxPassClient.Text; tablGoogle.TelefonClient = plForm.textBoxTelefonClienta.Text; tablGoogle.DataTimeAddTable = DateTime.Now.ToString(); // время создания if (plForm.checkBoxArenda.Checked) { tablGoogle.TelefonClient += $"/t/n 79520302311 Арендный телефон"; tablGoogle.PassClient += "1234qwer или 1234Qwer "; } if (plForm.checkBoxArendaEvolaina.Checked) { tablGoogle.TelefonClient += $"\n{arenda}"; tablGoogle.PassClient += "\n1234qwer или 1234Qwer "; } db2.TablGoogles.Add(tablGoogle); // добавляем в БД новые данные db2.SaveChanges(); } MessageBox.Show("Новый объект добавлен"); }
//Кнопка удалить строку клиента private void Button7_Click(object sender, EventArgs e) { dataGridView1.Refresh(); // обновляем грид if (dataGridView1.SelectedRows.Count > 0) { MessageBox.Show("ВНИМАНИЕ!!! ОБЬЕКТ ВСЕГДА БУДЕТ УДАЛЕН ИЗ БД."); using (var db2 = new TablGoogleContext()) { int index = dataGridView1.SelectedRows[0].Index; int id = 0; bool converted = Int32.TryParse(dataGridView1[0, index].Value.ToString(), out id); if (converted == false) { return; } TablGoogle tablGoogle = db2.TablGoogles.Find(id); db2.TablGoogles.Remove(tablGoogle); db2.SaveChanges(); } MessageBox.Show("Объект удален"); } // dataGridView1.Refresh(); // обновляем грид }
/// <summary> /// Добавление новой строки в таблицу /// </summary> /// <param name="nameClient"></param> /// <param name="passClient"></param> /// <param name="telefonClient"></param> public static void AddClientTablGoogle(string nameClient, string passClient, string telefonClient) { //Обект для доавления в БД TablGoogle adduserTable = new TablGoogle() { NameClienta = nameClient, PassClient = passClient, TelefonClient = telefonClient, DataTimeAddTable = DateTime.Now.ToString() }; using (var db = new TablGoogleContext()) // конткст для работы с базой данной { db.TablGoogles.Load(); // загрузка текущего стостояния бд в локальный кэш // var resulIF = db.TablGoogles.Where(item => item.NameClienta != adduserTable.NameClienta); // db.TablGoogles.Add(adduserTable); // добавление новой строки db.SaveChanges(); // сохранение изменения в БД } }
/// <summary> /// Скачиваем данные из таблицы гугл. Тимы и пароли и запысываем в sqllite /// </summary> public static void test2() { UserCredential credential; Stopwatch watch = new Stopwatch(); //обьект для замера времени работы программы watch.Start(); using (var stream = new FileStream("credentials.json", FileMode.Open, FileAccess.Read)) { // Маркер файла.json сохраняет маркеры доступа и обновления пользователя // automatically when the authorization flow completes for the first time. string credPath = "token.json"; credential = GoogleWebAuthorizationBroker.AuthorizeAsync( GoogleClientSecrets.Load(stream).Secrets, Scopes, "user", CancellationToken.None, new FileDataStore(credPath, true)).Result; Console.WriteLine("Файл учетных данных, сохраненный: " + credPath); } // Create Google Sheets API service. var service = new SheetsService(new BaseClientService.Initializer() { HttpClientInitializer = credential, ApplicationName = ApplicationName, }); // Define request parameters. //String spreadsheetId = "1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms"; String spreadsheetId = "1H6LEiczHkmw5tYBoO9nwR_fBXZTm4QAudwQDNYuIsDo"; // String range = "Class Data!A2:E"; String range = "A2:E"; // с каких ящеек ищем SpreadsheetsResource.ValuesResource.GetRequest request = service.Spreadsheets.Values.Get(spreadsheetId, range); // Prints the names and majors of students in a sample spreadsheet: // https://docs.google.com/spreadsheets/d/1H6LEiczHkmw5tYBoO9nwR_fBXZTm4QAudwQDNYuIsDo/edit#gid=0 // https://docs.google.com/spreadsheets/d/1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms/edit ValueRange response = request.Execute(); IList <IList <Object> > values = response.Values; // получаем таблицу Console.WriteLine("Содержимое таблицы"); int countStirnTable = 0; int variableStirnTable = values.Count; var tempList = new List <string>(); string temph = ""; using (TablGoogleContext db = new TablGoogleContext()) { // создаем два объекта TablGoogle TablGoogle tablGoogle = new TablGoogle(); foreach (var row in values) { try { temph = $"Организация: {row[0]}, № телефона: {row[1]}, пароль:{row[2]}"; // Console.WriteLine("Организация: {0}, № телефона: {1}, пароль:{2}", row[0], row[1], row[2]); Console.WriteLine(temph); tempList.Add(temph); countStirnTable++; SaveFileText(temph); TablGoogle tablGoogle1 = new TablGoogle { NameClienta = row[0].ToString(), TelefonClient = row[1].ToString(), PassClient = row[2].ToString(), DataTimeAddTable = (DateTime.Now.ToString()) }; db.TablGoogles.Add(tablGoogle1); // добавление в бд // db.SaveChanges(); // выходят ошибки } catch (Exception ex) { Console.WriteLine(ex); } } //watch.Stop(); Console.WriteLine($"Завершино Всего в списке {variableStirnTable} строк! \t\nИдет добавление данных в БД \t\n Ожидайте...."); db.SaveChanges(); // сохранение действий с БД Console.WriteLine("Завершено!! Нажмите любую кнопку"); watch.Stop(); // Console.Read(); } Console.WriteLine($"Завершино Всего в списке {variableStirnTable} строк!/t/n Полученно перебором{countStirnTable}\t\n Время получения списка пользователей и добавения данных {watch.ElapsedMilliseconds} милисекунд или {watch.Elapsed.Seconds}секунд \t\n"); Console.Read(); Console.Read(); }