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;
        }
Esempio n. 4
0
        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;
        }
Esempio n. 5
0
        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);
        }