public DataTable ObtenerTCMes(DateTime Fecha)
        {
            var         servicio = new ServicioTipoCambio.Tipo_Cambio_BCNSoapClient();
            XmlElement  xmlElement;
            XmlNodeList xmlNodos;
            DataTable   dt = new DataTable();

            try
            {
                xmlElement = servicio.RecuperaTC_Mes(Fecha.Year, Fecha.Month).ConvertirAxmlElement();
                xmlNodos   = xmlElement.GetElementsByTagName("Tc");

                if (dt.Columns.Count <= 0)                                //si datatable no tiene columnas las agrega
                {
                    foreach (XmlNode nodo in xmlNodos.Item(0).ChildNodes) //asigna Nombres a las Columnas
                    {
                        if (nodo.Name.ToLower() == "fecha")               //Solo tomo la fecha
                        {
                            dt.Columns.Add(new DataColumn(nodo.Name, Type.GetType(" System.DateTime")));
                        }
                        else if (nodo.Name.ToLower() == "valor")//y el valor
                        {
                            DataColumn columna = new DataColumn(nodo.Name, Type.GetType("System.Decimal"));
                            dt.Columns.Add(columna);
                        }
                    }
                }
                for (int i = 0; i < xmlNodos.Count; i++)
                {
                    DataRow fila = dt.NewRow();
                    for (int columna = 0; columna < dt.Columns.Count; columna++)
                    {
                        if (!DBNull.Value.Equals(xmlNodos.Item(i).ChildNodes[columna].InnerText))
                        {
                            fila[columna] = xmlNodos.Item(i).ChildNodes[columna].InnerText;
                        }
                        else
                        {
                            fila[columna] = null;
                        }
                    }
                    dt.Rows.Add(fila);
                }
                return(dt);
            }
            catch (Exception ex)
            {
                XtraMessageBox.Show($"Lo sentimos ha ocurrido el siguiente error {ex.Message}");

                return(null);
            }
        }
        public double ObtenerTCDia(DateTime Fecha)
        {
            var Servicio = new ServicioTipoCambio.Tipo_Cambio_BCNSoapClient();

            try
            {
                return(Servicio.RecuperaTC_Dia(Fecha.Year, Fecha.Month, Fecha.Day));
            }
            catch (Exception ex)
            {
                XtraMessageBox.Show($"Lo Sentimo ha ocurrido el siguiente error \nError:{ex.Message}");
                return(0.00);
            }
        }
        public DataTable Obtener_Meses(DateTime Desde, DateTime Hasta)
        {
            var         servicio = new ServicioTipoCambio.Tipo_Cambio_BCNSoapClient();
            XmlElement  xmlElement;
            XmlNodeList xmlNodos;
            DataTable   dt = new DataTable();

            try
            {
                while (Desde < Hasta)
                {
                    var UltimodiaMes  = DateTime.DaysInMonth(Desde.Year, Desde.Month);
                    var cantidadDias  = UltimodiaMes - Desde.Day;
                    var MesFechaFinal = Desde.AddDays(cantidadDias);
                    if (!(Hasta <= MesFechaFinal))
                    {
                        xmlElement = servicio.RecuperaTC_Mes(Desde.Year, Desde.Month).ConvertirAxmlElement();
                        xmlNodos   = xmlElement.GetElementsByTagName("Tc");

                        if (dt.Columns.Count <= 0)                                //si datatable no tiene columnas las agrega
                        {
                            foreach (XmlNode nodo in xmlNodos.Item(0).ChildNodes) //asigna Nombres a las Columnas
                            {
                                if (nodo.Name.ToLower() == "fecha")               //Solo tomo la fecha
                                {
                                    dt.Columns.Add(new DataColumn(nodo.Name, Type.GetType(" System.DateTime")));
                                }
                                else if (nodo.Name.ToLower() == "valor")//y el valor
                                {
                                    DataColumn columna = new DataColumn(nodo.Name, Type.GetType("System.Decimal"));
                                    dt.Columns.Add(columna);
                                }
                            }
                        }
                        for (int i = 0; i < xmlNodos.Count; i++)
                        {
                            DataRow fila = dt.NewRow();
                            for (int columna = 0; columna < dt.Columns.Count; columna++)
                            {
                                if (!DBNull.Value.Equals(xmlNodos.Item(i).ChildNodes[columna].InnerText))
                                {
                                    fila[columna] = xmlNodos.Item(i).ChildNodes[columna].InnerText;
                                }
                                else
                                {
                                    fila[columna] = null;
                                }
                            }
                            dt.Rows.Add(fila);
                        }
                    }

                    Desde = MesFechaFinal.AddDays(1);
                }
            }
            catch (Exception)
            {
                throw;
            }
            return(dt);
        }