Exemplo n.º 1
0
        public void loadAll()
        {
            indexList.Clear();
            searchlist.Clear();
            lvItems.Clear();
            lblMsg.Visible = true;
            String name, cat, manu;
            double price = 0;
            int    unitcur = 0, unitsold = 0, barcode = 0;

            Logicdll.clearSearchC(logicobj);
            arrsize    = Logicdll.getSizeC(logicobj);
            searchsize = arrsize;
            for (int i = 0; i < arrsize; i++)
            {
                ListViewItem item = new ListViewItem();
                Logicdll.addSearchProC(logicobj, i);
                Logicdll.getSearchProC(logicobj, 1, ref temp, i, ref barcode, ref price, ref unitcur, ref unitsold);
                indexList.Add(temp);
                searchlist.Add(temp);
                name      = Logicdll.getSearchNameC(logicobj, i);
                cat       = Logicdll.getSearchCatC(logicobj, i);
                manu      = Logicdll.getSearchManuC(logicobj, i);
                item.Text = name;
                item.SubItems.Add(cat);
                item.SubItems.Add(manu);
                item.SubItems.Add(barcode.ToString());
                item.SubItems.Add(unitcur.ToString());
                item.SubItems.Add(unitsold.ToString());
                item.SubItems.Add(price.ToString());
                lvItems.Add(item);
            }
            lblSystemInfo0.Text = getOSInfo();
            lblSystemInfo1.Text = System.Environment.OSVersion.Version.ToString();
        }
Exemplo n.º 2
0
        void topSell(int n)
        {
            groupBox6.Text = "Top " + n + " selling product(s) as of " + DateTime.Now.ToShortTimeString();
            lvStats.Items.Clear();
            colStatName.Text = "Name";
            colStatSold.Text = "Units Sold";
            String name;
            double price = 0;
            int    unitcur = 0, unitsold = 0, barcode = 0;

            lvStats.Items.Clear();
            int        arrsize   = Logicdll.topNsellingC(logicobj, n);
            List <int> statsList = new List <int>();

            for (int i = 0; i < arrsize; i++)
            {
                ListViewItem item = new ListViewItem();
                Logicdll.getSearchProC(logicobj, 1, ref temp, i, ref barcode, ref price, ref unitcur, ref unitsold);
                statsList.Add(temp);
                name      = Logicdll.getSearchNameC(logicobj, i);
                item.Text = name;
                item.SubItems.Add(unitsold.ToString());
                lvStats.Items.Add(item);
            }
            altStatRow();
        }
Exemplo n.º 3
0
 public Product()
 {
     InitializeComponent();
     logicobj        = Logicdll.init();
     FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
     Left            = Top = 0;
     Width           = Screen.PrimaryScreen.WorkingArea.Width;
     Height          = Screen.PrimaryScreen.WorkingArea.Height;
 }
