/// <summary> /// Записывание полной статьи /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button2_Click(object sender, EventArgs e) { EncyclopediaArticleType encyclopediaArticleType = new EncyclopediaArticleType() { NameArticle = "Муха - это...", NameFileWithArticle = "001.json", NameFileWithImg = new string[] { "001.jpg", "001-1.jpg", "001-2.jpg" }, Books = new string[] { "Джон Лангстафф: Лягушонок женится", "Виталий Бианки: Репортаж со стадиона Жукамо и другие лесные истории" }, MainArticleText = "" }; //GetClient().Test2("C:/Users/bonju/Desktop/study/2 курс/pi19/pi19_02/L1_WCF/Bibl2test/storage1/001", //encyclopediaArticleType); //"C:\Users\bonju\Desktop\study\2 курс\pi19\pi19_02\L1_WCF\Bibl2test\storage1\001" }
/// <summary> /// Десериализация статьи /// </summary> /// <param name="sDirectory"></param> /// <returns></returns> public EncyclopediaArticleType Load(string sFullDirectory, string sDirectory, string fileName) { JsonSerializer pSerializer = JsonSerializer.Create(new JsonSerializerSettings() { Formatting = Formatting.Indented }); using (FileStream pF = File.Open(Path.Combine(sFullDirectory, sDirectory, fileName + ".json"), FileMode.Open)) { using (TextReader pT = new StreamReader(pF)) { EncyclopediaArticleType pEncyclopediaArticlePart = pSerializer.Deserialize(pT, typeof(EncyclopediaArticleType)) as EncyclopediaArticleType; return(pEncyclopediaArticlePart); } } }
/// <summary> /// При двойном нажатии на краткую информацию (выдача целой статьи) /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void dataGridView2_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e) { try { EncyclopediaArticleType encyclopediaArticleType = GetClient().GetArticle(dataGridView1[0, dataGridView1.CurrentRow.Index].Value.ToString(), dataGridView2["NameFileFullArticle", dataGridView2.CurrentRow.Index].Value.ToString()); //получить строчку книг string allbooks = ""; foreach (var item in encyclopediaArticleType.Books) { allbooks += item + ";"; } //вывод информации об энциклопедии textBox1.Text = encyclopediaArticleType.NameArticle; richTextBox2.Text = allbooks; RTBFullArticle.Text = encyclopediaArticleType.MainArticleText; //Очистка dataGridView3.Rows.Clear(); dataGridView3.Columns.Clear(); pictureBox1.Image = null; //Для выбора, какую картинку открыть dataGridView3.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells; dataGridView3.Columns.Add("NameFileWithImg", "Было"); dataGridView3.Columns.Add("NamePhoto", "Выбор"); int y = 1; foreach (var item in encyclopediaArticleType.NameFileWithImg) { dataGridView3.Rows.Add(item, "Картинка " + y); y++; } dataGridView3.Columns["NameFileWithImg"].Visible = false; } catch { MessageBox.Show("Что-то явно пошло не по плану.", "Упс...", MessageBoxButtons.OK); } }
/// <summary> /// Сохранить статью /// </summary> /// <param name="sDirectory"></param> /// <param name="pPart"></param> public void Save(string sDirectory, EncyclopediaArticleType pPart) { Save <EncyclopediaArticleType>(sDirectory, pPart.NameFileWithArticle + ".json", pPart); }