Esempio n. 1
0
            private void MontarParametrosXml(Util.Mapeamento.Entidade Map, XmlNode Node)
            {
                if ("PRODUTO" == Map.Para)
                {
                }
                if (Map.Filhos.Count == 0)
                {
                    MontarItemParametroXml(Map, Node);
                }
                else
                {
                    if (Map.Mult && Map.De != null)
                    {
                        XmlNode NodeClone = Node.Clone();
                        foreach (string Nome in Map.De.Split('/'))
                        {
                            NodeClone = NodeClone[Nome];
                            if (NodeClone == null)
                            {
                                NodeClone = Node.Clone();
                            }
                        }

                        List <XmlNode> NodeList = new List <XmlNode>();
                        if (NodeClone.Name == Map.De)
                        {
                            NodeList.Add(NodeClone);
                        }
                        else
                        {
                            if (NodeClone.ParentNode != null)
                            {
                                NodeList.AddRange(NodeClone.ParentNode.ChildNodes.Cast <XmlNode>());
                            }
                        }

                        foreach (XmlNode no in NodeList)
                        {
                            XmlDeEntrada.Append(@"<" + Map.Para.Trim() + ">");
                            Inicio(Map.Filhos, no);
                            XmlDeEntrada.Append(@"</" + Map.Para.Trim() + ">");
                        }
                    }
                    else
                    {
                        XmlDeEntrada.Append(@"<" + Map.Para.Trim() + ">");
                        foreach (Util.Mapeamento.Entidade ObjetoMapeamento in Map.Filhos)
                        {
                            MontarParametrosXml(ObjetoMapeamento, Node);
                        }
                        XmlDeEntrada.Append(@"</" + Map.Para.Trim() + ">");
                    }
                }
            }
Esempio n. 2
0
            private void MontarItemParametroXml(Util.Mapeamento.Entidade Map, XmlNode Node)
            {
                string Valor = Map.Valor.ToString();

                if (Node != null)
                {
                    if (string.IsNullOrEmpty(Map.Valor.ToString()))
                    {
                        Valor = ObterValorNodeXml(Map, Node);
                    }
                }

                if (!Map.BitExcluirBranco || (Map.BitExcluirBranco && !string.IsNullOrWhiteSpace(Valor)))
                {
                    XmlDeEntrada.Append(@"<" + Map.Para.Trim() + ">");
                    XmlDeEntrada.Append(Valor.Trim());
                    XmlDeEntrada.Append(@"</" + Map.Para.Trim() + ">");
                }
            }
Esempio n. 3
0
            public string ObterValorNodeXml(Util.Mapeamento.Entidade Map, XmlNode Node)
            {
                string Valor = "";

                try
                {
                    if (!string.IsNullOrEmpty(Map.De))
                    {
                        bool    Exists    = true;
                        XmlNode NodeClone = Node.Clone();
                        foreach (string Nome in Map.De.Split('/'))
                        {
                            NodeClone = NodeClone[Nome];
                            if (NodeClone == null)
                            {
                                NodeClone = Node.Clone();
                                Exists    = false;
                            }
                            else
                            {
                                Exists = true;
                            }
                        }

                        if (Map.TipoValor == "System.DateTime")
                        {
                            Valor = Exists ? DateTime.Parse(NodeClone.InnerText).ToString("yyyy-MM-ddThh:mm:ss.000") : "";
                        }
                        else
                        {
                            Valor = Exists ? NodeClone.InnerText : "";
                        }
                    }
                    else if (!string.IsNullOrEmpty(Map.Valor.ToString()))
                    {
                        Valor = Map.Valor.ToString();
                    }

                    if (Map.ValoresDePara != null && Map.ValoresDePara.Count > 0)
                    {
                        if (Map.ValoresDePara.Exists(c => c.De == (Valor == "" ? " " : Valor)))
                        {
                            Valor = Map.ValoresDePara.Single(c => c.De == (Valor == "" ? " " : Valor)).Para;
                        }
                    }
                }
                catch (Exception ex)
                {
                    throw new Exception("O nó de mapeamento De:'" + Map.De + "' Para:'" + Map.Para + "' não foi encontrado!");
                }
                try
                {
                    if (!string.IsNullOrEmpty(Map.Acao))
                    {
                        List <object> lstParametros = new List <object>();

                        if (this.Parametros != null)
                        {
                            lstParametros.AddRange(this.Parametros);
                        }
                        else
                        {
                            lstParametros.Add(Valor);
                            lstParametros.Add(XmlPrincipal == null ? Node : XmlPrincipal);

                            if (!String.IsNullOrEmpty(Map.Para))
                            {
                                lstParametros.Add(Map.Para);
                            }
                        }
                        Valor = new Selia.Integrador.Utils.Generic.Invoke().Exec(Map.Acao.Split(';')[0], Map.Acao.Split(';')[1], lstParametros, "").ToString();
                    }
                }
                catch (Exception ex)
                {
                    throw ex;
                }


                return(Valor.Replace("&", "&amp;"));
            }