public static async Task <IActionResult> Run( [HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = "status/{id}")] HttpRequest req, string id, [CosmosDB( databaseName: "DocumentProxy", collectionName: "Documents", Id = "{id}", CreateIfNotExists = true, ConnectionStringSetting = "CosmosDBConnection")] DocumentDetails document, ILogger log) { log.LogInformation($"Get Status for {id}."); if (document == null) { return(new BadRequestObjectResult("Invalid request")); } var latestUpdate = document.Status.LastOrDefault(); var response = new DocumentStatusResponse { Body = document.Body, CreatedOn = document.CreatedOn, Status = latestUpdate?.Status, Detail = latestUpdate?.Detail, UpdatedOn = latestUpdate == null ? document.CreatedOn : latestUpdate.CreatedOn }; return(new OkObjectResult(response)); }
private void btnEstadoDocumento_Click(object sender, EventArgs e) { DocumentStatusResponse resp = serviceClient.EstadoDocumento(tokenEmpresa, tokenAuthorizacion, tbxEstadoDocumento.Text.Trim()); MessageBox.Show(resp.codigo + Environment.NewLine + resp.estatusDocumento + Environment.NewLine + resp.mensaje, "Estado de Documento"); }
public Dictionary <string, string> DocumentStatus(string transactionId) { #region Variables de trabajo string step = "ConfigWS"; string methodName = "DocumentStatus"; DocumentStatusResponse wsResp = null; DocumentStatusRequest wsReq = new DocumentStatusRequest(); Dictionary <string, string> dictResult = this.FaultDictionary(); #endregion try { #region Diccionario de respuesta dictResult.Add("methodName", methodName); dictResult.Add("transactionId", transactionId); dictResult.Add("processName", ""); dictResult.Add("processStatus", ""); dictResult.Add("processDate", ""); dictResult.Add("messageType", ""); #endregion #region Inicializacion WS this.Initialize(); wsReq.transactionId = transactionId; wsReq.companyId = this.m_Company; wsReq.accountId = this.m_Account; #endregion #region Llamado al WS try { step = "BeforeWS"; wsResp = this.m_Proxy.DocumentStatus(wsReq); step = "AfterWS"; if (wsResp == null) { this.SetException(dictResult, "DocumentStatusResponse nulo", "Se realizó correctamente el llamado al metodo DocumentStatus y devolvio respuesta null"); } else { step = "BeforeDict"; dictResult["processName"] = wsResp.processName; dictResult["processStatus"] = wsResp.processStatus; dictResult["processDate"] = wsResp.processDate.ToString("yyyy-MM-ddTHH:mm:ss.fff-05:00"); dictResult["messageType"] = wsResp.messageType; dictResult["errorMessage"] = wsResp.errorMessage; step = "AfterDict"; } } catch (FaultException <InvoiceServiceFault> faultException) { var detail = faultException.Detail; this.SetException(dictResult, detail.errorMessage, detail.statusCode, detail.reasonPhrase); } catch (ProtocolException protocolExc) { this.SetException(dictResult, protocolExc.Message, protocolExc.StackTrace); } #endregion } catch (Exception excepcion) { this.SetException(dictResult, excepcion.Message, excepcion.StackTrace); } finally { dictResult["Step"] = step; } return(dictResult); }