Пример #1
0
        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);
        }
Пример #2
0
        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);
        }