Exemplo n.º 4
0
        private void Restock_btn_Click(object sender, EventArgs e)
        {
            if (!int.TryParse(tFieldValue.Text, out check))
            {
                lblStatus.Text      = "Please enter a valid value.";
                lblStatus.Visible   = true;
                lblStatus.ForeColor = Color.Red;
            }
            else
            {
                int percent, result;
                progressBar1.Value   = 0;
                progressBar1.Minimum = 0;
                progressBar1.Maximum = 100;
                int          index = result_listbox.FocusedItem.Index;
                ListViewItem item  = new ListViewItem();
                item = result_listbox.FocusedItem;
                int change_data = indexList.ElementAt(index);
                start               = DateTime.Now;
                result              = Logicdll.restockProductC(logicobj, int.Parse(tFieldValue.Text), indexList.ElementAt(index)); // restock inside the datastrage of C++
                end                 = DateTime.Now;
                lblStatus.Text      = (end - start).ToString() + "s.";
                lblStatus.Visible   = true;
                progressBar1.Value += 50;
                if (result == -1)
                {
                    lblMsg.ForeColor = Color.Red;
                    lblMsg.Text      = "Restock Failed.";
                    item             = null;
                }

                else
                {
                    editPanel.Hide();
                    progressBar1.Value += 50;
                    result_listbox.BeginUpdate();
                    item.SubItems[4].Text = (int.Parse(result_listbox.SelectedItems[0].SubItems[4].Text) + int.Parse(tFieldValue.Text)).ToString();  //update the selected data at the list view for user friendly
                    lvItems[change_data].SubItems[4].Text = (int.Parse(result_listbox.SelectedItems[0].SubItems[4].Text)).ToString();
                    result_listbox.EndUpdate();
                    result_listbox.Refresh();
                    lblMsg.ForeColor = Color.Green;
                    lblMsg.Text      = "Restock Successful in " + (end - start).ToString() + "s.";
                    result_listbox.Items[index].EnsureVisible();
                    tFieldValue.Clear();
                    groupBox2.Enabled = true;
                }

                percent = Convert.ToInt32(Convert.ToDouble(progressBar1.Value) / Convert.ToDouble(progressBar1.Maximum) * 100);
                progressBar1.CreateGraphics().DrawString(percent.ToString() + "%", new Font("Times New Roman", 8, FontStyle.Regular), Brushes.Black, new PointF(progressBar1.Width / 2 - 10, progressBar1.Height / 2 - 7));
                altRow();
                checkLow();
                groupBox5.Enabled = true;
            }
        }
Exemplo n.º 5
0
        private void Specify_btn_Click(object sender, EventArgs e)
        {
            if (!int.TryParse(tFieldValue.Text, out check))
            {
                lblStatus.Text      = "Please enter a valid value.";
                lblStatus.Visible   = true;
                lblStatus.ForeColor = Color.Red;
            }
            else
            {
                int percent, result;
                progressBar1.Value   = 0;
                progressBar1.Minimum = 0;
                progressBar1.Maximum = 100;
                int          index = result_listbox.FocusedItem.Index;
                ListViewItem item  = new ListViewItem();
                item   = result_listbox.FocusedItem;
                start  = DateTime.Now;
                result = Logicdll.specifySalesOfProductsC(logicobj, int.Parse(tFieldValue.Text), indexList.ElementAt(index));
                int change_data = indexList.ElementAt(index);
                end = DateTime.Now;
                progressBar1.Value += 50;

                if (result == -1)
                {
                    lblMsg.ForeColor = Color.Red;
                    lblMsg.Text      = "Updating of sales failed.";
                    item             = null;
                }
                else
                {
                    editPanel.Hide();
                    result_listbox.BeginUpdate();
                    progressBar1.Value   += 50;
                    item.SubItems[5].Text = (int.Parse(result_listbox.SelectedItems[0].SubItems[5].Text) + int.Parse(tFieldValue.Text)).ToString();
                    item.SubItems[4].Text = (int.Parse(result_listbox.SelectedItems[0].SubItems[4].Text) - int.Parse(tFieldValue.Text)).ToString();
                    lvItems[change_data].SubItems[4].Text = (int.Parse(result_listbox.SelectedItems[0].SubItems[4].Text)).ToString();
                    lvItems[change_data].SubItems[5].Text = (int.Parse(result_listbox.SelectedItems[0].SubItems[5].Text)).ToString();
                    result_listbox.EndUpdate();
                    result_listbox.Refresh();
                    lblMsg.ForeColor = Color.Green;
                    lblMsg.Text      = "Updating of sales is successful in " + (end - start).ToString() + "s.";
                    percent          = Convert.ToInt32(Convert.ToDouble(progressBar1.Value) / Convert.ToDouble(progressBar1.Maximum) * 100);
                    progressBar1.CreateGraphics().DrawString(percent.ToString() + "%", new Font("Times New Roman", 8, FontStyle.Regular), Brushes.Black, new PointF(progressBar1.Width / 2 - 10, progressBar1.Height / 2 - 7));
                    groupBox2.Enabled = true;
                    tFieldValue.Clear();
                }
                checkLow();
                loadAll();
                listViewUpdate(0);
                altRow();
                groupBox5.Enabled = true;
            }
        }
