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); }
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"); } }