public void ConfiguraMaschera() { MasterFile mf = MasterFile.Create(); int index = 0; int selectedIndex = -1; if (cmbClienti.Items.Count != 0) { selectedIndex = cmbClienti.SelectedIndex; cmbClienti.Items.Clear(); htClienti.Clear(); } List <KeyValuePair <string, string> > myList = new List <KeyValuePair <string, string> >(); foreach (Hashtable item in mf.GetAnagrafiche()) { bool tbe = false; if (selectedCliente != "") { if (item["ID"].ToString() == selectedCliente) { myList.Add(new KeyValuePair <string, string>(item["ID"].ToString(), item["RagioneSociale"].ToString())); foreach (Hashtable item2 in mf.GetVerifiche(selectedCliente)) { if (item2["ID"].ToString() == selectedSession) { cmbData.Items.Add(item2["Data"].ToString()); cmbData.SelectedIndex = 0; htDate.Add(0, item2["ID"].ToString()); tbe = true; break; } } if (tbe) { break; } foreach (Hashtable item2 in mf.GetVigilanze(selectedCliente)) { if (item2["ID"].ToString() == selectedSession) { cmbData.Items.Add(item2["Data"].ToString()); cmbData.SelectedIndex = 0; htDate.Add(0, item2["ID"].ToString()); break; } } if (tbe) { break; } } } else { if (mf.GetVerifiche(item["ID"].ToString()).Count == 0 && mf.GetVigilanze(item["ID"].ToString()).Count == 0) { continue; } string cliente = item["RagioneSociale"].ToString(); myList.Add(new KeyValuePair <string, string>(item["ID"].ToString(), cliente)); } } myList.Sort ( delegate(KeyValuePair <string, string> firstPair, KeyValuePair <string, string> nextPair) { return(firstPair.Value.CompareTo(nextPair.Value)); } ); foreach (KeyValuePair <string, string> item in myList) { cmbClienti.Items.Add(item.Value); htClienti.Add(index, item.Key); index++; } cmbClienti.SelectedIndex = selectedIndex; string IDCliente = ((selectedCliente != "") ? selectedCliente : mf.GetClienteFissato()); foreach (DictionaryEntry item in htClienti) { if (item.Value.ToString() == IDCliente) { cmbClienti.SelectedIndex = Convert.ToInt32(item.Key.ToString()); } } }
private void buttonStampa_Click(object sender, RoutedEventArgs e) { //controllo selezione clienti if (cmbClienti.SelectedIndex == -1) { MessageBox.Show("selezionare un cliente"); return; } if (cmbData.SelectedIndex == -1) { MessageBox.Show("selezionare una sessione"); return; } if (rdbVerbale.IsChecked == false && rdbMemorandum.IsChecked == false) { MessageBox.Show("selezionare verbale o memorandum"); return; } if (rdbDescrittiva.IsChecked != true && rdbCompleta.IsChecked != true) { MessageBox.Show("Scegliere il tipo di stampa"); return; } //Process wait - START //ProgressWindow pw = new ProgressWindow(); MasterFile mf = MasterFile.Create(); string IDCliente = htClienti[cmbClienti.SelectedIndex].ToString(); this.selectedCliente = IDCliente; string anno = cmbData.SelectedValue.ToString().Split('/')[2]; Hashtable cliente = mf.GetAnagrafica(Convert.ToInt32(IDCliente)); XmlDataProviderManager _t = null; Hashtable valueshere = new Hashtable(); //WordLib wl = new WordLib(); RTFLib wl = new RTFLib(); //wl.Verbali = true; #region Dati da revisione //XmlDataProviderManager _y = null; string FileRevisione = mf.GetRevisioneFromEsercizio(IDCliente, anno); string RagioneSociale = "Dato Mancante: Compilare Carta di Lavoro 2.1.1"; string Indirizzo = ""; string REA = ""; string CapitaleSociale = "Dato Mancante: Compilare Carta di Lavoro 2.1.5"; string ids = ""; foreach (Hashtable item in mf.GetVerifiche(IDCliente)) { if (cmbData.SelectedValue.ToString() == (item["Data"].ToString())) { ids = item["ID"].ToString(); } } this.selectedSession = ids; cBusinessObjects.idcliente = int.Parse(IDCliente); RagioneSociale = cBusinessObjects.GetRagioneSociale(); Indirizzo = cBusinessObjects.GetIndirizzo(); REA = cBusinessObjects.GetREA(); CapitaleSociale = cBusinessObjects.GetCapitaleSociale(); #endregion wl.Watermark = false; wl.TabelleSenzaRigheVuote = true; wl.SenzaStampareTitoli = true; wl.TitoloVerbale = false; if (rdbDescrittiva.IsChecked == true) { wl.StampaDescrittiva = true; } wl.TemplateFileCompletePath = App.AppTemplateStampaNoLogo; wl.Open(new Hashtable(), cliente["RagioneSociale"].ToString(), cliente["CodiceFiscale"].ToString(), cmbData.SelectedValue.ToString(), "", true, true, IDCliente); if (rdbVerbale.IsChecked == true) { //if ( chk4.IsChecked == false && Chk5.IsChecked == false ) //{ // MessageBox.Show( "selezionare almeno una tra l'area 4 o 5" ); // pw.Close(); // return; //} //if ( chk4.IsChecked == true) //{ string partial_rtf_text = ""; if (rdbMemorandum.IsChecked == false) { foreach (Hashtable item in mf.GetVerifiche(IDCliente)) { if (cmbData.SelectedValue.ToString() == (item["Data"].ToString())) { valueshere = item; _t = new XmlDataProviderManager(App.AppDataDataFolder + "\\" + item["File"].ToString()); } } bool notfoundv = false; if (valueshere.Count == 0) { notfoundv = true; } else { valueshere.Add("PeriodoPianificato", ""); DateTime dti_o = Convert.ToDateTime(valueshere["Data"]); foreach (Hashtable item in mf.GetPianificazioniVerifiche(IDCliente)) { DateTime dti = Convert.ToDateTime(item["DataInizio"]); DateTime dtf = Convert.ToDateTime(item["DataFine"]); if (dti_o.CompareTo(dti) > 0 && dti_o.CompareTo(dtf) < 0) { valueshere["PeriodoPianificato"] = item["DataInizio"] + " - " + item["DataFine"]; break; } } partial_rtf_text = "\\pard\\keepn\\f0 "; string titolohere = "VERBALE DELLA VERIFICA PERIODICA DEL "; try { //if (_t.Document.SelectSingleNode("/Tree//Node[@ID='614']/Sessioni/Sessione[@Selected='#AA82BDE4']").Attributes["Stato"].Value == "2" || _t.Document.SelectSingleNode("/Tree//Node[@ID='615']/Sessioni/Sessione[@Selected='#AA82BDE4']").Attributes["Stato"].Value == "2" || _t.Document.SelectSingleNode("/Tree//Node[@ID='616']/Sessioni/Sessione[@Selected='#AA82BDE4']").Attributes["Stato"].Value == "2" || _t.Document.SelectSingleNode("/Tree//Node[@ID='617']/Sessioni/Sessione[@Selected='#AA82BDE4']").Attributes["Stato"].Value == "2" || _t.Document.SelectSingleNode("/Tree//Node[@ID='618']/Sessioni/Sessione[@Selected='#AA82BDE4']").Attributes["Stato"].Value == "2") //{ // titolohere = "VERBALE DI INSEDIAMENTO DEL "; //} XmlNode node6; string selection, strNode; int i; selection = "/Tree//Node[@ID='<idnode>']/Sessioni/Sessione[@Selected='#AA82BDE4']"; for (i = 0; i < 5; i++) { strNode = string.Format("{0}", 614 + i); strNode = selection.Replace("<idnode>", strNode); node6 = _t.Document.SelectSingleNode(strNode); if (node6 == null) { continue; } if (node6.Attributes["Stato"].Value == "2") { titolohere = "VERBALE DI INSEDIAMENTO DEL "; break; } } } catch (Exception ex) { string log = ex.Message; } wl.SetIntestazione(RagioneSociale, Indirizzo, CapitaleSociale, REA, titolohere, valueshere); partial_rtf_text += "\\trowd\\cellx9900 \\fs24 \\qc\\b ATTIVITA' DI CONTROLLO CONTABILE \\b0\\cell\\row"; string TestoHere = "L'organo di revisione procede alla verifica secondo la previsione dell'art.14, primo comma, lettera b), del D. Lgs. 27 Gennaio 2010 n° 39, in conformità al Principio di revisione SA Italia 250B."; partial_rtf_text += "\\trowd\\cellx9900 \\qj " + TestoHere + " \\cell\\row"; TestoHere = "Per lo svolgimento delle attività di revisione e controllo viene utilizzata una procedura informatica che produce carte di lavoro, nelle quali vengono inseriti i dati tabellari raccolti nel corso della sessione, i commenti e le osservazioni annotati, nonché vengono allegati documenti in qualsiasi formato immateriale."; partial_rtf_text += "\\trowd\\cellx9900 \\qj " + TestoHere + " \\cell\\row"; bool esistepianificazione = false; ArrayList al = mf.GetPianificazioniVerifiche(IDCliente); foreach (Hashtable itemHT in al) { string filedata = App.AppDataDataFolder + "\\" + itemHT["FileData"].ToString(); //if ((new FileInfo(filedata)).Exists) //{ // XmlDataProviderManager ALXTPP = new XmlDataProviderManager(filedata); // foreach (XmlNode itemXPP in ALXTPP.Document.SelectNodes("//Dato[@ID=\"100013\"]/Valore/Pianificazione")) // { // if (itemXPP.Attributes["Data"].Value == cmbData.SelectedValue.ToString()) // { // esistepianificazione = true; // break; // } // } //} XmlDataProviderManager ALXTPP = new XmlDataProviderManager(filedata); if (ALXTPP.Document != null) { foreach (XmlNode itemXPP in ALXTPP.Document.SelectNodes("//Dato[@ID=\"100013\"]/Valore/Pianificazione")) { if (itemXPP.Attributes["Data"].Value == cmbData.SelectedValue.ToString()) { esistepianificazione = true; break; } } } if (esistepianificazione == true) { break; } } if (esistepianificazione == true) { //Inserisco il testo per la pianificazione TestoHere = "L'attività di controllo è stata pianificata con la carta di lavoro denominata Pianificazione; la sessione avviata rientra fra quelle pianificate."; partial_rtf_text += "\\trowd\\cellx9900 \\qj " + TestoHere + " \\line \\cell\\row"; } if (rdbDescrittiva.IsChecked == true) { TestoHere = "Per economia di lavoro nel presente verbale verrà dato conto delle carte di lavoro utilizzate dalle quali verranno estrapolati le sole osservazioni e i commenti; per i dati raccolti ed inseriti anche in forma tabellare si farà riferimento alle carte di lavoro, conservate con modalità informatica, che si intendono parte integrante del presente verbale. Parimenti i documenti raccolti vengono associati alle carte di lavoro e conservati in modalità informatiche."; partial_rtf_text += "\\trowd\\cellx9900 \\qj " + TestoHere + " \\line \\cell\\row"; } TestoHere = "Vengono eseguite le seguenti verifiche: \\line "; partial_rtf_text += "\\trowd\\cellx9900 \\qj " + TestoHere + " \\cell\\row"; // partial_rtf_text += "\\par\n"; wl.InsertRtf(partial_rtf_text); printsingle(cliente, _t, (Convert.ToInt32(App.TipoFile.Verifica)).ToString(), wl, valueshere["ID"].ToString(), IDCliente, "", valueshere["FileData"].ToString()); } valueshere.Clear(); foreach (Hashtable item in mf.GetVigilanze(IDCliente)) { if (cmbData.SelectedValue.ToString() == (item["Data"].ToString())) { valueshere = item; _t = new XmlDataProviderManager(App.AppDataDataFolder + "\\" + item["File"].ToString()); } } if (valueshere.Count > 0) { if (notfoundv == false) { partial_rtf_text = "\\pard\\keepn\\f0 "; partial_rtf_text += "\\trowd\\cellx9900 \\fs24 \\qc\\b ATTIVITA' DI VIGILANZA \\b0\\cell\\row"; string TestoHere = "L’organo di controllo di cui agli artt. 2397 e seguenti Cod. Civ. procede alla verifica prescritta dall'articolo 2404 Cod. Civ.; l'attività da svolgere concernerà i doveri indicati nel primo comma dell'articolo 2403 Cod. Civ., esercitando i poteri di cui all'art. 2404 bis Cod. Civ."; partial_rtf_text += "\\trowd\\cellx9900 \\qj " + TestoHere + " \\cell\\row"; partial_rtf_text += "\\trowd\\cellx9900 \\qj \\line \\cell\\row"; partial_rtf_text += "\n"; } else { string titolohere2 = "VERBALE DELLA VERIFICA DEL "; try { if (_t.Document.SelectSingleNode("/Tree//Node[@ID='614']/Sessioni/Sessione[@Selected='#AA82BDE4']").Attributes["Stato"].Value == "2") { titolohere2 = "VERBALE DI INSEDIAMENTO DEL "; } } catch (Exception ex) { string log = ex.Message; } wl.SetIntestazione(RagioneSociale, Indirizzo, CapitaleSociale, REA, titolohere2, valueshere); partial_rtf_text += "\\trowd\\cellx9900 \\fs24 \\qc\\b ATTIVITA' DI VIGILANZA \\b0\\cell\\row"; string TestoHere = "L’organo di controllo di cui agli artt. 2397 e seguenti Cod. Civ. procede alla verifica prescritta dall'articolo 2404 Cod. Civ.; l'attività da svolgere concernerà i doveri indicati nel primo comma dell'articolo 2403 Cod. Civ., esercitando i poteri di cui all'art. 2404 bis Cod. Civ."; partial_rtf_text += "\\trowd\\cellx9900 \\qj " + TestoHere + " \\cell\\row"; partial_rtf_text += "\\trowd\\cellx9900 \\qj \\line \\cell\\row"; partial_rtf_text += "\n"; } wl.InsertRtf(partial_rtf_text); printsingle(cliente, _t, (Convert.ToInt32(App.TipoFile.Vigilanza)).ToString(), wl, valueshere["ID"].ToString(), IDCliente, "", valueshere["FileData"].ToString()); } else { MessageBox.Show("Verifica per attività di vigilanza non trovata"); } } else { foreach (Hashtable item in mf.GetVigilanze(IDCliente)) { if (cmbData.SelectedValue.ToString() == (item["Data"].ToString())) { valueshere = item; _t = new XmlDataProviderManager(App.AppDataDataFolder + "\\" + item["File"].ToString()); } } if (valueshere.Count > 0) { valueshere.Add("PeriodoPianificato", ""); DateTime dti_o = Convert.ToDateTime(valueshere["Data"]); foreach (Hashtable item in mf.GetPianificazioniVigilanze(IDCliente)) { DateTime dti = Convert.ToDateTime(item["DataInizio"]); DateTime dtf = Convert.ToDateTime(item["DataFine"]); if (dti_o.CompareTo(dti) > 0 && dti_o.CompareTo(dtf) < 0) { valueshere["PeriodoPianificato"] = item["DataInizio"] + " - " + item["DataFine"]; break; } } partial_rtf_text = "\\pard\\keepn\\f0 "; if (valueshere.Count == 0) { MessageBox.Show("Verifica per attività di vigilanza non trovata"); } else { string titolohere3 = "VERBALE DELLA VERIFICA DEL "; try { if (_t.Document.SelectSingleNode("/Tree//Node[@ID='614']/Sessioni/Sessione[@Selected='#AA82BDE4']").Attributes["Stato"].Value == "2") { titolohere3 = "VERBALE DI INSEDIAMENTO DEL "; } } catch (Exception ex) { string log = ex.Message; } wl.SetIntestazione(RagioneSociale, Indirizzo, CapitaleSociale, REA, titolohere3, valueshere); partial_rtf_text += "\\trowd\\cellx9900 \\fs24 \\qc\\b ATTIVITA' DI VIGILANZA \\b0\\cell\\row"; string TestoHere = "L’organo di controllo di cui agli artt. 2397 e seguenti Cod. Civ. procede alla verifica prescritta dall'articolo 2404 Cod. Civ.; l'attività da svolgere concernerà i doveri indicati nel primo comma dell'articolo 2403 Cod. Civ., esercitando i poteri di cui all'art. 2404 bis Cod. Civ."; partial_rtf_text += "\\trowd\\cellx9900 \\qj " + TestoHere + " \\cell\\row"; partial_rtf_text += "\\trowd\\cellx9900 \\qj \\line \\cell\\row"; bool esistepianificazione = false; ArrayList al = mf.GetPianificazioniVigilanze(IDCliente); foreach (Hashtable itemHT in al) { string filedata = App.AppDataDataFolder + "\\" + itemHT["FileData"].ToString(); if ((new FileInfo(filedata)).Exists) { XmlDataProviderManager ALXTPP = new XmlDataProviderManager(filedata); foreach (XmlNode itemXPP in ALXTPP.Document.SelectNodes("//Dato[@ID=\"100003\"]/Valore/Pianificazione")) { if (itemXPP.Attributes["Data"].Value == cmbData.SelectedValue.ToString()) { esistepianificazione = true; break; } } } if (esistepianificazione == true) { break; } } //partial_rtf_text += "\\trowd\\cellx9900 \\qj " + TestoHere + " \\cell\\row"; TestoHere = "Vengono eseguite le seguenti verifiche: \\line "; partial_rtf_text += "\\trowd\\cellx9900 \\qj " + TestoHere + " \\cell\\row"; // partial_rtf_text += "\\par\n"; wl.InsertRtf(partial_rtf_text); printsingle(cliente, _t, (Convert.ToInt32(App.TipoFile.Vigilanza)).ToString(), wl, valueshere["ID"].ToString(), IDCliente, "", valueshere["FileData"].ToString()); } } #region memorandum contemporaneo RTFLib wl2 = new RTFLib(); wl2.Watermark = false; wl2.TabelleSenzaRigheVuote = true; wl2.SenzaStampareTitoli = true; wl2.TitoloVerbale = false; if (rdbDescrittiva.IsChecked == true) { wl2.StampaDescrittiva = true; } wl2.TemplateFileCompletePath = App.AppTemplateStampaNoLogo; wl2.Open(new Hashtable(), cliente["RagioneSociale"].ToString(), cliente["CodiceFiscale"].ToString(), cmbData.SelectedValue.ToString(), "", true, true, IDCliente); foreach (Hashtable item in mf.GetVerifiche(IDCliente)) { if (cmbData.SelectedValue.ToString() == (item["Data"].ToString())) { valueshere = item; _t = new XmlDataProviderManager(App.AppDataDataFolder + "\\" + item["File"].ToString()); } } if (!valueshere.Contains("PeriodoPianificato")) { valueshere.Add("PeriodoPianificato", ""); } DateTime dti_o2 = Convert.ToDateTime(valueshere["Data"]); foreach (Hashtable item in mf.GetPianificazioniVerifiche(IDCliente)) { DateTime dti = Convert.ToDateTime(item["DataInizio"]); DateTime dtf = Convert.ToDateTime(item["DataFine"]); if (dti_o2.CompareTo(dti) > 0 && dti_o2.CompareTo(dtf) < 0) { valueshere["PeriodoPianificato"] = item["DataInizio"] + " - " + item["DataFine"]; break; } } if (valueshere.Count == 0) { MessageBox.Show("Verifica per controllo contabile non trovata"); } else { wl2.SetIntestazione(RagioneSociale, Indirizzo, CapitaleSociale, REA, "MEMORANDUM DELLA VERIFICA PERIODICA DEL ", valueshere); string partial_rtf_text2 = "\\pard\\keepn\\f0 "; partial_rtf_text2 += "\\trowd\\cellx9900 \\fs24 \\qc\\b ATTIVITA' DI CONTROLLO CONTABILE \\b0\\cell\\row"; string TestoHere2 = "L'organo di revisione procede alla verifica secondo la previsione dell'art.14, primo comma, lettera b), del D. Lgs. 27 Gennaio 2010 n° 39, in conformità al Principio di revisione SA Italia 250B."; partial_rtf_text2 += "\\trowd\\cellx9900 \\qj " + TestoHere2 + " \\cell\\row"; TestoHere2 = "Per lo svolgimento delle attività di revisione e controllo viene utilizzata una procedura informatica che produce carte di lavoro, nelle quali vengono inseriti i dati tabellari raccolti nel corso della sessione, i commenti e le osservazioni annotati, nonché vengono allegati documenti in qualsiasi formato immateriale."; partial_rtf_text2 += "\\trowd\\cellx9900 \\qj " + TestoHere2 + " \\cell\\row"; bool esistepianificazione2 = false; ArrayList al2 = mf.GetPianificazioniVerifiche(IDCliente); foreach (Hashtable itemHT in al2) { string filedata = App.AppDataDataFolder + "\\" + itemHT["FileData"].ToString(); if ((new FileInfo(filedata)).Exists) { XmlDataProviderManager ALXTPP = new XmlDataProviderManager(filedata); foreach (XmlNode itemXPP in ALXTPP.Document.SelectNodes("//Dato[@ID=\"100013\"]/Valore/Pianificazione")) { if (itemXPP.Attributes["Data"].Value == cmbData.SelectedValue.ToString()) { esistepianificazione2 = true; break; } } } if (esistepianificazione2 == true) { break; } } if (esistepianificazione2 == true) { //Inserisco il testo per la pianificazione TestoHere2 = "L'attività di controllo è stata pianificata con la carta di lavoro denominata Pianificazione; la sessione avviata rientra fra quelle pianificate."; partial_rtf_text2 += "\\trowd\\cellx9900 \\qj " + TestoHere2 + " \\line \\cell\\row"; } if (rdbDescrittiva.IsChecked == true) { TestoHere2 = "Per economia di lavoro nel presente memorandum verrà dato conto delle carte di lavoro utilizzate dalle quali verranno estrapolati le sole osservazioni e i commenti; per i dati raccolti ed inseriti anche in forma tabellare si farà riferimento alle carte di lavoro, conservate con modalità informatica, che si intendono parte integrante del presente verbale. Parimenti i documenti raccolti vengono associati alle carte di lavoro e conservati in modalità informatiche."; partial_rtf_text2 += "\\trowd\\cellx9900 \\qj " + TestoHere2 + " \\line \\cell\\row"; } TestoHere2 = "Vengono eseguite le seguenti verifiche: \\line "; partial_rtf_text2 += "\\trowd\\cellx9900 \\qj " + TestoHere2 + " \\cell\\row"; // partial_rtf_text2 += "\\par\n"; wl2.InsertRtf(partial_rtf_text2); printsingle(cliente, _t, (Convert.ToInt32(App.TipoFile.Verifica)).ToString(), wl2, valueshere["ID"].ToString(), IDCliente, "", valueshere["FileData"].ToString()); } wl2.LastParagraph(valueshere); wl2.SetFilename(App.AppTempFolder + "\\" + cliente["RagioneSociale"].ToString() + "_Memorandum_" + cmbData.SelectedValue.ToString().Replace("/", "")); wl2.Save(""); wl2.Close(); #endregion } } else if (rdbMemorandum.IsChecked == true) { foreach (Hashtable item in mf.GetVerifiche(IDCliente)) { if (cmbData.SelectedValue.ToString() == (item["Data"].ToString())) { valueshere = item; _t = new XmlDataProviderManager(App.AppDataDataFolder + "\\" + item["File"].ToString()); } } valueshere.Add("PeriodoPianificato", ""); DateTime dti_o = Convert.ToDateTime(valueshere["Data"]); foreach (Hashtable item in mf.GetPianificazioniVerifiche(IDCliente)) { DateTime dti = Convert.ToDateTime(item["DataInizio"]); DateTime dtf = Convert.ToDateTime(item["DataFine"]); if (dti_o.CompareTo(dti) > 0 && dti_o.CompareTo(dtf) < 0) { valueshere["PeriodoPianificato"] = item["DataInizio"] + " - " + item["DataFine"]; break; } } if (valueshere.Count == 0) { MessageBox.Show("Verifica per controllo contabile non trovata"); } else { wl.SetIntestazione(RagioneSociale, Indirizzo, CapitaleSociale, REA, "MEMORANDUM DELLA VERIFICA PERIODICA DEL ", valueshere); string partial_rtf_text = "\\pard\\keepn\\f0 "; partial_rtf_text += "\\trowd\\cellx9900 \\fs24 \\qc\\b ATTIVITA' DI CONTROLLO CONTABILE \\b0\\cell\\row"; string TestoHere = "L'organo di revisione procede alla verifica secondo la previsione dell'art.14, primo comma, lettera b), del D. Lgs. 27 Gennaio 2010 n° 39, in conformità al Principio di revisione SA Italia 250B."; partial_rtf_text += "\\trowd\\cellx9900 \\qj " + TestoHere + " \\cell\\row"; TestoHere = "Per lo svolgimento delle attività di revisione e controllo viene utilizzata una procedura informatica che produce carte di lavoro, nelle quali vengono inseriti i dati tabellari raccolti nel corso della sessione, i commenti e le osservazioni annotati, nonché vengono allegati documenti in qualsiasi formato immateriale."; partial_rtf_text += "\\trowd\\cellx9900 \\qj " + TestoHere + " \\cell\\row"; bool esistepianificazione = false; ArrayList al = mf.GetPianificazioniVerifiche(IDCliente); foreach (Hashtable itemHT in al) { string filedata = App.AppDataDataFolder + "\\" + itemHT["FileData"].ToString(); if ((new FileInfo(filedata)).Exists) { XmlDataProviderManager ALXTPP = new XmlDataProviderManager(filedata); foreach (XmlNode itemXPP in ALXTPP.Document.SelectNodes("//Dato[@ID=\"100013\"]/Valore/Pianificazione")) { if (itemXPP.Attributes["Data"].Value == cmbData.SelectedValue.ToString()) { esistepianificazione = true; break; } } } if (esistepianificazione == true) { break; } } if (esistepianificazione == true) { //Inserisco il testo per la pianificazione TestoHere = "L'attività di controllo è stata pianificata con la carta di lavoro denominata Pianificazione; la sessione avviata rientra fra quelle pianificate."; partial_rtf_text += "\\trowd\\cellx9900 \\qj " + TestoHere + " \\line \\cell\\row"; } if (rdbDescrittiva.IsChecked == true) { TestoHere = "Per economia di lavoro nel presente memorandum verrà dato conto delle carte di lavoro utilizzate dalle quali verranno estrapolati le sole osservazioni e i commenti; per i dati raccolti ed inseriti anche in forma tabellare si farà riferimento alle carte di lavoro, conservate con modalità informatica, che si intendono parte integrante del presente verbale. Parimenti i documenti raccolti vengono associati alle carte di lavoro e conservati in modalità informatiche."; partial_rtf_text += "\\trowd\\cellx9900 \\qj " + TestoHere + " \\line \\cell\\row"; } TestoHere = "Vengono eseguite le seguenti verifiche: \\line "; partial_rtf_text += "\\trowd\\cellx9900 \\qj " + TestoHere + " \\cell\\row"; // partial_rtf_text += "\\par\n"; wl.InsertRtf(partial_rtf_text); printsingle(cliente, _t, (Convert.ToInt32(App.TipoFile.Verifica)).ToString(), wl, valueshere["ID"].ToString(), IDCliente, "", valueshere["FileData"].ToString()); } } else { //pw.Close(); return; } wl.LastParagraph(valueshere); string str; str = App.AppTempFolder + "\\" + cliente["RagioneSociale"].ToString() + "_VerbaleVerificaPeriodica_" + cmbData.SelectedValue.ToString().Replace("/", ""); str = str.Replace("*", "_"); wl.SetFilename(str); wl.Save(""); wl.Close(); //Process wait - STOP //pw.Close(); }
private void functionCmbClientiChanged(ComboBox cmb) { if (selectedCliente != "") { return; } cmbData.SelectedIndex = -1; if (cmb.SelectedIndex != -1) { try { string IDCliente = htClienti[cmb.SelectedIndex].ToString(); OldSelectedCmbClienti = Convert.ToInt32(IDCliente); MasterFile mf = MasterFile.Create(); int index = 0; htDate.Clear(); cmbData.Items.Clear(); List <KeyValuePair <string, string> > myList = new List <KeyValuePair <string, string> >(); ArrayList alreadydone = new ArrayList(); foreach (Hashtable item in mf.GetVerifiche(IDCliente)) { myList.Add(new KeyValuePair <string, string>(item["ID"].ToString(), (item["Data"].ToString()))); alreadydone.Add((item["Data"].ToString())); } foreach (Hashtable item in mf.GetVigilanze(IDCliente)) { if (!alreadydone.Contains((item["Data"].ToString()))) { myList.Add(new KeyValuePair <string, string>(item["ID"].ToString(), (item["Data"].ToString()))); alreadydone.Add((item["Data"].ToString())); } } myList.Sort ( delegate(KeyValuePair <string, string> firstPair, KeyValuePair <string, string> nextPair) { try { return(Convert.ToDateTime(nextPair.Value).CompareTo(Convert.ToDateTime(firstPair.Value))); //return nextPair.Value.ToString().CompareTo(firstPair.Value.ToString()); } catch (Exception ex) { string log = ex.Message; return(1); } } ); foreach (KeyValuePair <string, string> item in myList) { cmbData.Items.Add(item.Value); htDate.Add(index, item.Key); index++; } } catch (Exception ex) { string log = ex.Message; cmbData.IsEnabled = false; } } }
//----------------------------------------------------------------------------+ // Load | //----------------------------------------------------------------------------+ public void Load() { MasterFile mf = MasterFile.Create(); int index = 0; ArrayList al = new ArrayList(); List <KeyValuePair <string, string> > myList = new List <KeyValuePair <string, string> >(); switch ((App.TipoFile)(System.Convert.ToInt32(Tree))) { case App.TipoFile.Revisione: al = mf.GetRevisioni(Cliente); foreach (Hashtable item in al) { if (item["ID"].ToString() != Sessione) { myList.Add(new KeyValuePair <string, string>( item["ID"].ToString(), item["Data"].ToString().Replace("01/01/", ""))); } } break; case App.TipoFile.PianificazioniVerifica: al = mf.GetPianificazioniVerifiche(Cliente); foreach (Hashtable item in al) { if (item["ID"].ToString() != Sessione) { myList.Add(new KeyValuePair <string, string>( item["ID"].ToString(), item["DataInizio"].ToString() + " - " + item["DataFine"].ToString())); } } break; case App.TipoFile.PianificazioniVigilanza: al = mf.GetPianificazioniVigilanze(Cliente); foreach (Hashtable item in al) { if (item["ID"].ToString() != Sessione) { myList.Add(new KeyValuePair <string, string>( item["ID"].ToString(), item["DataInizio"].ToString() + " - " + item["DataFine"].ToString())); } } break; case App.TipoFile.Verifica: al = mf.GetVerifiche(Cliente); foreach (Hashtable item in al) { if (item["ID"].ToString() != Sessione) { myList.Add(new KeyValuePair <string, string>( item["ID"].ToString(), item["Data"].ToString())); } } break; case App.TipoFile.Vigilanza: al = mf.GetVigilanze(Cliente); foreach (Hashtable item in al) { if (item["ID"].ToString() != Sessione) { myList.Add(new KeyValuePair <string, string>( item["ID"].ToString(), item["Data"].ToString())); } } break; case App.TipoFile.Incarico: al = mf.GetIncarichi(Cliente); foreach (Hashtable item in al) { if (item["ID"].ToString() != Sessione) { myList.Add(new KeyValuePair <string, string>( item["ID"].ToString(), item["DataNomina"].ToString())); } } break; case App.TipoFile.IncaricoCS: al = mf.GetIncarichi(Cliente, "CS"); foreach (Hashtable item in al) { if (item["ID"].ToString() != Sessione) { myList.Add(new KeyValuePair <string, string>( item["ID"].ToString(), item["DataNomina"].ToString())); } } break; case App.TipoFile.IncaricoSU: al = mf.GetIncarichi(Cliente, "SU"); foreach (Hashtable item in al) { if (item["ID"].ToString() != Sessione) { myList.Add(new KeyValuePair <string, string>( item["ID"].ToString(), item["DataNomina"].ToString())); } } break; case App.TipoFile.IncaricoREV: al = mf.GetIncarichi(Cliente, "REV"); foreach (Hashtable item in al) { if (item["ID"].ToString() != Sessione) { myList.Add(new KeyValuePair <string, string>( item["ID"].ToString(), item["DataNomina"].ToString())); } } break; case App.TipoFile.ISQC: al = mf.GetISQCs(Cliente); foreach (Hashtable item in al) { if (item["ID"].ToString() != Sessione) { myList.Add(new KeyValuePair <string, string>( item["ID"].ToString(), item["DataNomina"].ToString())); } } break; case App.TipoFile.Bilancio: al = mf.GetBilanci(Cliente); foreach (Hashtable item in al) { if (item["ID"].ToString() != Sessione) { myList.Add(new KeyValuePair <string, string>( item["ID"].ToString(), item["Data"].ToString().Replace("01/01/", ""))); } } break; case App.TipoFile.Conclusione: al = mf.GetConclusioni(Cliente); foreach (Hashtable item in al) { if (item["ID"].ToString() != Sessione) { myList.Add(new KeyValuePair <string, string>( item["ID"].ToString(), item["Data"].ToString().Replace("01/01/", ""))); } } break; case App.TipoFile.Licenza: case App.TipoFile.Master: case App.TipoFile.Info: case App.TipoFile.Messagi: case App.TipoFile.ImportExport: case App.TipoFile.ImportTemplate: case App.TipoFile.BackUp: case App.TipoFile.Formulario: case App.TipoFile.ModellPredefiniti: case App.TipoFile.DocumentiAssociati: default: base.Close(); break; } // switch myList.Sort( delegate(KeyValuePair <string, string> firstPair, KeyValuePair <string, string> nextPair) { return(Convert.ToDateTime(((firstPair.Value.Contains(' ')) ? firstPair.Value.Split(' ')[0] : ((firstPair.Value.Length == 4) ? "01/01/" + firstPair.Value : firstPair.Value))).CompareTo( Convert.ToDateTime(((firstPair.Value.Contains(' ')) ? firstPair.Value.Split(' ')[0] :((nextPair.Value.Length == 4) ? "01/01/" + nextPair.Value : nextPair.Value))))); }); foreach (KeyValuePair <string, string> item in myList) { ht.Add(index++, item.Key); lstSessioni.Items.Add(item.Value); } }
//----------------------------------------------------------------------------+ // LoadTreeSource | //----------------------------------------------------------------------------+ public void LoadTreeSource() { if (Data == "") { Data = DateTime.Now.ToShortDateString(); } ArrayList pianificatehere = new ArrayList(); txtData.Text = Data; RevisoftApplication.XmlManager x = new XmlManager(); x.TipoCodifica = RevisoftApplication.XmlManager.TipologiaCodifica.Normale; MasterFile mf = MasterFile.Create(); ArrayList files = new ArrayList(); switch (TipoAttivita) { case App.TipoAttivita.Incarico: SelectedTreeSource = App.AppTemplateTreeIncarico; files = mf.GetIncarichi(IDCliente); break; case App.TipoAttivita.ISQC: SelectedTreeSource = App.AppTemplateTreeISQC; files = mf.GetISQCs(IDCliente); break; case App.TipoAttivita.Revisione: SelectedTreeSource = App.AppTemplateTreeRevisione; files = mf.GetRevisioni(IDCliente); break; case App.TipoAttivita.Bilancio: SelectedTreeSource = App.AppTemplateTreeBilancio; files = mf.GetBilanci(IDCliente); break; case App.TipoAttivita.Conclusione: SelectedTreeSource = App.AppTemplateTreeConclusione; files = mf.GetConclusioni(IDCliente); break; case App.TipoAttivita.Verifica: files = mf.GetVerifiche(IDCliente); SelectedTreeSource = App.AppTemplateTreeVerifica; ArrayList al = mf.GetPianificazioniVerifiche(IDCliente); foreach (Hashtable itemHT in al) { ALXTPP.Add(itemHT["ID"].ToString()); } break; case App.TipoAttivita.Vigilanza: files = mf.GetVigilanze(IDCliente); SelectedTreeSource = App.AppTemplateTreeVigilanza; ArrayList al2 = mf.GetPianificazioniVigilanze(IDCliente); foreach (Hashtable itemHT in al2) { ALXTPP.Add(itemHT["ID"].ToString()); } break; default: return; } if (files.Count > 0) { string maxID = "0", id; DateTime lastdate = Convert.ToDateTime("01/01/1900"); string tobeused = ""; foreach (Hashtable itemHT in files) { if (itemHT.Contains("ID")) { id = itemHT["ID"].ToString(); if (Convert.ToInt32(id) > Convert.ToInt32(maxID)) { maxID = id; tobeused = itemHT["File"].ToString(); } } } _xTXP = new XmlDataProviderManager(tobeused); TreeXmlProvider.Document = x.LoadEncodedFile(tobeused); } else { _xTXP = new XmlDataProviderManager(SelectedTreeSource); TreeXmlProvider.Document = x.LoadEncodedFile(SelectedTreeSource); } if (firsttime) { firsttime = false; foreach (XmlNode item in _xTXP.Document.SelectNodes("//Node")) { if (item.Attributes["WidthNota"] == null) { XmlAttribute attr = _xTXP.Document.CreateAttribute("WidthNota"); item.Attributes.Append(attr); } if (item.SelectNodes("Node").Count > 0) { item.Attributes["WidthNota"].Value = "0"; } else { item.Attributes["WidthNota"].Value = "Auto"; } if (item.Attributes["Checked"] == null) { XmlAttribute attr = _xTXP.Document.CreateAttribute("Checked"); item.Attributes.Append(attr); item.Attributes["Checked"].Value = "False"; } if (item.Attributes["NotaTDL"] == null) { XmlAttribute attr = _xTXP.Document.CreateAttribute("NotaTDL"); item.Attributes.Append(attr); item.Attributes["NotaTDL"].Value = ""; } item.Attributes["Expanded"].Value = "True"; item.Attributes["Selected"].Value = "False"; if (item.Attributes["Pianificato"] == null) { XmlAttribute attr = item.OwnerDocument.CreateAttribute("Pianificato"); attr.Value = ""; item.Attributes.Append(attr); } DataTable pianificazione = null; DataTable pianificazioneTestata = null; foreach (string ALitemXTPP in ALXTPP) { bool donehere = false; string IDPHERE = ""; string datac = ""; if (TipoAttivita == App.TipoAttivita.Verifica) { IDPHERE = "100013"; pianificazioneTestata = cBusinessObjects.GetData(int.Parse(IDPHERE), typeof(PianificazioneVerificheTestata), int.Parse(IDCliente), int.Parse(ALitemXTPP), 26); pianificazione = cBusinessObjects.GetData(int.Parse(IDPHERE), typeof(PianificazioneVerifiche), int.Parse(IDCliente), int.Parse(ALitemXTPP), 26); } else { IDPHERE = "100003"; pianificazioneTestata = cBusinessObjects.GetData(int.Parse(IDPHERE), typeof(PianificazioneVerificheTestata), int.Parse(IDCliente), int.Parse(ALitemXTPP), 27); pianificazione = cBusinessObjects.GetData(int.Parse(IDPHERE), typeof(PianificazioneVerifiche), int.Parse(IDCliente), int.Parse(ALitemXTPP), 27); } foreach (DataRow itemXPP in pianificazione.Rows) { if (itemXPP["NODE_ID"].ToString() != item.Attributes["ID"].Value) { continue; } foreach (DataRow dd in pianificazioneTestata.Rows) { if (dd["ID"].ToString() == itemXPP["PianificazioneID"].ToString()) { datac = dd["Data"].ToString(); } } if (datac != Data) { continue; } if (itemXPP["Checked"].ToString() == "True") { item.Attributes["Pianificato"].Value = "P"; item.Attributes["Checked"].Value = "True"; StaticUtilities.MarkNodeAsModified(item, App.OBJ_MOD); _isModified = true; pianificatehere.Add(item.Attributes["ID"].Value); break; } } if (donehere) { break; } } } _xTXP.Save(); foreach (XmlNode item in TreeXmlProvider.Document.SelectNodes("//Node")) { if (item.Attributes["NotaTDL"] == null) { XmlAttribute attr = TreeXmlProvider.Document.CreateAttribute("NotaTDL"); item.Attributes.Append(attr); item.Attributes["NotaTDL"].Value = ""; } if (item.Attributes["Checked"] == null) { XmlAttribute attr = TreeXmlProvider.Document.CreateAttribute("Checked"); item.Attributes.Append(attr); item.Attributes["Checked"].Value = "False"; } if (item.Attributes["Pianificato"] == null) { XmlAttribute attr = TreeXmlProvider.Document.CreateAttribute("Pianificato"); item.Attributes.Append(attr); item.Attributes["Pianificato"].Value = ""; } if (pianificatehere.Contains(item.Attributes["ID"].Value)) { item.Attributes["Pianificato"].Value = "P"; } if (item.Attributes["WidthNota"] == null) { XmlAttribute attr = TreeXmlProvider.Document.CreateAttribute("WidthNota"); item.Attributes.Append(attr); } if (item.SelectNodes("Node").Count > 0) { item.Attributes["WidthNota"].Value = "0"; } else { item.Attributes["WidthNota"].Value = "Auto"; } if (item.Attributes["Pianificato"].Value == "P") { item.Attributes["Checked"].Value = "True"; //item.Attributes["NotaTDL"].Value = ""; } StaticUtilities.MarkNodeAsModified(item, App.OBJ_MOD); _isModified = true; } } Utilities u = new Utilities(); labelAttivita.Content = u.TitoloAttivita(_TipoAttivita); TreeXmlProvider.Refresh(); LoadDataSource(); }
//------------------------------------------------------------------------+ // cmbClienti_SelectionChanged | //------------------------------------------------------------------------+ private void cmbClienti_SelectionChanged(object sender, SelectionChangedEventArgs e) { FileInfo fi; int counter; string file, IDCliente, str, xpath; XmlDataProviderManager _x; IDCliente = htClienti[((ComboBox)sender).SelectedIndex].ToString(); stpSessioniVerifiche.Children.Clear(); stpSessioniVigilanze.Children.Clear(); MasterFile mf = MasterFile.Create(); alVerifiche = mf.GetVerifiche(IDCliente); alVigilanze = mf.GetVigilanze(IDCliente); str = string.Format( "select * from dbo.ArchivioDocumenti where (ID_CLIENTE={0})", IDCliente); _dtDox = StaticUtilities.DataTableFromQuery(str); // VERIFICHE TextBlock txtVerifiche = new TextBlock(); txtVerifiche.HorizontalAlignment = System.Windows.HorizontalAlignment.Center; txtVerifiche.Text = "Controllo Contabile"; txtVerifiche.FontWeight = FontWeights.Bold; txtVerifiche.Margin = new Thickness(0, 0, 0, 5); stpSessioniVerifiche.Children.Add(txtVerifiche); CheckBox chkSessioneTuttoVerifiche = new CheckBox(); chkSessioneTuttoVerifiche.Tag = "-1"; chkSessioneTuttoVerifiche.Content = "Tutte"; chkSessioneTuttoVerifiche.Margin = new Thickness(0, 0, 0, 5); chkSessioneTuttoVerifiche.Checked += chkSessioneTuttoVerifiche_Checked; chkSessioneTuttoVerifiche.Unchecked += chkSessioneTuttoVerifiche_Unchecked; stpSessioniVerifiche.Children.Add(chkSessioneTuttoVerifiche); //_x = new XmlDataProviderManager(App.AppDocumentiDataFile, true); foreach (Hashtable htVerifica in alVerifiche) { counter = 0; //xpath = "//DOCUMENTI//DOCUMENTO[@Cliente='" + IDCliente + "']"; //xpath += "[@Tree='" + (Convert.ToInt32(App.TipoFile.Verifica)).ToString() + "']"; //xpath += "[@Sessione='" + htVerifica["ID"].ToString() + "']"; //foreach (XmlNode item in _x.Document.SelectNodes(xpath)) //{ // file = App.AppDocumentiFolder + "\\" + item.Attributes["File"].Value; // fi = new FileInfo(file); // if (fi.Exists) counter++; //} str = string.Format("(Tree='{0}') and (ID_SESSIONE={1})", Convert.ToInt32(App.TipoFile.Verifica), htVerifica["ID"].ToString()); foreach (DataRow dr in _dtDox.Select(str)) { str = App.AppDocumentiFolder + "\\" + dr["File"].ToString(); if (File.Exists(str)) { counter++; } } if (counter > 0) { CheckBox chkSessione = new CheckBox(); chkSessione.Tag = htVerifica["ID"].ToString(); chkSessione.Content = htVerifica["Data"].ToString() + " (" + counter.ToString() + ")"; stpSessioniVerifiche.Children.Add(chkSessione); } } // VIGILANZE TextBlock txtVigilanze = new TextBlock(); txtVigilanze.HorizontalAlignment = System.Windows.HorizontalAlignment.Center; txtVigilanze.Text = "Vigilanza"; txtVigilanze.FontWeight = FontWeights.Bold; txtVigilanze.Margin = new Thickness(0, 0, 0, 5); stpSessioniVigilanze.Children.Add(txtVigilanze); CheckBox chkSessioneTuttoVigilanze = new CheckBox(); chkSessioneTuttoVigilanze.Tag = "-1"; chkSessioneTuttoVigilanze.Content = "Tutte"; chkSessioneTuttoVigilanze.Margin = new Thickness(0, 0, 0, 10); chkSessioneTuttoVigilanze.Checked += chkSessioneTuttoVigilanze_Checked; chkSessioneTuttoVigilanze.Unchecked += chkSessioneTuttoVigilanze_Unchecked; stpSessioniVigilanze.Children.Add(chkSessioneTuttoVigilanze); foreach (Hashtable htVigilanza in alVigilanze) { counter = 0; //xpath = "//DOCUMENTI//DOCUMENTO[@Cliente='" + IDCliente + "']"; //xpath += "[@Tree='" + (Convert.ToInt32(App.TipoFile.Vigilanza)).ToString() + "']"; //xpath += "[@Sessione='" + htVigilanza["ID"].ToString() + "']"; //foreach (XmlNode item in _x.Document.SelectNodes(xpath)) //{ // file = App.AppDocumentiFolder + "\\" + item.Attributes["File"].Value; // fi = new FileInfo(file); // if (fi.Exists) counter++; //} str = string.Format("(Tree='{0}') and (ID_SESSIONE={1})", Convert.ToInt32(App.TipoFile.Vigilanza), htVigilanza["ID"].ToString()); foreach (DataRow dr in _dtDox.Select(str)) { str = App.AppDocumentiFolder + "\\" + dr["File"].ToString(); if (File.Exists(str)) { counter++; } } if (counter > 0) { CheckBox chkSessione = new CheckBox(); chkSessione.Tag = htVigilanza["ID"].ToString(); chkSessione.Content = htVigilanza["Data"].ToString() + " (" + counter.ToString() + ")"; stpSessioniVigilanze.Children.Add(chkSessione); } } }