//----------------------------------------------------------------------------+ // 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(); }
private void LoadDataSource() { _x = new XmlDataProviderManager(SelectedDataSource); RevisoftApplication.XmlManager x = new XmlManager(); x.TipoCodifica = RevisoftApplication.XmlManager.TipologiaCodifica.Normale; XmlDocument tmpDoc = x.LoadEncodedFile(SelectedDataSource); Utilities u = new Utilities(); if (!u.CheckXmlDocument(tmpDoc, App.TipoFile.Formulario, "Data")) { this.Close(); return; } foreach (XmlNode node in tmpDoc.SelectNodes("/Dati//Dato")) { XmlNode nodeTree = TreeXmlProvider.Document.SelectSingleNode("/Tree//Node[@ID=" + node.Attributes["ID"].Value + "]"); if (nodeTree != null) { string estensione = ""; string file = ""; string image = ".\\Images\\icone\\Stato\\nothing.png"; try { estensione = node.SelectSingleNode("Valore").Attributes["NomeFile"].Value.Split('.').Last(); file = node.SelectSingleNode("Valore").Attributes["NomeFile"].Value.Replace("ruf\\", ""); string pathfile = App.AppFormularioFolder + "\\" + file; if (!(new FileInfo(pathfile)).Exists) { estensione = ""; file = ""; } } catch (Exception ex) { cBusinessObjects.logger.Error(ex, "wFormulario.LoadDataSource exception"); string log = ex.Message; } switch (estensione) { case "doc": case "docx": image = ".\\Images\\icone\\Documenti\\word.png"; break; case "pdf": image = ".\\Images\\icone\\Documenti\\pdf.png"; break; case "xls": case "xlsx": image = ".\\Images\\icone\\Documenti\\excel.png"; break; case "zip": image = ".\\Images\\icone\\Documenti\\zip.png"; break; default: image = ".\\Images\\icone\\Documenti\\nothing.png"; break; } try { nodeTree.Attributes["TipoDocumento"].Value = image; } catch (Exception ex) { cBusinessObjects.logger.Error(ex, "wFormulario.CreateAttributeTipoDocumento exception"); string log = ex.Message; XmlAttribute attr = nodeTree.OwnerDocument.CreateAttribute("TipoDocumento"); attr.Value = image; nodeTree.Attributes.Append(attr); } try { nodeTree.Attributes["NomeFile"].Value = file; } catch (Exception ex) { cBusinessObjects.logger.Error(ex, "wFormulario.CreateAttributeNomeFile exception"); string log = ex.Message; XmlAttribute attr = nodeTree.OwnerDocument.CreateAttribute("NomeFile"); attr.Value = file; nodeTree.Attributes.Append(attr); } } } }
public void generateTree(string P_ID) { cBusinessObjects.idcliente = int.Parse(IDCliente); cBusinessObjects.idsessione = int.Parse(IDSessione); RevisoftApplication.XmlManager x = new XmlManager(); x.TipoCodifica = RevisoftApplication.XmlManager.TipologiaCodifica.Normale; MasterFile mf = MasterFile.Create(); string SelectedTreeSource = App.AppTemplateTreeVerifica; XmlDataProvider _xTXP = new XmlDataProvider(); _xTXP.Document = cBusinessObjects.NewLoadEncodedFile(SelectedTreeSource, "2"); try { int conta = 1; foreach (XmlNode item in _xTXP.Document.SelectNodes("/Tree//Node[@ID][@Codice][@Titolo]")) { string isTitolo = ""; if (item.ChildNodes.Count > 1) { isTitolo = "Father=\"1\""; } bool trovato = false; foreach (DataRow dt in dati.Rows) { if (dt["PianificazioneID"].ToString() != P_ID) { continue; } if (dt["Codice"].ToString() == item.Attributes["Codice"].Value.Replace("&", "&").Replace("\"", "'")) { trovato = true; } } if (!trovato) { DataRow dd = dati.Rows.Add(id, cBusinessObjects.idcliente, cBusinessObjects.idsessione); dd["ID"] = conta; // item.Attributes["ID"].Value; dd["NODE_ID"] = item.Attributes["ID"].Value; dd["PianificazioneID"] = P_ID; // item.Attributes["ID"].Value; conta++; dd["Titolo"] = item.Attributes["Titolo"].Value.Replace("&", "&").Replace("\"", "'"); if (isTitolo != "") { dd["Father"] = "1"; } dd["Codice"] = item.Attributes["Codice"].Value.Replace("&", "&").Replace("\"", "'"); dd["Checked"] = "False"; } else { //già creato l'albero, non viene aggiornato return; //XmlNode itemhere = _x.Document.SelectSingleNode( "//Dato[@ID=\"100003\"]" ).SelectSingleNode( "//Valore[@ID=\"" + item.Attributes["ID"].Value + "\"]" ); //itemhere.Attributes["Codice"].Value = item.Attributes["Codice"].Value; //itemhere.Attributes["Titolo"].Value = item.Attributes["Titolo"].Value; } } cBusinessObjects.SaveData(id, dati, typeof(PianificazioneVerifiche)); } catch (Exception ex) { cBusinessObjects.logger.Error(ex, "wSchedaSessioniPianificazioniVigilanze.generateTree exception"); string log = ex.Message; } }