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);
        }
Exemple #2
0
        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);
        }