public async Task <String> RecieveRequestOrderManual([FromBody] DeliveryOrderApproval transaction, int id) { //this.getDeliveryOrderIdLines(transaction.deliveryOrderId, id); var credentials = new NetworkCredential(inforConfig.username, inforConfig.password); var handler = new HttpClientHandler { Credentials = credentials }; handler.ServerCertificateCustomValidationCallback = (message, cert, chain, errors) => { return(true); }; String status = ""; using (var client = new HttpClient(handler)) { // Make your request... client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); try { //add for DO Header InforDeliveryReciepts inforObj = new InforDeliveryReciepts(); inforObj.program = "MHS850MI"; List <TransactionDeliveryReciepts> listTransaction = new List <TransactionDeliveryReciepts>(); for (int i = 0; i < transaction.deliveryOrderLines.Count; i++) { // var artikelaidifk = _context.Item.Where(x => x.Id == transaction.deliveryOrderLines[i].articleIdFk).First().ItemIdAlias; //InventoryTransactionLines transactionLines = _context.InventoryTransactionLines.Where(c => c.InventoryTransactionId == id //&& c.ArticleId == transaction.deliveryOrderLines[i].article.articleIdAlias && c.PackingNumber == transaction.deliveryOrderLines[i].packingNumber).First(); Models.InventoryTransactionLines transactionLines = _context.InventoryTransactionLines.Find(transaction.deliveryOrderLines[i].id); TransactionDeliveryReciepts t = new TransactionDeliveryReciepts(); t.transaction = "AddDOReceipt"; RecordDeliveryReciepts record = new RecordDeliveryReciepts(); record.PRFL = "*EXE"; record.WHLO = transaction.warehouseTo; record.TWHL = "200"; record.E0PA = "FSH"; record.E065 = "FSH"; record.ITNO = transaction.deliveryOrderLines[i].article.articleIdAlias;//transaction.deliveryOrderLines[i].article.articleIdAlias; record.WHSL = "FG0101"; record.QTY = transaction.deliveryOrderLines[i].qtyReceive + ""; record.RIDN = transaction.transactionId + ""; record.RIDL = (transactionLines.Urridl.HasValue ? transactionLines.Urridl.Value : 0) + ""; record.RIDI = (transactionLines.Urdlix.HasValue ? transactionLines.Urdlix.Value : 0) + ""; record.PACN = transactionLines.PackingNumber; t.record = record; listTransaction.Add(t); } inforObj.transactions = listTransaction; HttpResponseMessage message = await client.PostAsJsonAsync(Config.General.urlInfor, inforObj); if (message.IsSuccessStatusCode) { status = message.ToString(); var serializer = new DataContractJsonSerializer(typeof(InforObjPostReturn)); var result = message.Content.ReadAsStringAsync().Result; byte[] byteArray = Encoding.UTF8.GetBytes(result); MemoryStream stream = new MemoryStream(byteArray); InforObjPostReturn resultData = serializer.ReadObject(stream) as InforObjPostReturn; // status = "Return : " + resultData.results[0].errorMessage + "Sukses "+ resultData.nrOfSuccessfullTransactions; IntegrationLog log = new IntegrationLog(); log.Description = transaction.deliveryOrderId; try { log.ErrorMessage = resultData.results[0].errorMessage; } catch { } log.NrOfFailedTransactions = resultData.nrOfFailedTransactions; log.NrOfSuccessfullTransactions = resultData.nrOfSuccessfullTransactions; if (log.NrOfSuccessfullTransactions > 0) { log.RefNumber = transaction.transactionId + ""; } else { log.RefNumber = transaction.transactionId + ""; } log.NumOfLineSubmited = listTransaction.Count; log.TransactionType = "MHS850MI - AddDOReceipt"; log.Json = JsonConvert.SerializeObject(inforObj); _context.IntegrationLog.Add(log); _context.SaveChanges(); } else { status = "Failed : " + message.ToString(); } //add for DO Lines } catch (Exception ex) { status = ex.ToString(); } } return(status); }
public async Task <String> postHOTransction([FromBody] DeliveryOrderApproval transaction, long id) { var credentials = new NetworkCredential(inforConfig.username, inforConfig.password); var handler = new HttpClientHandler { Credentials = credentials }; handler.ServerCertificateCustomValidationCallback = (message, cert, chain, errors) => { return(true); }; String status = ""; using (var client = new HttpClient(handler)) { // Make your request... client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); try { //add for DO Header InforDeliveryOrderPOST inforObj = new InforDeliveryOrderPOST(); inforObj.program = "MHS850MI"; List <TransactionDeliveryPOST> listTransaction = new List <TransactionDeliveryPOST>(); for (int i = 0; i < transaction.deliveryOrderLines.Count; i++) { TransactionDeliveryPOST t = new TransactionDeliveryPOST(); t.transaction = "AddDO"; RecordDeliveryPOST record = new RecordDeliveryPOST(); record.PRMD = "*EXE"; record.CONO = "770"; if (transaction.storeCode == transaction.warehouseFrom) { record.WHLO = transaction.warehouseFrom; // AAAB : to warehose //record.CUNO = _context.Customer.Where(c => c.StoreId == _context.Store.Where(d => d.Code == transaction.mutasiToWarehouse).First().Id).First().CustId; record.CUNO = transaction.warehouseTo; } else if (transaction.storeCode == transaction.warehouseTo) { record.WHLO = transaction.warehouseFrom; // AAAB : to warehose //record.CUNO = _context.Customer.Where(c => c.StoreId == _context.Store.Where(d => d.Code == transaction.mutasiToWarehouse).First().Id).First().CustId; record.CUNO = transaction.warehouseTo; } else { //adding for HO Transaction //add on 31 Oktober 2019 //by frank record.WHLO = transaction.warehouseFrom; // AAAB : to warehose record.CUNO = transaction.warehouseTo; } record.E0PA = "FSH"; record.E0PB = "FSH"; record.E065 = "FSH"; record.ITNO = transaction.deliveryOrderLines[i].article.articleIdAlias; record.WHSL = "FG0101"; record.TWSL = "FG0101"; record.ALQT = transaction.deliveryOrderLines[i].qtyReceive + ""; record.DLQT = transaction.deliveryOrderLines[i].qtyReceive + ""; record.TRTP = transaction.transactionHOType; record.USD4 = "PCS"; record.GEDT = transaction.deliveryDate; record.RPDT = transaction.deliveryDate; //DateTime.Now.ToString("ddMMyy"); record.RESP = "INFOR"; record.RIDL = (i + 1) + ""; record.RIDN = id + ""; // record.RORN = transaction.remarks; t.record = record; listTransaction.Add(t); // break; } inforObj.transactions = listTransaction; HttpResponseMessage message = await client.PostAsJsonAsync(Config.General.urlInfor, inforObj); if (message.IsSuccessStatusCode) { status = message.ToString(); var serializer = new DataContractJsonSerializer(typeof(InforObjPostReturn)); var result = message.Content.ReadAsStringAsync().Result; byte[] byteArray = Encoding.UTF8.GetBytes(result); MemoryStream stream = new MemoryStream(byteArray); InforObjPostReturn resultData = serializer.ReadObject(stream) as InforObjPostReturn; // status = "Return : " + resultData.results[0].errorMessage + "Sukses "+ resultData.nrOfSuccessfullTransactions; IntegrationLog log = new IntegrationLog(); log.Description = transaction.deliveryOrderId; try { log.ErrorMessage = resultData.results[0].errorMessage; } catch { } log.NrOfFailedTransactions = resultData.nrOfFailedTransactions; log.NrOfSuccessfullTransactions = resultData.nrOfSuccessfullTransactions; if (log.NrOfSuccessfullTransactions > 0) { log.RefNumber = id + ""; } else { log.RefNumber = id + ""; } log.NumOfLineSubmited = listTransaction.Count; log.TransactionType = "MHS850MI"; log.Json = JsonConvert.SerializeObject(inforObj); _context.IntegrationLog.Add(log); _context.SaveChanges(); } else { status = "Failed : " + message.ToString(); } } catch (Exception ex) { status = ex.ToString(); } } return(status); }