public CornetTransactionRegistrationReply RegisterCornetTransaction(CornetTransaction cornetTransaction) { Console.WriteLine("In RegisterCornetTransaction"); CornetTransactionRegistrationReply cornetregreply = new CornetTransactionRegistrationReply(); CornetTransactionRegistration.getInstance().Add(cornetTransaction); cornetregreply.ResponseMessage = "Success"; cornetregreply.ResponseCode = "1"; return(cornetregreply); }
public CornetTransactionRegistrationReply RegisterCornetTransaction(CornetTransaction cornetTransaction) { Console.WriteLine(DateTime.Now + " In RegisterCornetTransaction"); CornetTransactionRegistrationReply cornetregreply = new CornetTransactionRegistrationReply(); CornetTransactionRegistration.getInstance().Add(cornetTransaction); Console.WriteLine(DateTime.Now + " Received data from Cornet"); var t = Task.Run(() => CallDynamicsWithCornetData(_configuration, cornetTransaction)); t.Wait(); Console.WriteLine(DateTime.Now + " Sent data to Dynamics"); if (t.Result.Contains("Cornet Notification ")) { cornetregreply.ResponseCode = "200"; cornetregreply.ResponseMessage = "Success"; Console.WriteLine(DateTime.Now + " Response Success"); } else { //JObject tempJson = JObject.Parse(t.Result); //CornetDynamicsReply replyJson = new CornetDynamicsReply(); //if (t.IsCompletedSuccessfully == true) //{ // cornetregreply.ResponseMessage = "Success"; // cornetregreply.ResponseCode = null;// t.Result; // Console.WriteLine(DateTime.Now + " Response Success"); //} //else //{ cornetregreply.ResponseMessage = "Failure"; cornetregreply.ResponseCode = t.Result; Console.WriteLine(DateTime.Now + " Response Fail"); //} } // Responses as follows: // 200 - Status OK - Automatically Done // 400 - Bad Request (Malformed JSON) - Automatically Done // 500 - Internal Server Error (Something wrong on our end) // 201 - If anything is being created on our end based on the notification sent // This next line is just a sample of how to do it: //this.HttpContext.Response.StatusCode = 444; Console.WriteLine(DateTime.Now + " Exit RegisterCornetTransaction"); return(cornetregreply); }
public IActionResult InsertCornetTransaction(CornetTransaction cornetTransaction) { try { Console.WriteLine("In InsertCornetTransaction"); CornetTransactionRegistrationReply casregreply = new CornetTransactionRegistrationReply(); CornetTransactionRegistration.getInstance().Add(cornetTransaction); casregreply.ResponseMessage = "Success"; return(Ok(casregreply)); } catch (Exception e) { Console.WriteLine("Error in InsertCornetTransaction. " + e.ToString()); return(StatusCode(e.HResult)); } }
public static CornetDynamicsModel ToCornetDynamicsModel(this CornetTransaction model) { CornetDynamicsModel cornetTransaction = new CornetDynamicsModel(); cornetTransaction.EventId = model.event_message_id; cornetTransaction.EventType = model.message_event_type_cd; cornetTransaction.EventDate = model.event_dtm; cornetTransaction.DataElement1 = model.event_data[0].data_element_nm; cornetTransaction.DataValue1 = model.event_data[0].data_value_txt; cornetTransaction.DataElement2 = model.event_data[1].data_element_nm; cornetTransaction.DataValue2 = model.event_data[1].data_value_txt; cornetTransaction.DataElement3 = model.event_data[2].data_element_nm; cornetTransaction.DataValue3 = model.event_data[2].data_value_txt; cornetTransaction.DataElement4 = model.event_data[3].data_element_nm; cornetTransaction.DataValue4 = model.event_data[3].data_value_txt; return(cornetTransaction); }
public static CornetDynamicsModel ToCornetDynamicsModel(this CornetTransaction model) { CornetDynamicsModel cornetTransaction = new CornetDynamicsModel(); cornetTransaction.EventId = model.event_message_id; cornetTransaction.EventType = model.message_event_type_cd; cornetTransaction.EventDate = model.event_dtm; cornetTransaction.OrgJSON = JsonConvert.SerializeObject(model); // TODO: Remove for PROD cornetTransaction.DataElement1 = model.event_data[0].data_element_nm; cornetTransaction.DataValue1 = model.event_data[0].data_value_txt; cornetTransaction.DataElement2 = model.event_data[1].data_element_nm; cornetTransaction.DataValue2 = model.event_data[1].data_value_txt; cornetTransaction.DataElement3 = model.event_data[2].data_element_nm; cornetTransaction.DataValue3 = model.event_data[2].data_value_txt; cornetTransaction.DataElement4 = model.event_data[3].data_element_nm; cornetTransaction.DataValue4 = model.event_data[3].data_value_txt; return(cornetTransaction); }
private static async Task <string> CallDynamicsWithCornetData(IConfiguration configuration, CornetTransaction model) { Console.WriteLine(DateTime.Now + " In CallDynamicsWithCornetData"); HttpClient httpClient = null; try { var cornetData = model.ToCornetDynamicsModel(); JsonSerializerSettings settings = new JsonSerializerSettings(); settings.NullValueHandling = NullValueHandling.Ignore; var cornetJson = JsonConvert.SerializeObject(cornetData, settings); cornetJson = cornetJson.Replace("odatatype", "@odata.type"); // Get results into the tuple var endpointAction = "vsd_CreateCORNETNotifications"; Console.WriteLine(DateTime.Now + " Set endpoint " + endpointAction); var tuple = await GetDynamicsHttpClientNew(configuration, cornetJson, endpointAction); Console.WriteLine(DateTime.Now + " Got result from Dynamics"); string tempResult = tuple.Item1.ToString(); string tempJson = tuple.Item3.ToString(); tempJson = tempJson.Replace("@odata.context", "oDataContext"); DynamicsResponseModel deserializeJson = JsonConvert.DeserializeObject <DynamicsResponseModel>(tempJson); DynamicsResponse dynamicsResponse = new DynamicsResponse(); dynamicsResponse.IsSuccess = deserializeJson.IsSuccess; dynamicsResponse.Result = deserializeJson.Result; if (dynamicsResponse.Result == null) { dynamicsResponse.odatacontext = tempJson; } else { dynamicsResponse.odatacontext = dynamicsResponse.Result; } Console.WriteLine(DateTime.Now + " Return results from Dynamics"); return(dynamicsResponse.odatacontext); } finally { if (httpClient != null) { httpClient.Dispose(); } } }