public IEnumerable <IRequisito> LoadRequisiti()
            {
                List <IRequisito> requisiti         = new List <IRequisito>();
                XmlElement        esperienzaElement = (XmlElement)_xmlDocument.SelectSingleNode("Requisiti/Esperienza");
                XmlElement        competenzaElement = (XmlElement)_xmlDocument.SelectSingleNode("Requisiti/Competenza");
                XmlElement        formazioneElement = (XmlElement)_xmlDocument.SelectSingleNode("Requisiti/Formazione");
                XmlElement        linguaElement     = (XmlElement)_xmlDocument.SelectSingleNode("Requisiti/Lingua");


                foreach (XmlElement node in esperienzaElement.ChildNodes)
                {
                    ITipologia t  = TipologiaFactory.GetTipologia(node.GetAttribute("tipologia"));
                    Guid       id = RequisitoFactory.CreateRequisitoDiEsperienza(node.GetAttribute("nome"), t);
                    requisiti.Add(RequisitoFactory.GetRequisito(id));
                }

                foreach (XmlElement node in competenzaElement.ChildNodes)
                {
                    ITipologia t  = TipologiaFactory.GetTipologia(node.GetAttribute("tipologia"));
                    Guid       id = RequisitoFactory.CreateRequisitoDiCompetenza(node.GetAttribute("nome"), t);
                    requisiti.Add(RequisitoFactory.GetRequisito(id));
                }

                foreach (XmlElement node in formazioneElement.ChildNodes)
                {
                    ITipologia t  = TipologiaFactory.GetTipologia(node.GetAttribute("tipologia"));
                    Guid       id = RequisitoFactory.CreateRequisitoDiFormazione(node.GetAttribute("nome"), t);
                    requisiti.Add(RequisitoFactory.GetRequisito(id));
                }

                foreach (XmlElement node in linguaElement.ChildNodes)
                {
                    ITipologia t  = TipologiaFactory.GetTipologia(node.GetAttribute("tipologia"));
                    Guid       id = RequisitoFactory.CreateRequisitoDiLingua(node.GetAttribute("nome"), t);
                    requisiti.Add(RequisitoFactory.GetRequisito(id));
                }
                return(requisiti);
            }
예제 #2
0
        private void AggiungiRequisito(EditingRequisitiDialog dialog, out IRequisito r, out GradoDiValutazione g, out bool notGood, string tipo)
        {
            string nomeRequisito = null;
            string nomeTipologia = null;
            bool   tipotext      = false;
            bool   reqtext       = false;

            notGood = false;
            bool requisitoSelezionato = ((CheckBox)dialog.Control.Panel2.Controls["_checkNew"]).Checked;
            bool tipologiaSelezionata = ((CheckBox)dialog.Control.Panel3.Controls["_checkNewTip"]).Checked;

            r = null;
            ITipologia t = TipologiaFactory.GetTipologia(((ComboBox)dialog.Control.Panel3.Controls["_tipologie"]).SelectedItem.ToString());

            g = (GradoDiValutazione)Enum.Parse(typeof(GradoDiValutazione), ((ComboBox)dialog.Control.Panel2.Controls["_gradoValutazione"]).SelectedItem.ToString(), true);
            try
            {
                if (requisitoSelezionato)
                {
                    nomeRequisito = ((TextBox)dialog.Control.Panel3.Controls["_nomeReq"]).Text;
                    if (nomeRequisito == string.Empty)
                    {
                        reqtext = true;
                    }
                    nomeTipologia = ((TextBox)dialog.Control.Panel3.Controls["_nomeTip"]).Text;
                    if (nomeTipologia == string.Empty)
                    {
                        tipotext = true;
                    }

                    if (tipologiaSelezionata)
                    {
                        switch (tipo)
                        {
                        case "Formazione":
                            t = TipologiaFactory.CreateLivelloDiIstruzione(nomeTipologia);
                            break;

                        default:
                            t = TipologiaFactory.CreateCategoria(nomeTipologia);
                            break;
                        }
                    }

                    Guid id = new Guid();
                    switch (tipo)
                    {
                    case "Lingua":
                        id = RequisitoFactory.CreateRequisitoDiLingua(nomeRequisito, t);
                        break;

                    case "Formazione":
                        id = RequisitoFactory.CreateRequisitoDiFormazione(nomeRequisito, t);
                        break;

                    case "Esperienza":
                        id = RequisitoFactory.CreateRequisitoDiEsperienza(nomeRequisito, t);
                        break;

                    case "Competenza":
                        id = RequisitoFactory.CreateRequisitoDiCompetenza(nomeRequisito, t);
                        break;
                    }
                    r = RequisitoFactory.GetRequisito(id);
                }
                else
                {
                    r = (IRequisito)dialog.Control.ListBoxRequisiti.SelectedItem;
                }
            }
            catch (ArgumentException)
            {
                notGood = true;
                StringBuilder s = new StringBuilder();
                if (tipotext)
                {
                    s.Append("una nuova tipologia,");
                }
                if (reqtext)
                {
                    s.Append("un nuovo requisito,");
                }
                MessageBox.Show("Si è scelto di inserire " + s + " ma lasciato vuoto il relativo campo di testo");
            }
        }