Exemple #1
0
        /*
        *Propósito: Permite generar un string en formato XML con los pedidos que 
        *no han sido sincronizados
        *Entradas:
        *Salidas: string
        */
        //#Metodo: generarXmlNuevosPedidos
        public string generarXmlNuevosPedidos()
        {
            DAL contexto = new DAL();
            ObservableCollection<PedidoEntidad> nuevosPedidos = contexto.consultarNuevosPedidos();

            XmlDocument xml = new XmlDocument();
            xml.LoadXml("<Pedidos></Pedidos>");

            foreach (var itemPedido in nuevosPedidos)
            {

                //Cambiar estado de pedidos
                itemPedido.Estado = "sincronizado";
                contexto.cambiarEstadoPedido(itemPedido);

                XmlElement pedido = xml.CreateElement("Pedido");


                XmlElement CodigoPedido = xml.CreateElement("CodigoPedido");
                XmlText CodigoPedidoTxt = xml.CreateTextNode(itemPedido.CodPedido.ToString());
                CodigoPedido.AppendChild(CodigoPedidoTxt);
                pedido.AppendChild(CodigoPedido);

                XmlElement CodigoNegocio = xml.CreateElement("CodigoNegocio");
                XmlText CodigoNegocioTxt = xml.CreateTextNode(itemPedido.CodNegocio.ToString());
                CodigoNegocio.AppendChild(CodigoNegocioTxt);
                pedido.AppendChild(CodigoNegocio);

                XmlElement CodigoUsuario = xml.CreateElement("CodigoUsuario");
                XmlText CodigoUsuarioTxt = xml.CreateTextNode(itemPedido.CodUsuario.ToString());
                CodigoUsuario.AppendChild(CodigoUsuarioTxt);
                pedido.AppendChild(CodigoUsuario);

                XmlElement TotalPedido = xml.CreateElement("TotalPedido");
                XmlText TotalPedidoTxt = xml.CreateTextNode(itemPedido.TotalPedido.ToString());
                TotalPedido.AppendChild(TotalPedidoTxt);
                pedido.AppendChild(TotalPedido);

                XmlElement FechaPedido = xml.CreateElement("FechaPedido");
                XmlText FechaPedidoTxt = xml.CreateTextNode(itemPedido.Fecha.ToString());
                FechaPedido.AppendChild(FechaPedidoTxt);
                pedido.AppendChild(FechaPedido);

                XmlElement EstadoPedido = xml.CreateElement("EstadoPedido");
                XmlText EstadoPedidoTxt = xml.CreateTextNode(itemPedido.Estado);
                EstadoPedido.AppendChild(EstadoPedidoTxt);
                pedido.AppendChild(EstadoPedido);

                XmlElement PedidoProducto = xml.CreateElement("PedidoProducto");
                foreach (var producto in itemPedido.PedidoProducto)
                {
                    XmlElement Producto = xml.CreateElement("Producto");

                    XmlElement CodigoProducto = xml.CreateElement("CodigoProducto");
                    XmlText CodigoProductoTxt = xml.CreateTextNode(producto.CodProducto.ToString());
                    CodigoProducto.AppendChild(CodigoProductoTxt);
                    Producto.AppendChild(CodigoProducto);

                    XmlElement Cantidad = xml.CreateElement("Cantidad");
                    XmlText CantidadTxt = xml.CreateTextNode(producto.Cantidad.ToString());
                    Cantidad.AppendChild(CantidadTxt);
                    Producto.AppendChild(Cantidad);

                    PedidoProducto.AppendChild(Producto);
                }
                pedido.AppendChild(PedidoProducto);

                xml.DocumentElement.AppendChild(pedido);
            }

            return xml.OuterXml;
        }