viernes, 10 de julio de 2020
C# - Convertir string en XML
--
.Bc
--
private XmlDocument ConvierteStringToXml(string xmlString)
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.PreserveWhitespace = false;
xmlDoc.LoadXml(xmlString);
return xmlDoc;
}
C# - Convertir Clase en xml (string)
--
.Bc
--
public string ConvierteListaDeClaseContablidadToXmlString(List<DiarioContabilidad> contabilidadList)
{
XmlSerializer xsSubmit = new XmlSerializer(typeof(List<DiarioContabilidad>));
var xml = "";
using (var sww = new StringWriter())
{
using (XmlWriter writer = XmlWriter.Create(sww))
{
xsSubmit.Serialize(writer, contabilidadList);
var a = sww;
xml = sww.ToString(); // TU XML STRING
}
}
xml = ReemplazarTagRepetidosContabilidad(xml);
return xml;
}
C# - Servicio Web (.asmx ) Asyncrono
--
Framework 4.6.1
--
.asmx
--
[WebMethod]
public string IntegracionContabilidad(DateTime fecha)
{
var dateTimeNow = DateTime.Now.ToString().Replace(" ", "").Replace("-", "").Replace("/", "").Replace(":", "");
var filePath = "C://IntegracionesContables//IntegracionContabilidad_" + dateTimeNow + ".xml";
var filePathReturn = "IntegracionContabilidad_" + dateTimeNow + ".xml";
new IntegracionesContabilidasBc().GetIntegracionContabilidad(fecha, filePath, filePathReturn);
//este retorno es inmediato (async)
return filePathReturn;
}
--
.BC
--
//Async indica que se hará una llamada asincrona
public async void GetIntegracionContabilidad(DateTime fecha, string filePath, string filePathReturn)
{
//inicializo, e indico que tarea(s) se va(n) a realizar
var task = GetIc(fecha, filePath, filePathReturn);
//Inicio la Tarea
task.Start();
//Activo el await para retornar control a método que nos invocó (IntegracionContabilidad), con un Delay de un milisegundo para que vuelva de inmediato
await Task.Delay(1);
}
//declarado como Task.
public Task<string> GetIc(DateTime fecha, string filePath, string filePathReturn)
{
return new Task<string>(() =>
{
var dt = new IntegracionesContabilidadDac().GetIntegracionContabilidad(fecha);
var structListClass = MapeoContabilidadDataTableToListClass(dt);
var xmlString = ConvierteListaDeClaseContablidadToXmlString(structListClass);
var xmlDoc = ConvierteStringToXml(xmlString);
xmlDoc.Save(filePath);
return "OK";
});
}
SQL - Eliminar registros duplicados en una tabla SQL
--
WITH FUENTE AS (
SELECT ROW_NUMBER() OVER(PARTITION BY Col1,Col2,Col3 ORDER BY (SELECT NULL)) AS R_ID,Col1,Col2,Col3
FROM MyTable) DELETE FROM FUENTE WHERE R_ID > 1;
--
ejemplo práctico:
WITH FUENTE AS (
SELECT ROW_NUMBER() OVER(PARTITION BY tipo, num_factura ORDER BY (SELECT NULL)) AS R_ID,tipo, num_factura
FROM leaseoper..t_facturas_joel_borrar) DELETE FROM FUENTE WHERE R_ID > 1;
Suscribirse a:
Entradas (Atom)