public void ContractList(InvRec[] array) { currSize = listArray.Length / 2; InvRec[] temp = new InvRec[currSize]; for (int i = 0; i < currSize; i++) { temp[i].strPartNumber = listArray[i].strPartNumber; temp[i].strDescription1 = listArray[i].strDescription1; temp[i].strDescription2 = listArray[i].strDescription2; temp[i].strDescription3 = listArray[i].strDescription3; temp[i].intQtyOnHand = listArray[i].intQtyOnHand; temp[i].intQtyOnOrder = listArray[i].intQtyOnOrder; } listArray = temp; currSize = currSize / 2; Console.WriteLine("The contracted array is {0}", GetArrayLength(listArray)); for (int l = 0; l < listArray.Length; l++) { Console.WriteLine(listArray[l]); } }
public void ExpandList(InvRec[] array) { currSize = listArray.Length; //int[] myArr = new int[arraySize]; InvRec[] temp = new InvRec[currSize * 2]; //writing 0-4 into this array for (int i = 0; i < currSize; i++) { temp[i].strPartNumber = listArray[i].strPartNumber; temp[i].strDescription1 = listArray[i].strDescription1; temp[i].strDescription2 = listArray[i].strDescription2; temp[i].strDescription3 = listArray[i].strDescription3; temp[i].intQtyOnHand = listArray[i].intQtyOnHand; temp[i].intQtyOnOrder = listArray[i].intQtyOnOrder; } listArray = temp; // BECOME THE NEW LENGTH THAT CAN BE CHANGED WHEN THIS METHOD IS USED currSize = currSize * 2; Console.WriteLine("The expanded array is {0}", GetArrayLength(listArray)); for (int k = 0; k < listArray.Length; k++) { Console.WriteLine(listArray[k]); } }
// non-default constructor public ListClass(InvRec[] array, int pos) { this.currSize = array.Length; this.currMaxSize = array.Length * 2; this.currPos = pos; // making deep copy of array InvRec[] temp = new InvRec[array.Length]; for (int i = 0; i < currSize; i++) { temp[i] = listArray[i]; } this.listArray = temp; }
public void RemoveHyphen(/* IN & OUT */ InvRec[] array) { InvRec[] tempArray = new InvRec[array.Length]; for (int j = 0; j < array.Length; j++) { tempArray[j] = array[j]; string forSplit = tempArray[j].strPartNumber; string[] remHyphen = forSplit.Split('-'); string firstHalfPartNum = remHyphen[0]; string secHalfPartNum = remHyphen[1]; string localPartNum = firstHalfPartNum + secHalfPartNum; tempArray[j].strPartNumber = localPartNum; array[j].strPartNumber = tempArray[j].strPartNumber; array[j].strDescription1 = tempArray[j].strDescription1; array[j].strDescription2 = tempArray[j].strDescription2; array[j].strDescription3 = tempArray[j].strDescription3; array[j].intQtyOnOrder = tempArray[j].intQtyOnOrder; array[j].intQtyOnHand = tempArray[j].intQtyOnHand; } array = tempArray; }
private void OutputBtn_Click(object sender, EventArgs e) { // for sales.out StreamWriter dout; dout = new StreamWriter("sales.out"); dout.WriteLine("Part No" + " Qty"); // for purchases.out StreamWriter dout1; dout1 = new StreamWriter("purchases.out"); dout1.WriteLine("Part No" + " Qty"); // for receipts.out StreamWriter dout2; dout2 = new StreamWriter("receipts.out"); dout2.WriteLine("Part No" + " Qty"); for (int a = 0; a < transactionsIn.Length; a++) { if (transactionsIn[a].chrTransType == 's' || transactionsIn[a].chrTransType == 'S') { dout.WriteLine(transactionsIn[a].strPartNumber + " " + transactionsIn[a].intTransQty); } else if (transactionsIn[a].chrTransType == 'p' || transactionsIn[a].chrTransType == 'P') { dout1.WriteLine(transactionsIn[a].strPartNumber + " " + transactionsIn[a].intTransQty); } else if (transactionsIn[a].chrTransType == 'r' || transactionsIn[a].chrTransType == 'R') { dout2.WriteLine(transactionsIn[a].strPartNumber + " " + transactionsIn[a].intTransQty); } } dout.Close(); dout1.Close(); dout2.Close(); // write to Inventory.out StreamWriter dout5; dout5 = new StreamWriter("Inventory.out"); for (int y = 0; y < resizedArray.Length; y++) { if (resizedArray[y].strPartNumber != null) { dout5.WriteLine(resizedArray[y].strPartNumber + " " + resizedArray[y].strDescription1 + " " + resizedArray[y].strDescription2 + " " + resizedArray[y].strDescription3 + " " + resizedArray[y].intQtyOnHand + " " + resizedArray[y].intQtyOnOrder); } } dout5.Close(); // output to noActicity.out StreamWriter dout4; dout4 = new StreamWriter("noActivity.out"); dout4.WriteLine("Part No" + " ************ Description ************"); // loop through resizedArray, for each pass through check transactions for matching part num InvRec[] filteredArray = new InvRec[resizedArray.Length]; RemoveHyphenFromTrans(/* IN & OUT */ transactionsIn); for (int g = 0; g < resizedArray.Length; g++) { for (int f = 0; f < transactionsIn.Length; f++) { if (transactionsIn[f].strPartNumber != resizedArray[g].strPartNumber) { //accessClass.DeleteFromList(resizedArray); filteredArray[g].strPartNumber = resizedArray[g].strPartNumber; filteredArray[g].strDescription1 = resizedArray[g].strDescription1; filteredArray[g].strDescription2 = resizedArray[g].strDescription2; filteredArray[g].strDescription3 = resizedArray[g].strDescription3; } } } for (int z = 0; z < filteredArray.Length; z++) { dout4.WriteLine(filteredArray[z].strPartNumber + " " + filteredArray[z].strDescription1 + " " + filteredArray[z].strDescription2 + " " + filteredArray[z].strDescription3); } dout4.Close(); outputBtn.Enabled = false; MessageBox.Show("Your reports have been created and saved in the bin folder"); }
public void InsertIntoList(InvRec[] array, InvRec insert) { string tempPartNum = ""; string tempDesc1 = ""; string tempDesc2 = ""; string tempDesc3 = ""; int tempQtyOnHand = 0; int tempQtyOnOrder = 0; // update the current position int currPos = -1; for (int m = 0; Convert.ToInt32(listArray[m].strPartNumber) > 0; m++) { currPos++; } SetCurrentPosition(currPos); int i = 0; int posCounter = 0; // this is the value where the value to insert would go InvRec[] tempArray = new InvRec[currSize + 1]; // If insert val is < val at listArray[0] if (Convert.ToInt32(insert.strPartNumber) < Convert.ToInt32(listArray[0].strPartNumber)) { for (int a = 0; a < listArray.Length; a++) { tempArray[a + 1].strPartNumber = listArray[a].strPartNumber; tempArray[a + 1].strDescription1 = listArray[a].strDescription1; tempArray[a + 1].strDescription2 = listArray[a].strDescription2; tempArray[a + 1].strDescription3 = listArray[a].strDescription3; tempArray[a + 1].intQtyOnHand = listArray[a].intQtyOnHand; tempArray[a + 1].intQtyOnOrder = listArray[a].intQtyOnOrder; } for (int b = 0; b < tempArray.Length - 1; b++) { listArray[b].strPartNumber = tempArray[b].strPartNumber; listArray[b].strDescription1 = tempArray[b].strDescription1; listArray[b].strDescription2 = tempArray[b].strDescription2; listArray[b].strDescription3 = tempArray[b].strDescription3; listArray[b].intQtyOnHand = tempArray[b].intQtyOnHand; listArray[b].intQtyOnOrder = tempArray[b].intQtyOnOrder; } listArray[0].strPartNumber = insert.strPartNumber; for (int c = 0; c < listArray.Length; c++) { Console.WriteLine("The new array is {0}", listArray[c]); } } // if insert > listArray[last position] - insert at end of array else if (Convert.ToInt32(insert) > Convert.ToInt32(listArray[currPos + 1].strPartNumber)) { listArray[currPos + 1].strPartNumber = insert.strPartNumber; for (int d = 0; d < listArray.Length; d++) { Console.WriteLine("The new array is {0}", listArray[d]); } } // If insert val > listArray[0] and insert val is < val at listArray.Lenght-1 else if ((Convert.ToInt32(insert) > Convert.ToInt32(listArray[0].strPartNumber)) && (Convert.ToInt32(insert) < listArray.Length - 1)) { while (Convert.ToInt32(listArray[i].strPartNumber) < Convert.ToInt32(insert)) { i++; posCounter++; } posCounter = i; // shift everything starting at end of array down to insert position over to the right 1 space for (int k = listArray.Length - 2; k >= posCounter; k--) { tempPartNum = listArray[k].strPartNumber; tempDesc1 = listArray[k].strDescription1; tempDesc2 = listArray[k].strDescription2; tempDesc3 = listArray[k].strDescription3; tempQtyOnHand = listArray[k].intQtyOnHand; tempQtyOnOrder = listArray[k].intQtyOnOrder; listArray[k + 1].strPartNumber = tempPartNum; listArray[k + 1].strDescription1 = tempDesc1; listArray[k + 1].strDescription2 = tempDesc2; listArray[k + 1].strDescription3 = tempDesc3; listArray[k + 1].intQtyOnHand = tempQtyOnHand; listArray[k + 1].intQtyOnOrder = tempQtyOnOrder; } listArray[posCounter].strPartNumber = insert.strPartNumber; listArray[posCounter].strDescription1 = insert.strDescription1; listArray[posCounter].strDescription2 = insert.strDescription2; listArray[posCounter].strDescription3 = insert.strDescription3; listArray[posCounter].intQtyOnHand = insert.intQtyOnHand; listArray[posCounter].intQtyOnOrder = insert.intQtyOnOrder; for (int j = 0; j < listArray.Length; j++) { Console.WriteLine("The new array is {0}", listArray[j]); } } currPos = -1; for (int n = 0; Convert.ToInt32(listArray[n].strPartNumber) > 0; n++) { currPos++; } SetCurrentPosition(currPos); NeedToExpand(listArray); }