public static async Task <HttpResponseMessage> Run( [HttpTrigger(AuthorizationLevel.Function, "post", Route = null)] HttpRequest req, ILogger log) { Response response = new Response(); try { string requestBody = await new StreamReader(req.Body).ReadToEndAsync(); string connectionstring = Environment.GetEnvironmentVariable("connectionstring"); var salesreturnrequestobj = JsonConvert.DeserializeObject <SalesReturnRequest>(requestBody); //Temp Code if (!string.IsNullOrEmpty(salesreturnrequestobj.issuccess)) { var responsestring = ECOM_POST_ReverseManifest(salesreturnrequestobj); var ecomres = JsonConvert.DeserializeObject <Ecom_Response>(responsestring); Random generator = new Random(); String r = generator.Next(1, 999999).ToString("D5"); var tt = ecomres.RESPONSE_OBJECTS.AIRWAYBILL_OBJECTS.AIRWAYBILL.success; response.success = true; response.awb_no = ecomres.RESPONSE_OBJECTS.AIRWAYBILL_OBJECTS.AIRWAYBILL.airwaybill_number; response.carrier_code = "ecomexpress"; response.carrier_name = "Ecomexpress"; response.msg = "return created successfully"; response.sap_return_id = generator.Next(1, 999999).ToString("D5"); return(new HttpResponseMessage(HttpStatusCode.OK) { Content = new StringContent(JsonConvert.SerializeObject(response), Encoding.UTF8, "application/json") }); } sapresponse sapres = SAP_POST_SalesReturn(salesreturnrequestobj); if (sapres.MSG_TYP == "e") { response.success = false; response.awb_no = ""; response.carrier_code = "ecomexpress"; response.carrier_name = "Ecomexpress"; response.msg = sapres.message; response.sap_return_id = ""; return(new HttpResponseMessage(HttpStatusCode.OK) { Content = new StringContent(JsonConvert.SerializeObject(response), Encoding.UTF8, "application/json") }); } if (sapres.MSG_TYP == "s") { var responsestring = ECOM_POST_ReverseManifest(salesreturnrequestobj); var ecomres = JsonConvert.DeserializeObject <Ecom_Response>(responsestring); Random generator = new Random(); String r = generator.Next(1, 999999).ToString("D5"); var tt = ecomres.RESPONSE_OBJECTS.AIRWAYBILL_OBJECTS.AIRWAYBILL.success; response.success = true; response.awb_no = ecomres.RESPONSE_OBJECTS.AIRWAYBILL_OBJECTS.AIRWAYBILL.airwaybill_number; response.carrier_code = "ecomexpress"; response.carrier_name = "Ecomexpress"; response.msg = "return created successfully"; response.sap_return_id = sapres.ordernumber; return(new HttpResponseMessage(HttpStatusCode.OK) { Content = new StringContent(JsonConvert.SerializeObject(response), Encoding.UTF8, "application/json") }); } } catch (Exception ex) { response.success = false; response.awb_no = ""; response.carrier_code = "ecomexpress"; response.carrier_name = "Ecomexpress"; response.msg = ex.Message; response.sap_return_id = ""; } return(new HttpResponseMessage(HttpStatusCode.OK) { Content = new StringContent(JsonConvert.SerializeObject(response), Encoding.UTF8, "application/json") }); }
public static sapresponse SAP_POST_SalesReturn(SalesReturnRequest salesreturnrequestobj) { sapresponse obj = new sapresponse(); SapRequest saprequest = new SapRequest(); saprequest.MAGENTO_ORDER_NO = salesreturnrequestobj.MAGENTO_ORDER_NO; saprequest.MAGENTO_UNIQ_NO = salesreturnrequestobj.MAGENTO_UNIQ_NO; saprequest.SAP_INVOICE_NO = salesreturnrequestobj.SAP_INVOICE_NO; saprequest.SAP_SALE_ORDER_NO = salesreturnrequestobj.SAP_SALE_ORDER_NO; var sss = new StringBuilder("<?xml version='1.0' encoding='UTF-8'?>"); sss.Append("<ZBAPI_MGN_SALES_RETURN xmlns='http://Microsoft.LobServices.Sap/2007/03/Rfc/'><IT_TABLE1><ZSTR_MGN_SALES_RETURN_IT xmlns='http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/'><MAGENTO_UNIQ_NO>" + saprequest.MAGENTO_UNIQ_NO + "</MAGENTO_UNIQ_NO><MAGENTO_ORDER_NO>" + saprequest.MAGENTO_ORDER_NO + "</MAGENTO_ORDER_NO><SAP_SALE_ORDER_NO>" + saprequest.SAP_SALE_ORDER_NO + "</SAP_SALE_ORDER_NO><SAP_INVOICE_NO>" + saprequest.SAP_INVOICE_NO + "</SAP_INVOICE_NO></ZSTR_MGN_SALES_RETURN_IT></IT_TABLE1></ZBAPI_MGN_SALES_RETURN>"); var lapp_salesreturnurl = Environment.GetEnvironmentVariable("lapp_salesreturnurl"); var content = new StringContent(sss.ToString()); using (var client = new HttpClient()) { var result = client.PostAsync(lapp_salesreturnurl, content).Result; if (result.IsSuccessStatusCode) { XmlDocument xmlDoc = new XmlDocument(); // var q = XDocument.Parse(res, LoadOptions.PreserveWhitespace); //var or = resq.Replace("\"", "'"); string p = result.Content.ReadAsStringAsync().Result; var t = p.Replace("xmlns", "name"); xmlDoc.LoadXml(t); string MSG_TYP = xmlDoc.SelectSingleNode("ZBAPI_MGN_SALES_RETURNResponse/RETURN/ZSTR_MGN_SALES_RETURN_ET/MSG_TYP").InnerText; if (MSG_TYP.ToLower() == "s") { string MESSAGE = xmlDoc.SelectSingleNode("ZBAPI_MGN_SALES_RETURNResponse/RETURN/ZSTR_MGN_SALES_RETURN_ET/MESSAGE").InnerText; string MAGENTO_UNIQ_NO = xmlDoc.SelectSingleNode("ZBAPI_MGN_SALES_RETURNResponse/RETURN/ZSTR_MGN_SALES_RETURN_ET/MAGENTO_UNIQ_NO").InnerText; string RETURN_ORD_NO = xmlDoc.SelectSingleNode("ZBAPI_MGN_SALES_RETURNResponse/RETURN/ZSTR_MGN_SALES_RETURN_ET/RETURN_ORD_NO").InnerText; string SAP_INVOICE_NO = xmlDoc.SelectSingleNode("ZBAPI_MGN_SALES_RETURNResponse/RETURN/ZSTR_MGN_SALES_RETURN_ET/SAP_INVOICE_NO").InnerText; obj.ordernumber = RETURN_ORD_NO; obj.SAP_INVOICE_NO = SAP_INVOICE_NO; obj.message = MESSAGE; obj.MSG_TYP = MSG_TYP.ToLower(); } if (string.IsNullOrEmpty(MSG_TYP) || MSG_TYP.ToLower() == "e") { string MESSAGE = xmlDoc.SelectSingleNode("ZBAPI_MGN_SALES_RETURNResponse/RETURN/ZSTR_MGN_SALES_RETURN_ET/MESSAGE").InnerText; //string MSG_TYP = xmlDoc.SelectSingleNode("ZBAPI_MGN_SALES_RETURNResponse/RETURN/ZSTR_MGN_SALES_RETURN_ET/MSG_TYP").InnerText; string MAGENTO_UNIQ_NO = xmlDoc.SelectSingleNode("ZBAPI_MGN_SALES_RETURNResponse/RETURN/ZSTR_MGN_SALES_RETURN_ET/MAGENTO_UNIQ_NO").InnerText; string RETURN_ORD_NO = xmlDoc.SelectSingleNode("ZBAPI_MGN_SALES_RETURNResponse/RETURN/ZSTR_MGN_SALES_RETURN_ET/RETURN_ORD_NO").InnerText; string SAP_INVOICE_NO = xmlDoc.SelectSingleNode("ZBAPI_MGN_SALES_RETURNResponse/RETURN/ZSTR_MGN_SALES_RETURN_ET/SAP_INVOICE_NO").InnerText; // obj.ordernumber = RETURN_ORD_NO; // obj.SAP_INVOICE_NO = SAP_INVOICE_NO; obj.message = MESSAGE; obj.MSG_TYP = "e"; } } return(obj); } }