/// <summary> /// Encargado de cargar Documento XML /// </summary> /// <param name="doc"></param> /// <param name="respuesta"></param> /// <param name="respuestaCarga"></param> /// <param name="docCargado"></param> /// <param name="sujetoContable"></param> /// <param name="representacion"></param> private void CargarDocumentoXML(XPathDocument doc, out MensajeWCFOfDocumentoElectronico respuestaCarga, out DocumentoElectronico docCargado, SVCSujetoContable.SujetoContable sujetoContable, StringBuilder representacion) { using (XmlWriter xmlWriter = XmlWriter.Create(representacion)) { doc.CreateNavigator().WriteSubtree(xmlWriter); } respuestaCarga = documentClient.CargarXMLCompra(sujetoContable.Id, representacion.ToString(), "CORREO", -2); if (respuestaCarga.CodigoError != Logger.CODIGO_EXITOSO) { docCargado = null; this.logger.LogWriter.Write(new LogEntry() { Message = String.Format("Imposible cargar documento, error: código {0}, mensaje {1}", respuestaCarga.CodigoError, respuestaCarga.MensajeHumano), Categories = new List <string> { "General" }, Priority = 1, ProcessName = Logger.PROCESS_NAME }); } else { docCargado = respuestaCarga.Contenido.First(); this.logger.LogWriter.Write(new LogEntry() { Message = String.Format("Documento cargado N°:{0}", docCargado.Id.ToString()), Categories = new List <string> { "General" }, Priority = 1, ProcessName = Logger.PROCESS_NAME }); } }
/// <summary> /// Cuando un documento no se puede cargar (Por x razón) este método se encargará /// de reenviar dicho documento a otro correo /// </summary> /// <param name="doc"></param> /// <param name="respuestaCarga"></param> private void ReportMessage(IMessageSummary summary, IEnumerable <BodyPartBasic> attachments, MensajeWCFOfDocumentoElectronico respuestaCarga) { try { var builder = new BodyBuilder() { TextBody = String.Format("El intento de carga de documento adjunto al mensage {0} ha fallado! motivo: {1}", summary.UniqueId.ToString(), respuestaCarga.MensajeHumano ) }; send(summary, attachments, builder); } catch (Exception) { throw; } }