private void LstAnalysedPoets_CellContentClick(object sender, DataGridViewCellEventArgs e) { int strSelectedIndexNumber = Convert.ToInt32(lstAnalysedPoets.Rows[lstAnalysedPoets.CurrentCell.RowIndex].Cells[0].Value.ToString()); CurrentProcessingPoet = AnalyesdPoets.Where(current => current.Number == strSelectedIndexNumber).FirstOrDefault(); lblCurrentPoetName.Text = CurrentProcessingPoet.Number + " - " + CurrentProcessingPoet.Name + " - " + (CurrentProcessingPoet.IsAnalysed ? "Analysed" : "Not Analysed"); lstAnalysedPages.Rows.Clear(); CurrentProcessingPoet.Pages.ForEach(current => lstAnalysedPoets.Rows.Add(new string[] { current.Number.ToString() })); }
private void BtnRecordPoet_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(txtSearchLetter.Text)) { MessageBox.Show("Please Select A Search Letter First !"); return; } CurrentProcessingPoet.Analyse(txtSearchLetter.Text); AnalyesdPoets.Add(CurrentProcessingPoet); CurrentProcessingPoet = null; lblCurrentPoetName.Text = string.Empty; lstAnalysedPoets.Rows.Clear(); lstAnalysedPages.Rows.Clear(); AnalyesdPoets.ForEach(current => lstAnalysedPoets.Rows.Add(new string[] { current.Number.ToString(), current.Name, current.Pages.Count().ToString() })); }
private void BtnAnalyse_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(txtExportLocation.Text) || !txtExportLocation.Text.ToLower().Trim().EndsWith(".docx")) { MessageBox.Show("Please Enter A Valid File URL For Your Export File !"); } try { Microsoft.Office.Interop.Word.Application winword = new Microsoft.Office.Interop.Word.Application(); winword.ShowAnimation = true; winword.Visible = true; object missing = System.Reflection.Missing.Value; Microsoft.Office.Interop.Word.Document document = winword.Documents.Add(ref missing, ref missing, ref missing, ref missing); document.Paragraphs.Format.Alignment = WdParagraphAlignment.wdAlignParagraphRight; document.Paragraphs.Format.ReadingOrder = WdReadingOrder.wdReadingOrderRtl; var AllMadkhals = AnalyesdPoets.SelectMany(current => current.Madkhals).GroupBy(currnet => currnet.Text.Trim().ToLower()).ToList().OrderBy(current => current.Key).ToList(); Microsoft.Office.Interop.Word.Paragraph paraMadkhalCount = document.Content.Paragraphs.Add(ref missing); object styleHeading1Out = "Heading 1"; paraMadkhalCount.Range.set_Style(ref styleHeading1Out); paraMadkhalCount.Range.Font.Name = "B Nazanin"; paraMadkhalCount.Range.Font.SizeBi = 20; paraMadkhalCount.Range.ParagraphFormat.Alignment = WdParagraphAlignment.wdAlignParagraphRight; paraMadkhalCount.Range.ParagraphFormat.ReadingOrder = WdReadingOrder.wdReadingOrderRtl; paraMadkhalCount.Range.Text = "تعداد کل مدخل ها : " + AllMadkhals.Sum(current => current.Count()).ToString(); paraMadkhalCount.Range.InsertParagraphAfter(); foreach (var madkhalType in AllMadkhals) { Microsoft.Office.Interop.Word.Paragraph paraMadkhalType = document.Content.Paragraphs.Add(ref missing); object styleHeading1 = "Heading 1"; paraMadkhalType.Range.set_Style(ref styleHeading1); paraMadkhalType.Range.Font.Name = "B Nazanin"; paraMadkhalType.Range.Font.SizeBi = 22; paraMadkhalType.Range.ParagraphFormat.Alignment = WdParagraphAlignment.wdAlignParagraphRight; paraMadkhalType.Range.ParagraphFormat.ReadingOrder = WdReadingOrder.wdReadingOrderRtl; paraMadkhalType.Range.Text = string.Format("{0} : ({1})", madkhalType.Key, madkhalType.Count().ToString()); paraMadkhalType.Range.InsertParagraphAfter(); string strMadkhals = string.Empty; foreach (var madkhal in madkhalType) { strMadkhals += string.Format("{0} ({1}/{2}/{3}) ", madkhal.PoetPartContext, madkhal.PoetNumber, madkhal.BeatNumber, madkhal.PageNumber); strMadkhals += Environment.NewLine; } Microsoft.Office.Interop.Word.Paragraph paraMadkhal = document.Content.Paragraphs.Add(ref missing); object styleNormal = "Normal"; paraMadkhal.Range.set_Style(ref styleNormal); paraMadkhal.Range.Font.SizeBi = 14; paraMadkhal.Range.Font.Name = "B Nazanin"; paraMadkhal.Range.ParagraphFormat.Alignment = WdParagraphAlignment.wdAlignParagraphRight; paraMadkhal.Range.ParagraphFormat.ReadingOrder = WdReadingOrder.wdReadingOrderRtl; paraMadkhal.Range.Text = strMadkhals; paraMadkhal.Range.InsertParagraphAfter(); } //Save the document object filename = txtExportLocation.Text; document.SaveAs2(ref filename); document.Close(ref missing, ref missing, ref missing); document = null; winword.Quit(ref missing, ref missing, ref missing); winword = null; MessageBox.Show("Word Document created successfully !!!"); } catch (Exception ex) { MessageBox.Show(ex.Message); } }