//------------------------------------------------------------------------+
        //                           TextBox_LostFocus                            |
        //------------------------------------------------------------------------+
        private void TextBox_LostFocus(object sender, RoutedEventArgs e)
        {
            string  IDNodo;
            XmlNode node;

            IDNodo =
                (
                    (XmlAttribute)
                    (
                        (
                            (System.Windows.Controls.CheckBox)
                            (
                                (
                                    (StackPanel)(((TextBox)(sender)).Parent)
                                ).Children[1]
                            )
                        ).Tag
                    )
                ).Value.ToString();
            node = _xTXP.Document.SelectSingleNode("//Node[@ID='" + IDNodo + "']");
            if (node != null)
            {
                if (node.Attributes["NotaTDL"] == null)
                {
                    XmlAttribute attr = node.OwnerDocument.CreateAttribute("NotaTDL");
                    node.Attributes.Append(attr);
                }
                node.Attributes["NotaTDL"].Value = ((TextBox)(sender)).Text;
                StaticUtilities.MarkNodeAsModified(node, App.OBJ_MOD); _isModified = true;
            }
            //_xTXP.Save();
        }
 //------------------------------------------------------------------------+
 //                     buttonbuttonAzzeraValori_Click                     |
 //------------------------------------------------------------------------+
 private void buttonbuttonAzzeraValori_Click(object sender, RoutedEventArgs e)
 {
     //_xTXP.Save();
     foreach (XmlNode item in _xTXP.Document.SelectNodes("//Node"))
     {
         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 = "";
         StaticUtilities.MarkNodeAsModified(item, App.OBJ_MOD); _isModified = true;
     }
     RevisoftApplication.XmlManager x = new XmlManager();
     x.TipoCodifica           = RevisoftApplication.XmlManager.TipologiaCodifica.Normale;
     _xTXP.isModified         = _isModified; _xTXP.Save(_isModified);
     _isModified              = false;
     TreeXmlProvider.Document = x.LoadEncodedFile(_xTXP.File);
     TreeXmlProvider.Refresh();
     LoadDataSource();
 }
