public IActionResult getMutasi(String StoreCode) { List <InventoryTransactionLines> listtransline = _context.InventoryTransactionLines.ToList(); List <Item> listitem = _context.Item.ToList(); List <MutasiOrder> deliveryOrders = new List <MutasiOrder>(); List <InventoryTransaction> dos = _context.InventoryTransaction.Where(c => c.WarehouseOriginal == StoreCode && c.TransactionTypeId == RetailEnum.MutasiOrderOut && c.InforBypass == true).ToList(); foreach (InventoryTransaction intrans in dos) { // tambah ini InventoryTransaction inventory = intrans; //======== //Select For Header MutasiOrder doObj = new MutasiOrder { date = DateTime.Now.ToString("yyyy-MM-dd"), id = inventory.Id, mutasiOrderId = inventory.TransactionId, status = inventory.StatusId.HasValue ? inventory.StatusId.Value : 0, totalQty = inventory.TotalQty.HasValue ? inventory.TotalQty.Value : 0, mutasiFromWarehouse = inventory.WarehouseOriginal, mutasiToWarehouse = inventory.WarehouseDestination, isPbmPbk = inventory.InforBypass.HasValue ? inventory.InforBypass.Value : false, totalAmount = _context.InventoryTransactionLines.Where(c => c.InventoryTransactionId == inventory.Id).Sum(d => d.ValueSalesPrice), }; List <MutasiOrderLine> deliveryOrderLines = new List <MutasiOrderLine>(); int sumLines = 0; // List<InventoryTransactionLines> dosLines = _context.InventoryTransactionLines.Where(c => c.InventoryTransactionId == intrans.Id).ToList(); List <InventoryTransactionLines> dosLines = _context.InventoryTransactionLines.Where(c => c.InventoryTransactionId == inventory.Id).ToList(); foreach (InventoryTransactionLines doObjLines in dosLines) { // int idx2 = indexttransline(doObjLines.Id, listtransline); InventoryTransactionLines invenlines = listtransline[idx2]; int idx3 = indextitems(invenlines.ArticleId, listitem); Item item = listitem[idx3]; MutasiOrderLine doLine = new MutasiOrderLine { id = invenlines.Id, article = new Article { articleId = item.ItemId, articleIdAlias = item.ItemIdAlias, articleName = invenlines.ArticleName }, articleIdFk = item.Id, mutasiOrderIdFk = inventory.Id, mutasiOrderId = inventory.TransactionId, quantity = invenlines.Qty.Value }; deliveryOrderLines.Add(doLine); } doObj.totalQty = inventory.TotalQty.Value; doObj.mutasiOrderLines = deliveryOrderLines; deliveryOrders.Add(doObj); } return(Ok(deliveryOrders)); }
//=============================================================================================== public async Task <Boolean> mutasiOrder() { bool isSuccess = false; try { List <MutasiOrderLine> mo_LinesList = new List <MutasiOrderLine>(); link_api = link.aLink; ckon.sqlCon().Open(); String cmd = "SELECT a.MUTASI_ORDER_ID, a.STORE_CODE, a.DATE, a._id as MoId, a.MUTASI_FROM_WAREHOUSE, a.MUTASI_TO_WAREHOUSE, " + "a.REQUEST_DELIVERY_DATE, a.STATUS, a.TIME, a.TIME_STAMP, a.TOTAL_QTY, a.EMPLOYEE_ID, a.EMPLOYEE_NAME, a.NO_SJ, " + "c._id as ArtId, c.ARTICLE_ID, c.ARTICLE_NAME, c.UNIT, c.PRICE, c.ARTICLE_ID_ALIAS, b._id as MoLineId, b.QUANTITY FROM mutasiorder a INNER JOIN mutasiorder_line b " + "ON a.MUTASI_ORDER_ID = b.MUTASI_ORDER_ID INNER JOIN article c " + "ON c.ARTICLE_ID = b.ARTICLE_ID WHERE a.STATUS_API = 0"; ckon.sqlDataRd = sql.ExecuteDataReader(cmd, ckon.sqlCon()); if (ckon.sqlDataRd.HasRows) { while (ckon.sqlDataRd.Read()) { id_m_o2 = Convert.ToString(ckon.sqlDataRd["MUTASI_ORDER_ID"]); seq_number_substring = id_m_o2.Substring(12); store_code2 = Convert.ToString(ckon.sqlDataRd["STORE_CODE"]); date2 = Convert.ToString(ckon.sqlDataRd["DATE"]); id_Mo2 = Convert.ToInt32(ckon.sqlDataRd["MoId"]); mut_from_war2 = Convert.ToString(ckon.sqlDataRd["MUTASI_FROM_WAREHOUSE"]); mut_to_war2 = Convert.ToString(ckon.sqlDataRd["MUTASI_TO_WAREHOUSE"]); req_dev_date2 = Convert.ToString(ckon.sqlDataRd["REQUEST_DELIVERY_DATE"]); status2 = Convert.ToInt32(ckon.sqlDataRd["STATUS"]); time2 = Convert.ToString(ckon.sqlDataRd["TIME"]); timestamp2 = Convert.ToString(ckon.sqlDataRd["TIME_STAMP"]); totalqty2 = Convert.ToInt32(ckon.sqlDataRd["TOTAL_QTY"]); epy_id = Convert.ToString(ckon.sqlDataRd["EMPLOYEE_ID"]); epy_name = Convert.ToString(ckon.sqlDataRd["EMPLOYEE_NAME"]); no_sj = Convert.ToString(ckon.sqlDataRd["NO_SJ"]); id_article2 = Convert.ToInt32(ckon.sqlDataRd["ArtId"]); id_from_article2 = Convert.ToString(ckon.sqlDataRd["ARTICLE_ID"]); articleName2 = Convert.ToString(ckon.sqlDataRd["ARTICLE_NAME"]); unit2 = Convert.ToString(ckon.sqlDataRd["UNIT"]); price_article2 = Convert.ToInt32(ckon.sqlDataRd["PRICE"]); art_id_alias = Convert.ToString(ckon.sqlDataRd["ARTICLE_ID_ALIAS"]); id_article_Fk2 = id_article2; id_MO_Line2 = Convert.ToInt32(ckon.sqlDataRd["MoLineId"]); qty2 = Convert.ToInt32(ckon.sqlDataRd["QUANTITY"]); MutasiOrderLine mo_line = new MutasiOrderLine() { article = new Article { articleId = id_from_article2, articleName = articleName2, unit = unit2, id = id_article2, price = price_article2, articleIdAlias = art_id_alias }, articleIdFk = id_article_Fk2, id = id_MO_Line2, mutasiOrderId = id_m_o2, mutasiOrderIdFk = id_Mo2, quantity = qty2, unit = unit2 }; mo_LinesList.Add(mo_line); } MutasiOrder mo_new = new MutasiOrder() { storeCode = store_code2, sequenceNumber = seq_number_substring, date = date2, id = id_Mo2, mutasiFromWarehouse = mut_from_war2, mutasiToWarehouse = mut_to_war2, mutasiOrderId = id_m_o2, mutasiOrderLines = mo_LinesList, requestDeliveryDate = req_dev_date2, status = status2, time = time2, timeStamp = timestamp2, totalQty = totalqty2, employeeId = epy_id, employeeName = epy_name, oldSJ = no_sj }; var mutasiOrder = JsonConvert.SerializeObject(mo_new); var credentials = new NetworkCredential("username", "password"); var handler = new HttpClientHandler { Credentials = credentials }; var httpContent = new StringContent(mutasiOrder, Encoding.UTF8, "application/json"); using (var client = new HttpClient(handler)) { try { HttpResponseMessage message = client.PostAsync(link_api + "/api/MutasiOrder", httpContent).Result; if (message.IsSuccessStatusCode) { String cmd_update = "UPDATE mutasiorder SET STATUS_API = '1' WHERE MUTASI_ORDER_ID='" + id_m_o2 + "'"; CRUD update = new CRUD(); update.ExecuteNonQuery(cmd_update); isSuccess = true; } else { isSuccess = false; MessageBox.Show("Failed! Please try again."); } } catch (Exception ex) { isSuccess = false; MessageBox.Show(ex.ToString()); } } } return(isSuccess); } catch (Exception e) { MessageBox.Show(e.ToString()); return(isSuccess); } }