public static sapresponse SAP_POST_SalesReturn(Sales_Return sapRequest) { sapresponse obj = new sapresponse(); 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(); 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 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.message = MESSAGE; obj.MSG_TYP = "e"; } } return(obj); } }
public static async Task <HttpResponseMessage> Run( [HttpTrigger(AuthorizationLevel.Function, "post", Route = null)] HttpRequest req, ILogger log) { Response response = new Response(); string res = string.Empty; try { string requestBody = await new StreamReader(req.Body).ReadToEndAsync(); string connectionstring = Environment.GetEnvironmentVariable("connectionstring"); var salesreturnrequestobj = JsonConvert.DeserializeObject <RootObject>(requestBody); //Temprory code for success if (!string.IsNullOrEmpty(salesreturnrequestobj.issuccess)) { res = Dehlivey_POST_ReverseManifest(salesreturnrequestobj); var responsedehilvery = JsonConvert.DeserializeObject <delhiveryresponse>(res); if (responsedehilvery.packages == null) { response.awb_no = ""; response.carrier_code = "delhivery"; response.carrier_name = "Delhivery"; response.msg = res; response.sap_return_id = ""; // response.sap_uniq_no = ""; response.success = false; return(new HttpResponseMessage(HttpStatusCode.OK) { Content = new StringContent(JsonConvert.SerializeObject(response), Encoding.UTF8, "application/json") }); } if (responsedehilvery.packages.Count == 0) { response.awb_no = ""; response.carrier_code = "delhivery"; response.carrier_name = "Delhivery"; response.msg = res; response.sap_return_id = ""; // response.sap_uniq_no = ""; response.success = false; return(new HttpResponseMessage(HttpStatusCode.OK) { Content = new StringContent(JsonConvert.SerializeObject(response), Encoding.UTF8, "application/json") }); } if (responsedehilvery.packages[0].status.ToLower() == "success") { Random generator = new Random(); response.awb_no = responsedehilvery.packages[0].waybill; response.carrier_code = "delhivery"; response.carrier_name = "Delhivery"; response.msg = "return created successfully"; response.sap_return_id = generator.Next(1, 999999).ToString("D5"); response.success = true; return(new HttpResponseMessage(HttpStatusCode.OK) { Content = new StringContent(JsonConvert.SerializeObject(response), Encoding.UTF8, "application/json") }); } else { response.awb_no = responsedehilvery.packages[0].waybill; response.carrier_code = "delhivery"; response.carrier_name = "Delhivery"; response.msg = responsedehilvery.packages[0].remarks[0]; response.sap_return_id = ""; // response.sap_uniq_no = ""; response.success = false; return(new HttpResponseMessage(HttpStatusCode.OK) { Content = new StringContent(JsonConvert.SerializeObject(response), Encoding.UTF8, "application/json") }); } } Sales_Return saprequest = new Sales_Return(); // sap request param 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 sapres = SAP_POST_SalesReturn(saprequest); if (sapres.MSG_TYP == "e") { response.awb_no = ""; response.carrier_code = "delhivery"; response.carrier_name = "Delhivery"; response.msg = sapres.message; response.sap_return_id = ""; response.success = false; return(new HttpResponseMessage(HttpStatusCode.OK) { Content = new StringContent(JsonConvert.SerializeObject(response), Encoding.UTF8, "application/json") }); } if (sapres.MSG_TYP == "s") { res = Dehlivey_POST_ReverseManifest(salesreturnrequestobj); var responsedehilvery = JsonConvert.DeserializeObject <delhiveryresponse>(res); if (responsedehilvery.packages[0].status.ToLower() == "success") { response.awb_no = responsedehilvery.packages[0].waybill; response.carrier_code = "delhivery"; response.carrier_name = "Delhivery"; response.msg = "return created successfully"; response.sap_return_id = sapres.ordernumber; response.success = true; } else { response.awb_no = responsedehilvery.packages[0].waybill; response.carrier_code = "delhivery"; response.carrier_name = "Delhivery"; response.msg = responsedehilvery.packages[0].remarks[0]; response.sap_return_id = sapres.ordernumber; response.success = false; } return(new HttpResponseMessage(HttpStatusCode.OK) { Content = new StringContent(JsonConvert.SerializeObject(response), Encoding.UTF8, "application/json") }); } response.awb_no = ""; response.carrier_code = "delhivery"; response.carrier_name = "Delhivery"; response.msg = ""; response.sap_return_id = ""; response.success = false; return(new HttpResponseMessage(HttpStatusCode.OK) { Content = new StringContent(JsonConvert.SerializeObject(response), Encoding.UTF8, "application/json") }); } catch (Exception ex) { response.awb_no = ""; response.carrier_code = "delhivery"; response.carrier_name = "Delhivery"; response.msg = ex.Message; response.sap_return_id = ""; response.success = false; return(new HttpResponseMessage(HttpStatusCode.OK) { Content = new StringContent(JsonConvert.SerializeObject(response), Encoding.UTF8, "application/json") }); } }