public void runRouteCodeChange(int orderNumber, string id, string reason, string routeCode, string tableName, string salesOrg) { string csrNote = ""; startRouteCodeLog(orderNumber, id, tableName); OrderStatus status = va02.enterOrder(orderNumber); if (status != OrderStatus.available) { va02.updateLog(status, tableName, orderNumber.ToString(), id); return; } va02.bypassInitialPopups(); status = va02.isChangeNeeded(); if (status != OrderStatus.available) { va02.updateLog(status, tableName, orderNumber.ToString(), id); return; } csrNote = $"Route Code of {orderNumber} has been changed to {routeCode}, Reason: {reason}"; ITable table = va02.getTable(); va02.moveRouteCodeColumnToIndexEight(table); int i = 0; while (table.getCellValue(i, VA02.routeCodeColumnIndex) != "") { try { table.setCellValue(i, VA02.routeCodeColumnIndex, $"{routeCode}"); // have to use by index because the table retains its indexes by name after reordering but not actual indexes within a table } catch (Exception) { sap.getRidOfPopUps(); try { table.setCellValue(i, VA02.routeCodeColumnIndex, $"{routeCode}"); } catch (NotChangeableCellException) { } } i++; } sap.pressEnter(); sap.getRidOfPopUps(); if (isPLAndCZExpection(orderNumber, id, tableName, salesOrg)) { return; } va02.soarAction(csrNote, "Route Code Changes", orderNumber); va02.save(); va02.updateOrderSavedLog(tableName, orderNumber, id); }
public void runRDDChange(int orderNumber, DateTime oldRdd, DateTime newRdd, string id, string changeReason, string tableName) { string sapNewRdd = $"{newRdd.Day}.{newRdd.Month}.{newRdd.Year}"; string sapOldRdd = $"{oldRdd.Day}.{oldRdd.Month}.{oldRdd.Year}"; string csrNote = ""; startRDDLog(orderNumber, id, tableName); OrderStatus status = va02.enterOrder(orderNumber); if (status != OrderStatus.available) { va02.updateLog(status, tableName, orderNumber.ToString(), id); return; } va02.bypassInitialPopups(); status = va02.isChangeNeeded(); if (status != OrderStatus.available) { va02.updateLog(status, tableName, orderNumber.ToString(), id); return; } va02.tryToSellectAllLines(); sap.select(VA02ID.CHANGE_RDD_BTN_ID); sap.setText(VA02ID.CHANGE_RDD_TEXT_FIELD, sapNewRdd); sap.pressBtn(VA02ID.PRESS_OK_ON_RDD_CHANGE_FIELD_BTN_ID); sap.getRidOfPopUps(); sap.pressEnter(); sap.getRidOfPopUps(); csrNote = $"RDD of {orderNumber} has been changed to {sapNewRdd} from {sapOldRdd}, Reason: {changeReason}"; while (sap.isPopUp() || sap.idExists(VA02ID.SECOND_POPUP_WINDOW_ID)) { sap.pressEnter(); } va02.soarAction(csrNote, "RDD", orderNumber); va02.save(); va02.updateOrderSavedLog(tableName, orderNumber, id); }
public void runDeliveryBlockChange(int orderNumber, string id, string changeReason, string delBlock, string tableName) { string csrNote; startDelBlockLog(orderNumber, id, tableName); OrderStatus status = va02.enterOrder(orderNumber); if (status != OrderStatus.available) { va02.updateLog(status, tableName, orderNumber.ToString(), id); return; } va02.bypassInitialPopups(); string blockID = VA02ID.DEL_BLOCK_ID.Where(x => sap.idExists(x)).First(); status = va02.isChangeNeeded(); if (status != OrderStatus.available) { va02.updateLog(status, tableName, orderNumber.ToString(), id); return; } (sap.findById(blockID) as dynamic).Key = delBlock; if (delBlock == " ") { delBlock = "empty"; } csrNote = $"Delivery block of {orderNumber} has been changed to {delBlock}, Reason: {changeReason}"; va02.soarAction(csrNote, "Delivery Block", orderNumber); va02.save(); va02.updateOrderSavedLog(tableName, orderNumber, id); }
public void runFullOrderRejection(int orderNumber, string id, string changeReason, string rejReason, string tableName) { string csrNote; startFullOrderRejectionLog(orderNumber, id, tableName); OrderStatus status = va02.enterOrder(orderNumber); if (status != OrderStatus.available) { va02.updateLog(status, tableName, orderNumber.ToString(), id); return; } va02.bypassInitialPopups(); status = va02.isChangeNeeded(); if (status != OrderStatus.available) { va02.updateLog(status, tableName, orderNumber.ToString(), id); return; } string blockID = VA02ID.DEL_BLOCK_ID.Where(x => sap.idExists(x)).First(); (sap.findById(blockID) as dynamic).Key = " "; sap.pressBtn(VA02ID.PRESS_REJECT_ORDER_BTN_ID); (sap.findById(VA02ID.REJECT_ORDER_FIELD_ID) as dynamic).Key = rejReason; sap.pressBtn(VA02ID.PRESS_CONFIRM_REJECTING_ORDER_BTN_ID); csrNote = $"Order has been rejected with {rejReason}, Reason: {changeReason}"; va02.soarAction(csrNote, "Order Rejection", orderNumber); va02.save(); va02.updateOrderSavedLog(tableName, orderNumber, id); }
public OrderStatus runSwitches(SwitchesSapOrderProperty switchObj, string id, string tableName) { string csrNote = ""; startSwitchesLog(switchObj, id, tableName); OrderStatus status = va02.enterOrder(switchObj.orderNumber); if (status == OrderStatus.blockedByUser || status == OrderStatus.blockedByBatchJob) { return(status); } va02.bypassInitialPopups(); status = va02.isChangeNeeded(); if (status != OrderStatus.available) { return(status); } ITable table = va02.getTable(); va02.moveRouteCodeColumnToIndexEight(table); foreach (var lineSwitch in switchObj.lineDetails) { int sapLineNumber = (lineSwitch.lineNumber / 10 - 1); bool shouldChange = isForChange(table, lineSwitch, sapLineNumber); bool isChanged = false; if (shouldChange) { string unitOfMeasure = table.getCellValue(sapLineNumber, "Un"); string itemCategory = table.getCellValue(sapLineNumber, "ItCa"); string routeCode = table.getCellValue(sapLineNumber, VA02.routeCodeColumnIndex); // have to use by index because the table retains its indexes by name after reordering but not actual indexes within a table string cmir = table.getCellValue(sapLineNumber, "Customer Material Numb"); table.setCellValue(sapLineNumber, "Material", lineSwitch.newSku); sap.pressEnter(); sap.getRidOfPopUps(); string tempReason = ""; isChanged = va02.isLineChanged(table, lineSwitch, sapLineNumber, ref tempReason); if (tempReason != "") { lineSwitch.reason = tempReason; } if (sap.getInfoBarMsg().Contains("Z4")) { return(OrderStatus.bothSkusAreZ4); } if (sap.getInfoBarMsg().Contains("not approved")) { return(OrderStatus.bothSkusAreNotApproved); } unitsOfMeasureAction(table, sapLineNumber, unitOfMeasure); itemCategoryAction(table, sapLineNumber, itemCategory); routeCodeAction(table, sapLineNumber, routeCode); cmirAction(switchObj, table, lineSwitch, sapLineNumber, cmir); } csrNote += $"sku {lineSwitch.oldSku} has{(isChanged ? " " : " not ")}been switched to {lineSwitch.newSku}. Reason: {lineSwitch.reason}{Constants.vbCr}"; endSwtichesLog(switchObj, id, tableName, lineSwitch, isChanged); } va02.soarAction(csrNote, "Line Switches", switchObj.orderNumber); va02.save(); return(va02.getOrderStatusAfterSaving()); }