Exemplo n.º 6
0
        private void Delete_btn_Click(object sender, EventArgs e)
        {
            int index = -1, percent = 0;

            progressBar1.Value   = 0;
            progressBar1.Minimum = 0;
            progressBar1.Maximum = 100;
            lblMsg.Visible       = true;
            index = result_listbox.FocusedItem.Index;
            start = DateTime.Now;
            int dindex = indexList.ElementAt(index);
            int result = Logicdll.delProdC(logicobj, indexList.ElementAt(index), index);

            lvItems.RemoveAt(dindex);
            indexList.RemoveAt(index);
            searchlist.RemoveAt(index);

            end = DateTime.Now;
            result_listbox.Items[index].Remove();
            int count = indexList.Count;

            arrsize--;
            searchsize--;
            for (int i = index; i < count; i++)
            {
                indexList[i]--;
            }
            Delete_btn.Enabled  = false;
            Restock_btn.Enabled = false;
            Specify_btn.Enabled = false;
            if (!listEmpty())
            {
                result_listbox.Enabled = true;
                lblMsg.ForeColor       = Color.Black;
                lblMsg.Text            = "Please select a product.";
            }
            else
            {
                result_listbox.Enabled = true;
                Search_btn.Enabled     = true;
                lblMsg.ForeColor       = Color.Red;
                lblMsg.Text            = "No products loaded.";
            }
            lblStatus.Visible   = true;
            lblStatus.ForeColor = Color.Green;
            progressBar1.Value += 100;
            lblStatus.Text      = "Product deleted successfully in " + (end - start).ToString() + "s.";
            altRow();
            checkLow();
            percent = Convert.ToInt32(Convert.ToDouble(progressBar1.Value) / Convert.ToDouble(progressBar1.Maximum) * 100);
            progressBar1.CreateGraphics().DrawString(percent.ToString() + "%", new Font("Times New Roman", 8, FontStyle.Regular), Brushes.Black, new PointF(progressBar1.Width / 2 - 10, progressBar1.Height / 2 - 7));
        }
Exemplo n.º 7
0
 private void btnTopN_Click(object sender, EventArgs e)
 {
     if (int.TryParse(txtTopN.Text, out check) && int.Parse(txtTopN.Text) <= Logicdll.getSizeC(logicobj) && int.Parse(txtTopN.Text) > 0)
     {
         topSell(int.Parse(txtTopN.Text));
         grpBoxTopN.Visible = false;
     }
     else
     {
         lblStatsError.Visible = true;
         txtTopN.Clear();
     }
 }
