public static PesquisarMedico GetPesquisarMedico() { XmlNode pesquisarNode = _document.SelectSingleNode(Properties.Settings.Default.Pesquisar_Medico_XPath); if (pesquisarNode == null) { return(null); } //Retornar para Classe PesquisarMedico, vai haver um erro nos medicos_salvos PesquisarMedico pesquisar = FromXml <PesquisarMedico>(pesquisarNode.OuterXml); //Início da correção dos médicos salvos XmlNode salvosNode = pesquisarNode.SelectSingleNode(Properties.Settings.Default.Pesquisar_Medicos_Salvos); if (salvosNode != null) { //Pega os nós filhos de medicos salvos, transforma em XmlNode, faz a serialização com cada membro e transforma em List pesquisar.MedicosSalvos = salvosNode.ChildNodes.Cast <XmlNode>() .Select(n => FromXml <Medico>(n.OuterXml)).ToList(); } return(pesquisar); }
public static void SetPesquisarMedico(PesquisarMedico pesquisar) { XmlNode rootNode = CheckXmlLoad(); XmlNode pesquisarNode = _document.SelectSingleNode(Properties.Settings.Default.Pesquisar_Medico_XPath); //Se existir, remover para a inserção do novo Xml if (pesquisarNode != null) { rootNode.RemoveChild(pesquisarNode); } rootNode.InnerXml += ToXml(pesquisar); //Recarregar pesquisarMedicoNode pesquisarNode = _document.SelectSingleNode(Properties.Settings.Default.Pesquisar_Medico_XPath); if (pesquisarNode != null) { //Pega os nós filhos de medicos salvos, transforma em XmlNode, seleciona apenas os que tem Name "medicos_salvos" e transforma em List List <XmlNode> salvos = pesquisarNode.ChildNodes.Cast <XmlNode>() .Where(n => n.Name == Properties.Settings.Default.Pesquisar_Medicos_Salvos).ToList(); //Início da correção do Xml, onde cada médico salvo estará dentro de "medicos_salvos" XmlNode salvosNode = _document.CreateElement(Properties.Settings.Default.Pesquisar_Medicos_Salvos); foreach (XmlNode node in salvos) { //Remove o antigo nó, para haver a troca de nome do nó filho pesquisarNode.RemoveChild(node); XmlNode newNode = _document.CreateElement(Properties.Settings.Default.Medico); newNode.InnerXml = node.InnerXml; salvosNode.AppendChild(newNode); } pesquisarNode.AppendChild(salvosNode); } _document.Save(Properties.Settings.Default.SaveLocation); }