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> postPettyCash([FromBody] PettyCash transaction, int id, String roundNumberParam) { var credentials = new NetworkCredential(inforConfig.username, inforConfig.password); var handler = new HttpClientHandler { Credentials = credentials }; handler.ServerCertificateCustomValidationCallback = (message, cert, chain, errors) => { return(true); }; String status = ""; String roundNumber = roundNumberParam; using (var client = new HttpClient(handler)) { // Make your request... client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); try { InforPettyCash inforObjTrans = new InforPettyCash(); inforObjTrans.program = "OPS270MI"; List <TransactionPettyCash> listTransaction = new List <TransactionPettyCash>(); for (int i = 0; i < transaction.pettyCashLine.Count; i++) { TransactionPettyCash t = new TransactionPettyCash(); t.transaction = "AddSlsTicketLin"; RecordPettyCash record = new RecordPettyCash(); record.CONO = "770"; record.DIVI = "AAA"; record.XRCD = "7000"; record.ITRN = roundNumber; record.WHLO = transaction.storeCode; record.ORNO = "PC" + id + ""; record.DLIX = "1"; record.PONR = (i + 1) + ""; record.POSX = "00"; record.CUCD = "IDR"; record.CUNO = transaction.customerIdStore; record.ITNO = transaction.expenseCategoryId; record.TRDT = DateTime.Now.ToString("yyyyMMdd"); record.TRTM = DateTime.Now.ToString("HHmmss");//"113000"; record.CUAM = transaction.pettyCashLine[i].total + ""; record.CSHC = "CSH"; record.VTCD = "0"; record.PYCD = "CSH"; record.ALUN = "PCS"; record.IVQA = transaction.pettyCashLine[i].quantity + ""; record.REFE = transaction.pettyCashLine[i].expenseName; record.INYR = DateTime.Now.Year + ""; record.VTP1 = 0 + ""; record.ARAT = 1 + ""; record.CRTP = 1 + ""; t.record = record; listTransaction.Add(t); } //sales ticket line inforObjTrans.transactions = listTransaction; HttpResponseMessage message = await client.PostAsJsonAsync(General.urlInfor, inforObjTrans); 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.pettyCashId; log.ErrorMessage = resultData.results[0].errorMessage; log.NrOfFailedTransactions = resultData.nrOfFailedTransactions; log.NrOfSuccessfullTransactions = resultData.nrOfSuccessfullTransactions; log.NumOfLineSubmited = listTransaction.Count; log.RefNumber = transaction.pettyCashId + ""; log.Json = JsonConvert.SerializeObject(inforObjTrans); log.TransactionType = "OPS270MI-PettyCashTcktLine"; _context.IntegrationLog.Add(log); _context.SaveChanges(); } else { status = "Failed : " + message.ToString(); } //send ticket pay List <TransactionPettyCash> listTransactionPay = new List <TransactionPettyCash>(); InforPettyCash inforObjPay = new InforPettyCash(); inforObjPay.program = "OPS270MI"; TransactionPettyCash tRansactionAddSlsTicketPay = new TransactionPettyCash(); tRansactionAddSlsTicketPay.transaction = "AddSlsTicketPay"; RecordPettyCash recordAddSlsTicketPayEDC2 = new RecordPettyCash(); recordAddSlsTicketPayEDC2.CONO = "770"; recordAddSlsTicketPayEDC2.DLIX = "1"; recordAddSlsTicketPayEDC2.DIVI = "AAA"; recordAddSlsTicketPayEDC2.XRCD = "7090"; recordAddSlsTicketPayEDC2.ITRN = roundNumber; recordAddSlsTicketPayEDC2.WHLO = transaction.storeCode; recordAddSlsTicketPayEDC2.ORNO = "PC" + id + ""; recordAddSlsTicketPayEDC2.PONR = (transaction.pettyCashLine.Count + 1) + ""; recordAddSlsTicketPayEDC2.POSX = "00"; recordAddSlsTicketPayEDC2.CUCD = "IDR"; recordAddSlsTicketPayEDC2.TRDT = DateTime.Now.ToString("yyyyMMdd"); recordAddSlsTicketPayEDC2.TRTM = DateTime.Now.ToString("HHmmss");//"113000"; recordAddSlsTicketPayEDC2.CUAM = transaction.totalExpense + ""; recordAddSlsTicketPayEDC2.PYCD = "CSH"; recordAddSlsTicketPayEDC2.REFE = transaction.expenseCategory; recordAddSlsTicketPayEDC2.ARAT = "1"; recordAddSlsTicketPayEDC2.CRTP = "1"; recordAddSlsTicketPayEDC2.ALUN = "PCS"; recordAddSlsTicketPayEDC2.CSHC = "CSH"; tRansactionAddSlsTicketPay.record = recordAddSlsTicketPayEDC2; listTransactionPay.Add(tRansactionAddSlsTicketPay); inforObjPay.transactions = listTransactionPay; HttpResponseMessage messagebatch = await client.PostAsJsonAsync(Config.General.urlInfor, inforObjPay); if (messagebatch.IsSuccessStatusCode) { status = messagebatch.ToString(); var serializer = new DataContractJsonSerializer(typeof(InforObjPostReturn)); var result = messagebatch.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.pettyCashId; log.ErrorMessage = resultData.results[0].errorMessage; log.NrOfFailedTransactions = resultData.nrOfFailedTransactions; log.NrOfSuccessfullTransactions = resultData.nrOfSuccessfullTransactions; log.NumOfLineSubmited = listTransaction.Count; log.RefNumber = transaction.pettyCashId + ""; log.Json = JsonConvert.SerializeObject(inforObjPay); log.TransactionType = "OPS270MI-PettyCashTkcPay"; _context.IntegrationLog.Add(log); _context.SaveChanges(); } //end for pay //send batch //for auto batch List <TransactionPettyCash> listTransactionbatch = new List <TransactionPettyCash>(); InforPettyCash inforObjBatch = new InforPettyCash(); inforObjBatch.program = "OPS270MI"; TransactionPettyCash tRansactionAddBatch = new TransactionPettyCash(); tRansactionAddBatch.transaction = "BchPrcRound"; RecordPettyCash recordRoundNumber = new RecordPettyCash(); recordRoundNumber.CONO = "770"; recordRoundNumber.ITRN = roundNumber; recordRoundNumber.DIVI = "AAA"; recordRoundNumber.TRDT = DateTime.Now.ToString("yyyyMMdd"); recordRoundNumber.WHLO = transaction.storeCode; recordRoundNumber.ACDT = DateTime.Now.ToString("yyyyMMdd"); tRansactionAddBatch.record = recordRoundNumber; listTransactionbatch.Add(tRansactionAddBatch); inforObjBatch.transactions = listTransactionbatch; HttpResponseMessage messageTicketPay = await client.PostAsJsonAsync(Config.General.urlInfor, inforObjBatch); if (messageTicketPay.IsSuccessStatusCode) { status = messageTicketPay.ToString(); var serializer = new DataContractJsonSerializer(typeof(InforObjPostReturn)); var result = messageTicketPay.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.pettyCashId; log.ErrorMessage = resultData.results[0].errorMessage; log.NrOfFailedTransactions = resultData.nrOfFailedTransactions; log.NrOfSuccessfullTransactions = resultData.nrOfSuccessfullTransactions; log.NumOfLineSubmited = listTransaction.Count; log.RefNumber = transaction.pettyCashId + ""; log.Json = JsonConvert.SerializeObject(inforObjBatch); log.TransactionType = "OPS270MI-PettyCashBatch"; _context.IntegrationLog.Add(log); _context.SaveChanges(); } } 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); }