Exemplo n.º 8
0
        public bool loadFile(string filename, int type)
        {
            int result, time = 0;

            result = Logicdll.loadFileC(logicobj, filename, type, ref time); // 1 for csv 2 for txt
            if (result == 1)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Exemplo n.º 9
0
        private void transDialog_FileOk(object sender, CancelEventArgs e)
        {
            //use openfile dialog
            int a = Logicdll.readTransC(logicobj, Path.GetFileName(transDialog.FileName));

            if (a == 1)
            {
                lblMsg.Text      = "Transaction added successfully!";
                lblMsg.ForeColor = Color.Green;
                batchProcessingToolStripMenuItem.Enabled = true;
            }
            else
            {
                lblMsg.Text      = "Failed.";
                lblMsg.ForeColor = Color.Red;
            }
        }
Exemplo n.º 10
0
        private void save_btn_Click(object sender, EventArgs e)
        {
            int result;

            if (csv_rbtn.Checked == true)
            {
                result = Logicdll.saveFileC(logicobj, Save_txt.Text, 1); // 1 for csv 2 for txt
            }
            else
            {
                result = Logicdll.saveFileC(logicobj, Save_txt.Text, 2); // 1 for csv 2 for txt
            }
            if (result == 1)
            {
                save_lbl.Text = "Successful";
            }
            Application.Exit();
        }
Exemplo n.º 11
0
        void topManu()
        {
            groupBox6.Text += " as of " + DateTime.Now.ToShortTimeString();
            lvStats.Items.Clear();
            colStatName.Text = "Manufacturer";
            colStatSold.Text = "Units Sold";
            Logicdll.callbestSellingC(logicobj);
            int          count    = Logicdll.getBSWsizeC(logicobj);
            int          sale     = 0;
            ListViewItem statItem = new ListViewItem();

            for (int i = 0; i < count; i++)
            {
                statItem.Text = Logicdll.bestSellingManC(logicobj, i, ref sale);
                statItem.SubItems.Add(sale.ToString());
                lvStats.Items.Add(statItem);
            }
            altStatRow();
        }
Exemplo n.º 12
0
        public void autoComplete()
        {
            catList.Clear();
            nameList.Clear();
            Logicdll.clearSearchC(logicobj);
            arrsize = Logicdll.getSizeC(logicobj);
            String name, cat, manu;
            double price = 0;
            int    unitcur = 0, unitsold = 0, barcode = 0;

            for (int i = 0; i < arrsize; i++)
            {
                Logicdll.addSearchProC(logicobj, i);
                Logicdll.getSearchProC(logicobj, 1, ref temp, i, ref barcode, ref price, ref unitcur, ref unitsold);
                name = Logicdll.getSearchNameC(logicobj, i);
                cat  = Logicdll.getSearchCatC(logicobj, i);
                manu = Logicdll.getSearchManuC(logicobj, i);
                catList.Add(cat);
                nameList.Add(name);
            }
        }
Exemplo n.º 13
0
        private void batchProcessingToolStripMenuItem_Click(object sender, EventArgs e)
        {
            // will return 3 kinds of values
            int result = Logicdll.processBatchC(logicobj);

            if (result == 1)
            {
                lblMsg.Text = "Some errors occured, please check log.txt file!";
                loadAll();
                //   listViewUpdate();
            }
            else if (result == 2)
            {
                lblMsg.Text      = "Batch processed successfully!";
                lblMsg.ForeColor = Color.Green;
                loadAll();
            }
            else
            {
                lblMsg.Text      = "Please add some transactions!";
                lblMsg.ForeColor = Color.Red;
            }
        }
Exemplo n.º 14
0
        //   LinkedListNode<int> llist;

        public loadForm()
        {
            InitializeComponent();
            logicobj = Logicdll.init();
        }
Exemplo n.º 15
0
 public Save()
 {
     InitializeComponent();
     logicobj = Logicdll.init();
 }
Exemplo n.º 16
0
        private void btnPriceChange_Click(object sender, EventArgs e)
        {
            passwordForm password = new passwordForm();

            password.ShowDialog();
            if (password.lblPassError.Text == "ok")
            {
                if (!int.TryParse(tFieldValue.Text, out check))
                {
                    lblStatus.Text      = "Please enter a valid value.";
                    lblStatus.Visible   = true;
                    lblStatus.ForeColor = Color.Red;
                }
                else
                {
                    int percent, result;
                    progressBar1.Value   = 0;
                    progressBar1.Minimum = 0;
                    progressBar1.Maximum = 100;
                    int          index = result_listbox.SelectedIndices[0];
                    ListViewItem item  = new ListViewItem();
                    item                = result_listbox.FocusedItem;
                    start               = DateTime.Now;
                    result              = Logicdll.changepriceC(logicobj, double.Parse(tFieldValue.Text), indexList.ElementAt(index));
                    end                 = DateTime.Now;
                    progressBar1.Value += 50;

                    if (result == 0)
                    {
                        lblMsg.ForeColor = Color.Red;
                        lblMsg.Text      = "Updating of price failed.";
                        item             = null;
                    }
                    else
                    {
                        editPanel.Hide();
                        result_listbox.BeginUpdate();
                        progressBar1.Value   += 50;
                        item.SubItems[6].Text = tFieldValue.Text;
                        result_listbox.EndUpdate();
                        result_listbox.Refresh();

                        lblMsg.ForeColor = Color.Green;
                        lblMsg.Text      = "Updating of price is successful in " + (end - start).ToString() + "s.";
                        percent          = Convert.ToInt32(Convert.ToDouble(progressBar1.Value) / Convert.ToDouble(progressBar1.Maximum) * 100);
                        progressBar1.CreateGraphics().DrawString(percent.ToString() + "%", new Font("Times New Roman", 8, FontStyle.Regular), Brushes.Black, new PointF(progressBar1.Width / 2 - 10, progressBar1.Height / 2 - 7));
                        groupBox2.Enabled = true;
                        tFieldValue.Clear();
                        lblStatus.Text = "";
                    }
                    loadAll();
                    altRow();
                    checkLow();
                    groupBox5.Enabled = true;
                }
            }
            else
            {
                lblStatus.Text = "Not enough rights to update price.";
            }
        }
Exemplo n.º 17
0
 private void Add_btn_Click(object sender, EventArgs e)
 {
     if (int.TryParse(price_txt.Text, out check) && int.TryParse(currentunit_txt.Text, out check) && int.TryParse(barcode_txt.Text, out check))
     {
         Search_btn.Enabled     = true;
         result_listbox.Enabled = true;
         unitsold_txt.Text      = "0";
         int result;
         start  = DateTime.Now;
         result = Logicdll.addProdC(logicobj, name_txt.Text, cat_txt.Text, manu_txt.Text, int.Parse(barcode_txt.Text), int.Parse(currentunit_txt.Text), double.Parse(price_txt.Text));   // to update the datastorage of C++
         end    = DateTime.Now;
         ListViewItem item = new ListViewItem();
         if (result == 1)
         {
             lblStatus.ForeColor = Color.Green;
             lblMsg.Text         = "Product Added in " + (end - start).ToString() + "s.";
             indexList.Add(arrsize);
             searchlist.Add(arrsize);
             arrsize++;
             searchsize++;
             Logicdll.addSearchProC(logicobj, arrsize - 1);
             item.Text = name_txt.Text;
             item.SubItems.Add(cat_txt.Text);
             item.SubItems.Add(manu_txt.Text);
             item.SubItems.Add(barcode_txt.Text);
             item.SubItems.Add(currentunit_txt.Text);
             item.SubItems.Add(unitsold_txt.Text);
             item.SubItems.Add(price_txt.Text);
             result_listbox.Items.Add(item);
             lvItems.Add(item);
             catList.Add(cat_txt.Text);
             nameList.Add(name_txt.Text);
             name_txt.Clear();
             cat_txt.Clear();
             manu_txt.Clear();
             barcode_txt.Clear();
             unitsold_txt.Clear();
             currentunit_txt.Clear();
             price_txt.Clear();
             groupBox2.Enabled = false;
             altRow();
             btnAdd.Enabled = true;
         }
         else
         {
             lblStatus.ForeColor = Color.Red;
             lblStatus.Text      = "Adding product failed, duplicate barcode found.";
         }
     }
     else
     {
         lblStatus.ForeColor = Color.Red;
         if (!int.TryParse(price_txt.Text, out check))
         {
             lblStatus.Text = "Adding product failed. Invalid price entered.";
             price_txt.Focus();
         }
         else if (!int.TryParse(barcode_txt.Text, out check))
         {
             lblStatus.Text = "Adding product failed. Invalid barcode entered.";
             barcode_txt.Focus();
         }
         else
         {
             lblStatus.Text = "Adding product failed. Invalid current units entered.";
             currentunit_txt.Focus();
         }
     }
     lblStatus.Visible = true;
 }
Exemplo n.º 18
0
        private void Search_btn_Click(object sender, EventArgs e)
        {
            indexList.Clear();
            name_txt.Clear();
            cat_txt.Clear();
            barcode_txt.Clear();
            manu_txt.Clear();
            price_txt.Clear();
            unitsold_txt.Clear();
            currentunit_txt.Clear();
            lblStatus.Visible = false;
            int percent, result, unitcur = 0, unitsold = 0, barcode = 0;

            progressBar1.Value = 0;
            String name, cat, manu;
            double price = 0;

            Logicdll.clearSearchC(logicobj);    // clear the search list in C++
            start = DateTime.Now;
            if (Search_txt.Text == "")
            {
                lblStatus.Text      = "Please enter a search term.";
                lblStatus.ForeColor = Color.Red;
                lblStatus.Visible   = true;
            }
            else
            {
                result_listbox.Items.Clear();
                if (NameS_rbtn.Checked == true)
                {
                    result = Logicdll.searchC(logicobj, 1, Search_txt.Text);
                }

                else if (CatS_rbtn.Checked == true)
                {
                    result = Logicdll.searchC(logicobj, 2, Search_txt.Text);
                }

                else
                {
                    result = Logicdll.searchC(logicobj, 3, Search_txt.Text);
                }
                end = DateTime.Now;

                arrsize = result;
                progressBar1.Minimum = 0;
                progressBar1.Maximum = arrsize;
                for (int i = 0; i < result; i++)
                {
                    progressBar1.Value++;
                    lblMsg.ForeColor = Color.Red;
                    ListViewItem item = new ListViewItem();
                    Logicdll.getSearchProC(logicobj, 1, ref temp, i, ref barcode, ref price, ref unitcur, ref unitsold);    // to get the properties of each product from C++
                    name = Logicdll.getSearchNameC(logicobj, i);
                    cat  = Logicdll.getSearchCatC(logicobj, i);
                    manu = Logicdll.getSearchManuC(logicobj, i);
                    indexList.Add(temp);
                    item.Text = name;
                    item.SubItems.Add(cat);
                    item.SubItems.Add(manu);
                    item.SubItems.Add(barcode.ToString());
                    item.SubItems.Add(unitcur.ToString());
                    item.SubItems.Add(unitsold.ToString());
                    item.SubItems.Add(price.ToString());
                    result_listbox.Items.Add(item);
                    percent = Convert.ToInt32(Convert.ToDouble(progressBar1.Value) / Convert.ToDouble(progressBar1.Maximum) * 100);
                    progressBar1.CreateGraphics().DrawString(percent.ToString() + "%", new Font("Times New Roman", 8, FontStyle.Regular), Brushes.Black, new PointF(progressBar1.Width / 2 - 10, progressBar1.Height / 2 - 7));
                }
                if (result_listbox.Items.Count == 0)
                {
                    lblMsg.ForeColor    = Color.Red;
                    lblMsg.Text         = "No results found.";
                    Delete_btn.Enabled  = false;
                    Restock_btn.Enabled = false;
                    Specify_btn.Enabled = false;
                    lblMsg.Visible      = true;
                }
                else
                {
                    lblMsg.Text         = result_listbox.Items.Count + " product(s) found in " + (end - start).ToString() + "s.";
                    lblStatus.ForeColor = Color.Green;
                    lblStatus.Text      = "You have searched for '" + Search_txt.Text + "'.";
                    lblStatus.Visible   = true;
                }
                Search_txt.Clear();
                checkLow();
                altRow();
                ShowAll_btn.Enabled = true;
            }
        }