public static PesquisarPaciente GetPesquisarPaciente() { XmlNode pesquisarNode = _document.SelectSingleNode(Properties.Settings.Default.Pesquisar_Paciente_XPath); if (pesquisarNode == null) { return(null); } //Retornar para Classe PesquisarPacientes, vai haver um erro nos pacientes_salvos PesquisarPaciente pesquisar = FromXml <PesquisarPaciente>(pesquisarNode.OuterXml); //Início da correção dos pacientes salvos XmlNode salvosNode = pesquisarNode.SelectSingleNode(Properties.Settings.Default.Pesquisar_Pacientes_Salvos); if (salvosNode != null) { //Pega os nós filhos de pacientes salvos, transforma em XmlNode, faz a serialização com cada membro e transforma em List pesquisar.PacientesSalvos = salvosNode.ChildNodes.Cast <XmlNode>() .Select(n => FromXml <Paciente>(n.OuterXml)).ToList(); } return(pesquisar); }
public static void SetPesquisarPaciente(PesquisarPaciente pesquisar) { XmlNode rootNode = CheckXmlLoad(); XmlNode pesquisarNode = _document.SelectSingleNode(Properties.Settings.Default.Pesquisar_Paciente_XPath); //Se existir, remover para a inserção do novo Xml if (pesquisarNode != null) { rootNode.RemoveChild(pesquisarNode); } rootNode.InnerXml += ToXml(pesquisar); //Recarregar pesquisarPacienteNode pesquisarNode = _document.SelectSingleNode(Properties.Settings.Default.Pesquisar_Paciente_XPath); if (pesquisarNode != null) { /*Pega os nós filhos de pacientes salvos, transforma em XmlNode, seleciona apenas * os que tem Name "pacientes_salvos" e transforma em List*/ List <XmlNode> salvos = pesquisarNode.ChildNodes.Cast <XmlNode>() .Where(n => n.Name == Properties.Settings.Default.Pesquisar_Pacientes_Salvos).ToList(); //Início da correção do Xml, onde cada paciente salvo estará dentro de "paciente_salvos" XmlNode salvosNode = _document.CreateElement(Properties.Settings.Default.Pesquisar_Pacientes_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.Paciente); newNode.InnerXml = node.InnerXml; salvosNode.AppendChild(newNode); } pesquisarNode.AppendChild(salvosNode); } _document.Save(Properties.Settings.Default.SaveLocation); }