Пример #3
0
        public XmlDataProviderManager SaveXMLno()
        {
            XmlDocument tempDoc = new XmlDocument();

            foreach (TabItem item in tabControl.Items)
            {
                if (item.Content != null)
                {
                    ((ucTabella)(item.Content)).UserControl_Loaded(new object(), new RoutedEventArgs());
                    ((ucTabella)(item.Content)).Save();
                    //Thread.Sleep(100);
                    XmlNodeList listNode = _x.Document.SelectNodes(((ucTabella)(item.Content)).XPath);
                    foreach (XmlNode node in listNode)
                    {
                        node.ParentNode.RemoveChild(node);
                    }
                    foreach (string path in ((ucTabella)(item.Content)).OldXPath)
                    {
                        foreach (XmlNode node in _x.Document.SelectNodes(path))
                        {
                            node.ParentNode.RemoveChild(node);
                        }
                    }
                    foreach (XmlNode node in tempDoc.SelectNodes(((ucTabella)(item.Content)).XPath))
                    {
                        XmlNode NodoImportato = _x.Document.ImportNode(node, true);
                        _x.Document.SelectSingleNode("/Dati/Dato[@ID=" + _ID + "]").AppendChild(NodoImportato);
                        StaticUtilities.MarkNodeAsModified(NodoImportato.ParentNode, App.MOD_ATTRIB);
                    }
                }
            }
            //Thread.Sleep(100);
            _x.isModified = true;
            _x.Save(true);
            return(_x);
        }
    private void buttonApplica_Click(object sender, RoutedEventArgs e)
    {
#if (!DBG_TEST)
      buttonApplica_Click_old(sender, e);return;
#endif
      if (MessageBox.Show(
        "Si ricorda che il Sigillo viene applicato contemporaneamente ai " +
        "nodi 1) 2) 3) e 9) del cliente e dell'anno selezionato. La Rimozione " +
        "di questo sigillo equivale a rimuovere il Sigillo in toto. Procedere?",
        "ATTENZIONE", MessageBoxButton.OKCancel) == MessageBoxResult.Cancel)
      {
        return;
      }
      GestioneLicenza gl = new GestioneLicenza();
      string intestatario = gl.Utente; // UtenteSigillo;
      if (Nodo.Attributes["Revisore"] != null
        && intestatario == Nodo.Attributes["Revisore"].Value)
      {
        if (Nodo.Attributes["Password"] != null
          && txtPassword.Password == Nodo.Attributes["Password"].Value)
        {
          MasterFile mf = MasterFile.Create();
          foreach (Hashtable item in mf.GetIncarichi(IDCliente))
          {
            if (ConvertDataToEsercizio(AliasSessione) == ConvertDataToEsercizio(item["DataNomina"].ToString()))
            {
              mf.RemoveSigilloIncarico(Convert.ToInt32(item["ID"].ToString()));
            }
          }
          foreach (Hashtable item in mf.GetISQCs(IDCliente))
          {
            if (ConvertDataToEsercizio(AliasSessione) == ConvertDataToEsercizio(item["DataNomina"].ToString()))
            {
              mf.RemoveSigilloISQC(Convert.ToInt32(item["ID"].ToString()));
            }
          }
          foreach (Hashtable item in mf.GetBilanci(IDCliente))
          {
            if (ConvertDataToEsercizio(AliasSessione) == ConvertDataToEsercizio(item["Data"].ToString()))
            {
              mf.RemoveSigilloBilancio(Convert.ToInt32(item["ID"].ToString()));
            }
          }
          foreach (Hashtable item in mf.GetConclusioni(IDCliente))
          {
            if (ConvertDataToEsercizio(AliasSessione) == ConvertDataToEsercizio(item["Data"].ToString()))
            {
              mf.RemoveSigilloConclusione(Convert.ToInt32(item["ID"].ToString()));
            }
          }
          foreach (Hashtable item in mf.GetRevisioni(IDCliente))
          {
            if (ConvertDataToEsercizio(AliasSessione) == ConvertDataToEsercizio(item["Data"].ToString()))
            {
              mf.RemoveSigilloRevisione(Convert.ToInt32(item["ID"].ToString()));
            }
          }
          Nodo.Attributes["Stato"].Value = (Convert.ToInt32(App.TipoTreeNodeStato.SigilloRotto)).ToString();
          StaticUtilities.MarkNodeAsModified(Nodo,App.OBJ_MOD);
          ((WindowWorkAreaTree)Owner).ReadOnly = false;
        }
        else
        {
          MessageBox.Show("Attenzione! Password Errata");
        }
      }
      else
      {
        MessageBox.Show("Attenzione! Questo utente non è autorizzato a interagire con il Sigillo");
      }
      base.Close();
    }
        //------------------------------------------------------------------------+
        //                         CheckBox_SourceUpdated                         |
        //------------------------------------------------------------------------+
        private void CheckBox_SourceUpdated(object sender, RoutedEventArgs e)
        {
            string  IDNodo;
            XmlNode node;

            IDNodo =
                (
                    (XmlAttribute)
                    (
                        (
                            (System.Windows.Controls.CheckBox)(sender)
                        ).Tag
                    )
                ).Value.ToString();
            node = _xTXP.Document.SelectSingleNode("//Node[@ID='" + IDNodo + "']");
            if (((System.Windows.Controls.CheckBox)(sender)).IsChecked == true)
            {
                (
                    (TextBox)
                    (
                        (
                            (StackPanel)
                            (
                                (
                                    (System.Windows.Controls.CheckBox)(sender)
                                ).Parent
                            )
                        ).Children[2]
                    )
                ).IsEnabled = true;
                if (node != null)
                {
                    if (node.Attributes["Checked"] == null)
                    {
                        XmlAttribute attr = node.OwnerDocument.CreateAttribute("Checked");
                        node.Attributes.Append(attr);
                    }
                    node.Attributes["Checked"].Value = "True";
                    if (node.Attributes["NotaTDL"] == null)
                    {
                        XmlAttribute attr = node.OwnerDocument.CreateAttribute("NotaTDL");
                        node.Attributes.Append(attr);
                    }
                    node.Attributes["NotaTDL"].Value = "";
                    StaticUtilities.MarkNodeAsModified(node, App.OBJ_MOD); _isModified = true;
                }
                //_xTXP.Save();
            }
            else
            {
                (
                    (TextBox)
                    (
                        (
                            (StackPanel)
                            (
                                (
                                    (System.Windows.Controls.CheckBox)(sender)
                                ).Parent
                            )
                        ).Children[2]
                    )
                ).IsEnabled = false;
                if (node != null)
                {
                    if (node.Attributes["Checked"] == null)
                    {
                        XmlAttribute attr = node.OwnerDocument.CreateAttribute("Checked");
                        node.Attributes.Append(attr);
                    }
                    node.Attributes["Checked"].Value = "False";
                    if (node.Attributes["NotaTDL"] == null)
                    {
                        XmlAttribute attr = node.OwnerDocument.CreateAttribute("NotaTDL");
                        node.Attributes.Append(attr);
                    }
                    node.Attributes["NotaTDL"].Value = "";
                    StaticUtilities.MarkNodeAsModified(node, App.OBJ_MOD); _isModified = true;
                }
                //_xTXP.Save();
                ((TextBox)(((StackPanel)(((System.Windows.Controls.CheckBox)(sender)).Parent)).Children[2])).Text = "";
                ((System.Windows.Controls.CheckBox)(sender)).Focus();
            }
        }
        //----------------------------------------------------------------------------+
        //                               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();
        }