コード例 #1
0
        //----------------------------------------------------------------------------+
        //                               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();
        }
コード例 #2
0
        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);
                    }
                }
            }
        }
コード例 #3
0
        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;
            }
        }