Esempio n. 1
0
        private void cmdItemZoom_Click(object sender, EventArgs e)
        {
            Cursor = System.Windows.Forms.Cursors.WaitCursor;
            using (Finder.Inventory frmInventory = new Solsage_Process_Management_System.Finder.Inventory())
            {
                if (frmInventory.ShowDialog() == DialogResult.OK)
                {
                    if (frmInventory.sResult != "")
                    {
                        //txtItemCode01.Text = frmInventory.sResult;

                    }
                }

            }
            Cursor = System.Windows.Forms.Cursors.Default;
        }
        private void btnItemSearch_Click(object sender, EventArgs e)
        {
            Cursor = System.Windows.Forms.Cursors.WaitCursor;

            using (Solsage_Process_Management_System.Finder.Inventory frmItemZoom = new Solsage_Process_Management_System.Finder.Inventory())
            {
                if (frmItemZoom.ShowDialog("", "AssetLocationReport","") == DialogResult.OK)
                {
                    if (frmItemZoom.sResult != "")
                    {
                        txtItemCode.Text = frmItemZoom.sResult;
                    }
                }
            }

            Cursor = System.Windows.Forms.Cursors.Default;
        }
Esempio n. 3
0
        private void cmdSearchNumber_Click(object sender, EventArgs e)
        {
            Cursor = System.Windows.Forms.Cursors.WaitCursor;
            using (Finder.Inventory frmInventory = new Solsage_Process_Management_System.Finder.Inventory())
            {
                //Sending "None" to inventory ShowDialog to identify that no workshop action should be taken
                if (frmInventory.ShowDialog("", "","") == DialogResult.OK)
                {
                    if (frmInventory.sResult != "")
                    {

                            txtItemCode.Text = frmInventory.sResult.Trim();
                    }
                 }
            }
             Cursor = System.Windows.Forms.Cursors.Default;
        }
Esempio n. 4
0
        private void cmdAddItem_Click(object sender, EventArgs e)
        {
            Cursor = System.Windows.Forms.Cursors.WaitCursor;
            using (Finder.Inventory frmInventory = new Solsage_Process_Management_System.Finder.Inventory())
            {
                if (frmInventory.ShowDialog("", "","") == DialogResult.OK)
                {

                    if (frmInventory.sResult != "")
                    {
                        int n = dgReciveOldStock.Rows.Add();
                        dgReciveOldStock.Rows[n].Cells[0].Value = frmInventory.sResult.Trim();
                        dgReciveOldStock.Rows[n].Cells[1].Value = frmInventory.sDescription.Trim();
                        dgReciveOldStock.Rows[n].Cells[2].Value = "1";
                    }
                }
            }
            Cursor = System.Windows.Forms.Cursors.Default;
        }
Esempio n. 5
0
        private void cmdAddFinishedItem_Click(object sender, EventArgs e)
        {
            Cursor = System.Windows.Forms.Cursors.WaitCursor;
            using (Finder.Inventory frmInventory = new Solsage_Process_Management_System.Finder.Inventory())
            {
                if (frmInventory.ShowDialog("", "","") == DialogResult.OK)
                {

                    if (frmInventory.sResult != "")
                    {
                        int n = dgRawBatchFinishedItems.Rows.Add();
                        dgRawBatchFinishedItems.Rows[n].Cells[0].Value = frmInventory.sResult.Trim();
                        dgRawBatchFinishedItems.Rows[n].Cells[1].Value = frmInventory.sDescription.Trim();
                        dgRawBatchFinishedItems.Rows[n].Cells[2].Value = "1";
                        dgRawBatchFinishedItems.Rows[n].Cells[3].Value = "1";
                    }
                }
            }
            Cursor = System.Windows.Forms.Cursors.Default;
            this.ActiveControl = txtRawBatchBarcode;
        }
Esempio n. 6
0
        private void cmdCodeSearch_Click(object sender, EventArgs e)
        {
            Cursor = System.Windows.Forms.Cursors.WaitCursor;
            using (Finder.Inventory frmInventory = new Solsage_Process_Management_System.Finder.Inventory())
            {
                //Sending "None" to inventory ShowDialog to identify that no workshop action should be taken
                if (frmInventory.ShowDialog(txtStore.Text,"","") == DialogResult.OK)
                {
                    if (frmInventory.sResult != "")
                    {
                        //check if this item has been selected...
                        if (((Documents.SupplierDocuments)(Parent.Parent)).CheckDuplicateSupplDocLines(frmInventory.sResult.Trim() + txtBatchNum.Text.Trim()))
                        {
                            MessageBox.Show("No duplicate items are allowed in a supplier document. Please select another inventory item.", "Duplicates", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        }
                        else
                        {
                                txtCode.Text = frmInventory.sResult.Trim();
                                SupplDocLine slDocLine = this;
                                SupplDocLine slLastControl = this;

                                if (frmInventory.bLinkItem && MessageBox.Show("This item is part of a KIT. Do you want to load all the items linked to this item? ", "Kit Item", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) //Kit Item
                                {
                                    bNextLine = true;
                                    bool bContinue = Populate_Inventory_Fields(ref slDocLine,false);
                                    txtCode.Focus();
                                    txtCode.SelectionStart = 0;
                                    txtCode.SelectionLength = txtCode.Text.Length;
                                    if (bContinue)
                                    {
                                        PsqlConnection oConn = new PsqlConnection(Solsage_Process_Management_System.Classes.Connect.sPastelConnStr);
                                        oConn.Open();

                                        string sSql = "select RMStore, ItemCode, RMQty, Remarks from  LinkLines ";
                                        sSql += " where ItemCode <> '" + frmInventory.sResult + "' and LnkCode = '" + frmInventory.sResult + "'";
                                        PsqlDataReader rdReader = Solsage_Process_Management_System.Classes.Connect.getDataCommand(sSql, oConn).ExecuteReader();
                                        while (rdReader.Read())
                                        {
                                            SupplDocLine slKitLine = new SupplDocLine();
                                            slKitLine.txtStore.Text = rdReader["RMStore"].ToString().Trim();
                                            slKitLine.txtCode.Text = rdReader["ItemCode"].ToString().Trim();
                                            if (slKitLine.txtCode.Text == "'")
                                            {
                                                slKitLine.txtDescription.Text = rdReader["Remarks"].ToString().Trim();
                                            }
                                            slKitLine.bDoCalculation = false;
                                            slKitLine.bNextLine = true;
                                            slKitLine.txtQuantity.Text = rdReader["RMQty"].ToString().Trim();
                                            ((Documents.SupplierDocuments)(Parent.Parent.Parent.Parent)).InsertSalesLine(slLastControl.iLineIndex, slKitLine);
                                            slLastControl = slKitLine;
                                            slKitLine.bDoCalculation = true;
                                            Populate_Inventory_Fields(ref slKitLine, false);
                                        }
                                        SupplDocLine slLastLine = (SupplDocLine)((Documents.SupplierDocuments)(Parent.Parent.Parent.Parent)).aSupplDoclines[((Documents.SupplierDocuments)(Parent.Parent.Parent.Parent)).aSupplDoclines.Length - 1];
                                          if (slLastLine.txtCode.Text != "")
                                        {
                                            SupplDocLine slNewline = new SupplDocLine();//add empty line at the end
                                            ((Documents.SupplierDocuments)(Parent.Parent.Parent.Parent)).AddSupplDocLine(slNewline);
                                        }
                                        rdReader.Close();
                                        oConn.Dispose();
                                        ((Documents.SupplierDocuments)(Parent.Parent)).addTotals();
                                    }
                                }
                                else
                                {
                                    bool bValid = Populate_Inventory_Fields(ref slDocLine,true);
                                    ((Documents.SupplierDocuments)(Parent.Parent)).addTotals();
                                    txtCode.Focus();
                                    txtCode.SelectionStart = 0;
                                    txtCode.SelectionLength = txtCode.Text.Length;
                                }
                        }
                    }
                }
            }
            Cursor = System.Windows.Forms.Cursors.Default;
        }
Esempio n. 7
0
        private void cmdRawItemAdd_Click(object sender, EventArgs e)
        {
            Cursor = System.Windows.Forms.Cursors.WaitCursor;
            using (Finder.Inventory frmInventory = new Solsage_Process_Management_System.Finder.Inventory())
            {
                if (frmInventory.ShowDialog("", "","") == DialogResult.OK)
                {

                    if (frmInventory.sResult != "")
                    {
                        int n = dgRawBatchItemList.Rows.Add();
                        dgRawBatchItemList.Rows[n].Cells[0].Value = frmInventory.sResult.Trim();
                        dgRawBatchItemList.Rows[n].Cells[1].Value = frmInventory.sDescription.Trim();
                        dgRawBatchItemList.Rows[n].Cells[2].Value = "1";
                    }
                }
            }
            Cursor = System.Windows.Forms.Cursors.Default;

            using (PsqlConnection oConn = new PsqlConnection(Solsage_Process_Management_System.Classes.Connect.sConnStr))
            {
                oConn.Open();

                string sSql1 = "delete from SOLMRBI where FkRawBatchID = " + txtBatchID.Text;

                int ireturn = Solsage_Process_Management_System.Classes.Connect.getDataCommand(sSql1, oConn).ExecuteNonQuery();

                foreach (DataGridViewRow dgRow in dgRawBatchItemList.Rows)
                {
                    if (dgRow.Cells[0].Value != null && dgRow.Cells[0].Value.ToString() != "")
                    {

                        string sSql = "Insert into SOLMRBI (FkRawBatchID,FkItemCode,ItemDescription,Quantity) VALUES ";
                        sSql += "(";
                        sSql += "'" + txtBatchID.Text + "'";
                        sSql += ",'" + dgRow.Cells[0].Value.ToString() + "'";
                        sSql += ",'" + dgRow.Cells[1].Value.ToString() + "'";
                        sSql += ",'" + dgRow.Cells[2].Value.ToString() + "'";
                        sSql += ")";

                        int iRet = Solsage_Process_Management_System.Classes.Connect.getDataCommand(sSql, oConn).ExecuteNonQuery();
                    }
                }
                oConn.Dispose();
            }
        }
Esempio n. 8
0
        private void cmdCodeSearch_Click(object sender, EventArgs e)
        {
            bool bDelNotes = false;
            Cursor = System.Windows.Forms.Cursors.WaitCursor;
            string sDelNotes = "(";
            //create del note string list
                foreach (DataGridViewRow dgRow in ((Forms.Project.PickingSlip)(Parent.Parent.Parent.Parent)).dgDeliveryNotes.Rows)
                {
                   sDelNotes += ",'" + dgRow.Cells[0].Value.ToString() + "'";
                   bDelNotes = true;
                }
                try
                {
                    sDelNotes = sDelNotes.Remove(1, 1);
                    sDelNotes = sDelNotes + ")";
                }
                catch
                {

                }
                if (!bDelNotes)
                {
                    using (Finder.Inventory frmInventory = new Solsage_Process_Management_System.Finder.Inventory())
                    {
                        //Sending "None" to inventory ShowDialog to identify that no workshop action should be taken
                        if (frmInventory.ShowDialog("", "", sDelNotes) == DialogResult.OK)
                        {
                            if (frmInventory.sResult != "")
                            {
                                //check if this item has been selected...
                                if (((Forms.Project.PickingSlip)(Parent.Parent.Parent.Parent)).CheckDuplicateSalesLine(frmInventory.sResult))
                                {
                                    MessageBox.Show("No duplicate items are allowed in a sales order. Please select another inventory item.", "Duplicates", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                                }
                                else
                                {
                                    txtCode.Text = frmInventory.sResult.Trim();
                                    PickingSlipLine pdlDeliveryNote = this;
                                    bool bValid = Populate_Inventory_Fields(ref pdlDeliveryNote, true, sDelNotes);
                                    txtCode.Focus();
                                    txtCode.SelectionStart = 0;
                                    txtCode.SelectionLength = txtCode.Text.Length;
                                }
                            }
                        }
                    }
                }
                else
                {
                    using (Finder.PickingSlipItemZoom frmPickSlipItemZoom = new Finder.PickingSlipItemZoom())
                    {
                        if (frmPickSlipItemZoom.ShowDialog(sDelNotes) == DialogResult.OK)
                        {
                            if (frmPickSlipItemZoom.ItemList.Count != 0)
                            {
                                ItemList = frmPickSlipItemZoom.ItemList;
                                if (ItemList.Count == 1)
                                {
                                    foreach (string sItem in ItemList)
                                    {

                                        string[] aItemDetails = sItem.Split("|".ToCharArray());
                                        txtCode.Text = aItemDetails[0].ToString();
                                        txtDescription.Text = aItemDetails[1].ToString();
                                        txtUnit.Text = aItemDetails[3].ToString();
                                        //get on hand qty of itemcode
                                        using (PsqlConnection oConn2 = new PsqlConnection(Solsage_Process_Management_System.Classes.Connect.sConnStr))
                                        {
                                            //get del note  qty
                                            decimal dDelNoteQty = 0;
                                            oConn2.Open();
                                            //sDelNotes = sDelNotes.Remove(0, 2);
                                            //sDelNotes = sDelNotes.Remove(1, 1) + ")";

                                            string sSql2 = "select Itemcode,SUM(Qty) as Qty from SOLPDL where DocNumber in " + sDelNotes;
                                            sSql2 += " AND ItemCode = '" + txtCode.Text + "' group by ItemCode";
                                            PsqlDataReader rdReader2 = Solsage_Process_Management_System.Classes.Connect.getDataCommand(sSql2, oConn2).ExecuteReader();
                                            while (rdReader2.Read())
                                            {
                                                dDelNoteQty = Convert.ToDecimal(rdReader2["Qty"].ToString());
                                            }
                                            rdReader2.Close();

                                                //get ret note qty
                                                decimal dRetNoteQty = 0;
                                                string sSql3 = "select SOLPRL.ItemCode, SUM(SOLPRL.Qty) as Qty from SOLPRH ";
                                                sSql3 += "inner join SOLPRL on SOLPRL.DocNumber = SOLPRH.DocNumber ";
                                                sSql3 += "where LinkedDeliveryNote in " + sDelNotes + " And ItemCode = '" + txtCode.Text.Trim() + "' group by ItemCode";
                                                PsqlDataReader rdReader3 = Solsage_Process_Management_System.Classes.Connect.getDataCommand(sSql3, oConn2).ExecuteReader();
                                                while (rdReader3.Read())
                                                {
                                                    dRetNoteQty = Convert.ToDecimal(rdReader3["Qty"].ToString());
                                                }
                                                rdReader3.Close();
                                                decimal dOnHandQty = dDelNoteQty - dRetNoteQty;
                                                if (dOnHandQty < 0)
                                                    txtQtyOnHand.Text = "0";
                                                else
                                                    txtQtyOnHand.Text = dOnHandQty.ToString("N2");
                                                oConn2.Dispose();
                                            }

                                        }
                                        PickingSlipLine pdlDeliveryNote = this;
                                        PickingSlipLine pdlLastControl = this;
                                        bool bValid = Populate_Inventory_Fields(ref pdlDeliveryNote, true,sDelNotes);
                                }
                                else
                                {

                                    foreach (string sItem in ItemList)
                                    {

                                        string[] aItemDetails = sItem.Split("|".ToCharArray());

                                        //txtCode.Text = aItemDetails[0].ToString();
                                        //txtDescription.Text = aItemDetails[1].ToString();
                                        //txtQuoteQty.Text = aItemDetails[2].ToString();
                                        //txtUnit.Text = aItemDetails[3].ToString();
                                        //ProjectDeliveryNote pdlDeliveryNote = this;
                                        PickingSlipLine pdlDelNote = new PickingSlipLine();
                                        pdlDelNote.txtCode.Text = aItemDetails[0].ToString();
                                        pdlDelNote.txtDescription.Text = aItemDetails[1].ToString();
                                        pdlDelNote.txtUnit.Text = aItemDetails[3].ToString();
                                        using (PsqlConnection oConn = new PsqlConnection(Solsage_Process_Management_System.Classes.Connect.sPastelConnStr))
                                        {
                                            oConn.Open();
                                            string sSql = "SELECT MultiStoreTrn.SellExcl01 from Inventory left join MultiStoreTrn on Inventory.ItemCode = MultiStoreTrn.ItemCode";
                                            sSql += " where Inventory.ItemCode = '" + pdlDelNote.txtCode.Text.Trim() + "'";
                                            sSql += " AND MultiStoreTrn.StoreCode <> ''";

                                            PsqlDataReader rdReader = Solsage_Process_Management_System.Classes.Connect.getDataCommand(sSql, oConn).ExecuteReader();
                                            while (rdReader.Read())
                                            {
                                                pdlDelNote.txtExcPrice.Text = Convert.ToDecimal(rdReader["SellExcl01"].ToString()).ToString("N2");
                                            }
                                            rdReader.Close();
                                            oConn.Dispose();
                                        }
                                        //bool bValid = Populate_Inventory_Fields(ref pdlDelNote, false, sDelNotes);

                                        //get on hand qty of itemcode
                                        using (PsqlConnection oConn2 = new PsqlConnection(Solsage_Process_Management_System.Classes.Connect.sConnStr))
                                        {
                                            //get del note  qty
                                            decimal dDelNoteQty = 0;
                                            oConn2.Open();
                                            this.removeLine(null, null);
                                            string sSql2 = "select Itemcode,SUM(Qty) as Qty from SOLPDL where DocNumber in " + sDelNotes;
                                            sSql2 += " AND ItemCode = '" + pdlDelNote.txtCode.Text + "' group by ItemCode";
                                            PsqlDataReader rdReader2 = Solsage_Process_Management_System.Classes.Connect.getDataCommand(sSql2, oConn2).ExecuteReader();
                                            while (rdReader2.Read())
                                            {
                                                dDelNoteQty = Convert.ToDecimal(rdReader2["Qty"].ToString());
                                            }
                                            rdReader2.Close();
                                            //get ret note qty
                                            decimal dRetNoteQty = 0;
                                            string sSql3 = "select SOLPRL.ItemCode, SUM(SOLPRL.Qty) as Qty from SOLPRH ";
                                            sSql3 += "inner join SOLPRL on SOLPRL.DocNumber = SOLPRH.DocNumber ";
                                            sSql3 += "where LinkedDeliveryNote in " + sDelNotes + " And ItemCode = '" + pdlDelNote.txtCode.Text.Trim() + "' group by ItemCode";
                                            PsqlDataReader rdReader3 = Solsage_Process_Management_System.Classes.Connect.getDataCommand(sSql3, oConn2).ExecuteReader();
                                            while (rdReader3.Read())
                                            {
                                                dRetNoteQty = Convert.ToDecimal(rdReader3["Qty"].ToString());
                                            }
                                            rdReader3.Close();
                                            decimal dOnHandQty = dDelNoteQty - dRetNoteQty;
                                            if (dOnHandQty < 0)
                                                pdlDelNote.txtQtyOnHand.Text = "0";
                                            else
                                                pdlDelNote.txtQtyOnHand.Text = dOnHandQty.ToString("N2");
                                            oConn2.Dispose();
                                        }

                                        //ProjectDeliveryNote pdlLastControl = this;
                                        //bool bValid = Populate_Inventory_Fields(ref pdlDeliveryNote, false, iLineIndex);
                                        ((Forms.Project.PickingSlip)(Parent.Parent.Parent.Parent)).AddSalesLine(pdlDelNote,true);

                                    }
                                    PickingSlipLine pdlDelNoteNew = new PickingSlipLine();
                                    ((Forms.Project.PickingSlip)(Parent.Parent.Parent.Parent)).AddSalesLine(pdlDelNoteNew,true);
                                    ((Forms.Project.PickingSlip)(Parent.Parent.Parent.Parent)).deleteSalesLine(this, true);

                                }
                            }
                        }

                    }

                }

            //((Forms.Project.PickingSlip)(Parent.Parent.Parent.Parent)).addTotals();
            Cursor = System.Windows.Forms.Cursors.Default;
        }
Esempio n. 9
0
        private void cmdCodeSearch_Click(object sender, EventArgs e)
        {
            Cursor = System.Windows.Forms.Cursors.WaitCursor;
            using (Finder.Inventory frmInventory = new Solsage_Process_Management_System.Finder.Inventory())
            {
                //Sending "None" to inventory ShowDialog to identify that no workshop action should be taken
                if (frmInventory.ShowDialog("","","") == DialogResult.OK)
                {
                    if (frmInventory.sResult != "")
                    {
                        //check if this item has been selected...
                        //if (((Forms.Qoutes.Qoute)(Parent.Parent.Parent.Parent)).CheckDuplicateSalesLine(frmInventory.sResult))
                        //{
                        //    MessageBox.Show("No duplicate items are allowed in a sales order. Please select another inventory item.", "Duplicates", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        //}
                        //else
                        //{
                                txtCode.Text = frmInventory.sResult.Trim();
                                QouteLine qlQoute = this;
                                QouteLine qlLastControl = this;

                                    bool bValid = Populate_Inventory_Fields(ref qlQoute,true);
                                    txtCode.Focus();
                                    txtCode.SelectionStart = 0;
                                    txtCode.SelectionLength = txtCode.Text.Length;
                                    ((Forms.Qoutes.Qoute)(Parent.Parent.Parent.Parent)).addTotals();

                        //}
                    }
                }
            }
            Cursor = System.Windows.Forms.Cursors.Default;
        }
Esempio n. 10
0
 private void cmdTargetInventory_Click(object sender, EventArgs e)
 {
     Cursor = System.Windows.Forms.Cursors.WaitCursor;
     using (Finder.Inventory frmInventoryZoom = new Solsage_Process_Management_System.Finder.Inventory())
     {
         if (frmInventoryZoom.ShowDialog() == DialogResult.OK)
         {
             if (frmInventoryZoom.sResult != "")
             {
                 txtTargetInvetory.Text = frmInventoryZoom.sResult;
                 txtTargetInventoryDesc.Text = frmInventoryZoom.sDescription;
             }
         }
         Cursor = System.Windows.Forms.Cursors.Default;
     }
 }
Esempio n. 11
0
        private void cmdCodeSearch_Click(object sender, EventArgs e)
        {
            bool bKit = false;
            Cursor = System.Windows.Forms.Cursors.WaitCursor ;
            using (Finder.Inventory frmInventory = new Solsage_Process_Management_System.Finder.Inventory())
            {
                //Sending "None" to inventory ShowDialog to identify that no workshop action should be taken
                if (frmInventory.ShowDialog(txtStore.Text,"","") == DialogResult.OK)
                {
                    if (frmInventory.sResult != "")
                    {
                        //check if this item has been selected...
                        //if (((Documents.SalesOrder)(Parent.Parent.Parent.Parent)).CheckDuplicateSalesLine(frmInventory.sResult)) //allow duplicate items wdb 01/09/2012
                        //{
                        //    MessageBox.Show("No duplicate items are allowed in a sales order. Please select another inventory item.", "Duplicates", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        //}
                        //else
                        //{
                            //check if item is part of kit?
                            using (PsqlConnection oConnLiq = new PsqlConnection(Solsage_Process_Management_System.Classes.Connect.sConnStr))
                            {
                                int iLinkNum = 0;
                                SalesLine slLastControl = this;
                                string sSqlLiq = "Select ItemCode, Qty, Description From SOLKITDET where FkMainItemCode = '" + frmInventory.sResult.Trim() + "' order by LinkNum ASC";
                                PsqlDataReader rdReaderLiq = Solsage_Process_Management_System.Classes.Connect.getDataCommand(sSqlLiq, oConnLiq).ExecuteReader();
                                while (rdReaderLiq.Read())
                                {
                                    if (iLinkNum == 0)
                                    {
                                        txtCode.Text = frmInventory.sResult.Trim();
                                        SalesLine slSales = this;
                                        bool bValid = Populate_Inventory_Fields(ref slSales, true);
                                        if (!bValid)
                                        {
                                            bKit = true;
                                            break;
                                        }

                                        txtCode.Focus();
                                        txtCode.SelectionStart = 0;
                                        txtCode.SelectionLength = txtCode.Text.Length;
                                        ((Documents.SalesOrder)(Parent.Parent.Parent.Parent)).addTotals();

                                        SalesLine slKitLine = new SalesLine();
                                        //slKitLine.txtStore.Text = rdReaderLiq["RMStore"].ToString().Trim();
                                        slKitLine.txtCode.Text = rdReaderLiq["ItemCode"].ToString().Trim();
                                        slKitLine.txtDescription.Text = rdReaderLiq["Description"].ToString().Trim();
                                        slKitLine.bDoCalculation = false;
                                        slKitLine.bNextLine = true;
                                        slKitLine.txtQuantity.Text = rdReaderLiq["Qty"].ToString().Trim();
                                        ((Documents.SalesOrder)(Parent.Parent.Parent.Parent)).InsertSalesLine(slLastControl.iLineIndex, slKitLine);
                                        //remove first line
                                        //SalesLine slNewDeletedLine = (SalesLine)this;
                                        //((Documents.SalesOrder)(Parent.Parent.Parent.Parent)).deleteSalesLine(slNewDeletedLine, true);
                                        slLastControl = slKitLine;
                                        slKitLine.bDoCalculation = true;
                                        Populate_Kit_Inventory_Fields(ref slKitLine, slKitLine.txtQuantity.Text, slKitLine.txtDescription.Text, slKitLine.txtCode.Text);
                                        bKit = true;

                                        iLinkNum++;
                                    }
                                    else
                                    {

                                        SalesLine slKitLine = new SalesLine();
                                        //slKitLine.txtStore.Text = rdReaderLiq["RMStore"].ToString().Trim();
                                        slKitLine.txtCode.Text = rdReaderLiq["ItemCode"].ToString().Trim();
                                        slKitLine.txtDescription.Text = rdReaderLiq["Description"].ToString().Trim();
                                        slKitLine.bDoCalculation = false;
                                        slKitLine.bNextLine = true;
                                        slKitLine.txtQuantity.Text = rdReaderLiq["Qty"].ToString().Trim();

                                        ((Documents.SalesOrder)(Parent.Parent.Parent.Parent)).InsertSalesLine(slLastControl.iLineIndex, slKitLine);
                                        //remove first line
                                        //SalesLine slNewDeletedLine = (SalesLine)this;
                                        //((Documents.SalesOrder)(Parent.Parent.Parent.Parent)).deleteSalesLine(slNewDeletedLine, true);
                                        Populate_Kit_Inventory_Fields(ref slKitLine, slKitLine.txtQuantity.Text, slKitLine.txtDescription.Text, slKitLine.txtCode.Text);
                                        slLastControl = slKitLine;
                                        slKitLine.bDoCalculation = true;

                                        bKit = true;

                                    }
                                }

                                }
                            //}
                            if (!bKit)
                            {
                                txtCode.Text = frmInventory.sResult.Trim();
                                SalesLine slSales = this;
                                SalesLine slLastControl = this;
                                if (frmInventory.bLinkItem && MessageBox.Show("This item is part of a KIT. Do you want to load all the items linked to this item? ", "Kit Item", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) //Kit Item
                                {
                                    bNextLine = true;
                                    bool bContinue = Populate_Inventory_Fields(ref slSales, false);
                                    txtCode.Focus();
                                    txtCode.SelectionStart = 0;
                                    txtCode.SelectionLength = txtCode.Text.Length;
                                    if (bContinue)
                                    {
                                        PsqlConnection oConn = new PsqlConnection(Solsage_Process_Management_System.Classes.Connect.sPastelConnStr);
                                        oConn.Open();
                                        string sSql = "select RMStore, ItemCode, RMQty, Remarks from  LinkLines ";
                                        sSql += " where ItemCode <> '" + frmInventory.sResult + "' and LnkCode = '" + frmInventory.sResult + "'";
                                        PsqlDataReader rdReader = Solsage_Process_Management_System.Classes.Connect.getDataCommand(sSql, oConn).ExecuteReader();
                                        while (rdReader.Read())
                                        {
                                            SalesLine slKitLine = new SalesLine();
                                            slKitLine.txtStore.Text = rdReader["RMStore"].ToString().Trim();
                                            slKitLine.txtCode.Text = rdReader["ItemCode"].ToString().Trim();
                                            if (slKitLine.txtCode.Text == "'")
                                            {
                                                slKitLine.txtDescription.Text = rdReader["Remarks"].ToString().Trim();
                                            }
                                            slKitLine.bDoCalculation = false;
                                            slKitLine.bNextLine = true;
                                            slKitLine.txtQuantity.Text = rdReader["RMQty"].ToString().Trim();
                                            ((Documents.SalesOrder)(Parent.Parent.Parent.Parent)).InsertSalesLine(slLastControl.iLineIndex, slKitLine);
                                            slLastControl = slKitLine;
                                            slKitLine.bDoCalculation = true;
                                            Populate_Inventory_Fields(ref slKitLine, false);
                                        }
                                        SalesLine slLastLine = (SalesLine)((Documents.SalesOrder)(Parent.Parent.Parent.Parent)).aSaleslines[((Documents.SalesOrder)(Parent.Parent.Parent.Parent)).aSaleslines.Length - 1];
                                        if (slLastLine.txtCode.Text != "")
                                        {
                                            SalesLine slNewline = new SalesLine();//add empty line at the end
                                            ((Documents.SalesOrder)(Parent.Parent.Parent.Parent)).AddSalesLine(slNewline);
                                        }
                                        rdReader.Close();
                                        oConn.Dispose();
                                        ((Documents.SalesOrder)(Parent.Parent.Parent.Parent)).addTotals();
                                    }
                                }
                                else
                                {
                                    bool bValid = Populate_Inventory_Fields(ref slSales, true);
                                    txtCode.Focus();
                                    txtCode.SelectionStart = 0;
                                    txtCode.SelectionLength = txtCode.Text.Length;
                                    ((Documents.SalesOrder)(Parent.Parent.Parent.Parent)).addTotals();
                                    if (Global.bUseQuantityMeasure)
                                    {
                                        using (PsqlConnection pConn = new PsqlConnection(Connect.sPastelConnStr))
                                        {
                                            pConn.Open();
                                            string sSql = "select Category,NettMass from Inventory where ItemCode = '" + txtCode.Text.Trim() + "'";
                                            sCategory = "";
                                            using (PsqlDataReader rdReader = Connect.getDataCommand(sSql, pConn).ExecuteReader())
                                            {
                                                while (rdReader.Read())
                                                {
                                                    sCategory = rdReader["Category"].ToString();
                                                    dNetMassPerUnit = Convert.ToDecimal(rdReader["NettMass"]);
                                                }
                                                rdReader.Close();
                                            }

                                            if (sCategory.Trim() != "")
                                            {
                                                int iMeasureCount = 0;
                                                using (PsqlConnection lConn = new PsqlConnection(Connect.sConnStr))
                                                {
                                                    lConn.Open();

                                                    sSql = "select count(*) from SOLMS where fkInventoryCategory = '" + sCategory + "'";
                                                    iMeasureCount = Convert.ToInt32(Connect.getDataCommand(sSql, lConn).ExecuteScalar());

                                                    lConn.Close();
                                                }
                                                if (iMeasureCount > 0)
                                                {
                                                    bUseScale = true;
                                                    CalcScale();
                                                }
                                                else
                                                {
                                                    bUseScale = false;
                                                }
                                            }
                                            pConn.Close();
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
              Cursor = System.Windows.Forms.Cursors.Default;
        }
Esempio n. 12
0
 private void dgKitMain_CellContentClick(object sender, DataGridViewCellEventArgs e)
 {
     if (dgKitMain.Columns[e.ColumnIndex] == clAddMain)
     {
         Cursor = System.Windows.Forms.Cursors.WaitCursor;
         using (Finder.Inventory frmInventory = new Solsage_Process_Management_System.Finder.Inventory())
         {
             if (frmInventory.ShowDialog("", "", "") == DialogResult.OK)
             {
                 if (frmInventory.sResult != "")
                 {
                     dgKitMain.Rows[e.RowIndex].Cells["clMainItemCode"].Value = frmInventory.sResult;
                     dgKitMain.Rows.Add();
                 }
             }
         }
         Cursor = System.Windows.Forms.Cursors.Default;
     }
     if (dgKitMain.Columns[e.ColumnIndex] == clDeleteMain)
     {
         if (dgKitMain.Rows[e.RowIndex].Cells[0].Value != null)
         {
             dgKitMain.Rows.Remove(dgKitMain.Rows[e.RowIndex]);
         }
     }
 }
Esempio n. 13
0
        private void dgKitDetails_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            if (dgKitDetails.Columns[e.ColumnIndex] == clAdd)
            {
                Cursor = System.Windows.Forms.Cursors.WaitCursor;

                using (Finder.Inventory frmInventory = new Solsage_Process_Management_System.Finder.Inventory())
                {
                    if (frmInventory.ShowDialog("", "", "C") == DialogResult.OK)
                    {
                        frmInventory.cmdAddComment.Visible = true;
                        if (frmInventory.sResult != "")
                        {
                            dgKitDetails.Rows[e.RowIndex].Cells["clItemCode"].Value = frmInventory.sResult;
                            dgKitDetails.Rows[e.RowIndex].Cells["clDescription"].Value = frmInventory.sDescription;
                            dgKitDetails.Rows[e.RowIndex].Cells["clQty"].Value = "1.00";
                            dgKitDetails.Rows.Add();
                        }
                    }
                }
                Cursor = System.Windows.Forms.Cursors.Default;

            }
            if (dgKitDetails.Columns[e.ColumnIndex] == clDelete)
            {
                if (dgKitDetails.Rows[e.RowIndex].Cells[0].Value != null)
                {
                    dgKitDetails.Rows.Remove(dgKitDetails.Rows[e.RowIndex]);
                }
            }
        }
        private void cmdCodeSearch_Click(object sender, EventArgs e)
        {
            Cursor = System.Windows.Forms.Cursors.WaitCursor;
            string sProject = ((Forms.Project.DeliveryNote)(Parent.Parent.Parent.Parent)).txtProject.Text;
            if (sProject == "")
            {
                using (Finder.Inventory frmInventory = new Solsage_Process_Management_System.Finder.Inventory())
                {
                    sQuoteNumber = "";

                    //Sending "None" to inventory ShowDialog to identify that no workshop action should be taken

                    if (frmInventory.ShowDialog("", "", sProject) == DialogResult.OK)
                    {
                        if (frmInventory.sResult != "")
                        {
                            //check if this item has been selected...
                            if (((Forms.Project.DeliveryNote)(Parent.Parent.Parent.Parent)).CheckDuplicateSalesLine(frmInventory.sResult))
                            {
                                MessageBox.Show("No duplicate items are allowed in a sales order. Please select another inventory item.", "Duplicates", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                            }
                            else
                            {
                                txtCode.Text = frmInventory.sResult.Trim();
                                txtDescription.Text = frmInventory.sDescription.Trim();
                                sQuoteNumber = frmInventory.sQuoteNumber.Trim();
                                ProjectDeliveryNote pdlDeliveryNote = this;
                                ProjectDeliveryNote pdlLastControl = this;
                                bool bValid = Populate_Inventory_Fields(ref pdlDeliveryNote, true);
                                txtCode.Focus();
                                txtCode.SelectionStart = 0;
                                txtCode.SelectionLength = txtCode.Text.Length;
                            }
                        }
                    }
                }
            }
            else
            {
                using (Finder.DeliverynoteItemZoom frmDelNoteItemZoom = new Finder.DeliverynoteItemZoom())
                {
                    sQuoteNumber = "";

                    //Sending "None" to inventory ShowDialog to identify that no workshop action should be taken

                    if (frmDelNoteItemZoom.ShowDialog(sProject) == DialogResult.OK)
                    {
                        if (frmDelNoteItemZoom.ItemList.Count != 0)
                        {
                            ItemList = frmDelNoteItemZoom.ItemList;
                            if (ItemList.Count == 1)
                            {

                                foreach (string sItem in ItemList)
                                {
                                    string[] aItemDetails = sItem.Split("|".ToCharArray());
                                    txtCode.Text = aItemDetails[0].ToString();
                                    txtDescription.Text = aItemDetails[1].ToString();
                                    //txtAvlQty.Text = aItemDetails[2].ToString();
                                      //calculate available qty
                                            if (sProject != "")
                                            {
                                                decimal dQuoteQty = 0;
                                                using (PsqlConnection oConn3 = new PsqlConnection(Solsage_Process_Management_System.Classes.Connect.sConnStr))
                                                {
                                                    oConn3.Open();
                                                    string sSql2 = "select SUM(SOLQHL.Qty) as Qty from SOLQHH";
                                                    sSql2 += " inner join SOLQHL on SOLQHH.Docnumber = SOLQHL.Docnumber";
                                                    sSql2 += " where Project = '" + sProject.Trim() + "' and ItemCode = '" + txtCode.Text.Trim() + "'";

                                                    PsqlDataReader rdReader2 = Solsage_Process_Management_System.Classes.Connect.getDataCommand(sSql2, oConn3).ExecuteReader();
                                                    while (rdReader2.Read())
                                                    {
                                                        dQuoteQty = Convert.ToDecimal(rdReader2["Qty"].ToString());

                                                    }
                                                    rdReader2.Close();
                                                    oConn3.Dispose();
                                                }

                                                decimal dDelNoteQty = 0;
                                                decimal dRetNoteQty = 0;
                                                decimal dTotalAvailableQty = 0;
                                                        //get del note Qty
                                                        using (PsqlConnection oConn2 = new PsqlConnection(Connect.sConnStr))
                                                        {
                                                            string sSql2 = "select SOLPDL.ItemCode,SUM(SOLPDL.Qty) AS Qty from SOLPDH";
                                                            sSql2 += " left join SOLPDL on SOLPDL.Docnumber = SOLPDH.Docnumber";
                                                            sSql2 += " where Project = '" + sProject.Trim().Replace("'", "''") + "' AND ItemCode = '" + txtCode.Text.Trim() + "'";
                                                            sSql2 += "group by itemcode";
                                                            PsqlDataReader rdReader2 = Solsage_Process_Management_System.Classes.Connect.getDataCommand(sSql2, oConn2).ExecuteReader();
                                                            while (rdReader2.Read())
                                                            {
                                                                dDelNoteQty = Convert.ToDecimal(rdReader2["Qty"].ToString());

                                                            }
                                                            rdReader2.Close();
                                                            //get ret note qty

                                                            string sSqlRN = "select SOLPRL.ItemCode,SUM(SOLPRL.Qty) AS Qty from SOLPRH";
                                                            sSqlRN += " left join SOLPRL on SOLPRL.Docnumber = SOLPRH.Docnumber";
                                                            sSqlRN += " where Project = '" + sProject.Trim().Replace("'", "''") + "' AND ItemCode = '" + txtCode.Text.Trim() + "'";
                                                            sSqlRN += "group by itemcode";
                                                            PsqlDataReader rdReader3 = Solsage_Process_Management_System.Classes.Connect.getDataCommand(sSqlRN, oConn2).ExecuteReader();
                                                            while (rdReader3.Read())
                                                            {
                                                                dRetNoteQty = Convert.ToDecimal(rdReader3["Qty"].ToString());

                                                            }

                                                            rdReader2.Close();
                                                            oConn2.Dispose();
                                                            dTotalAvailableQty = (Convert.ToDecimal(dQuoteQty - dDelNoteQty) + dRetNoteQty);
                                                            txtAvlQty.Text = dTotalAvailableQty.ToString("N2");
                                                            txtQuantity.Text = dTotalAvailableQty.ToString("N2");
                                                        }

                                                    }

                                    txtUnit.Text = aItemDetails[3].ToString();
                                    ProjectDeliveryNote pdlDeliveryNote = this;
                                    ProjectDeliveryNote pdlLastControl = this;
                                    bool bValid = Populate_Inventory_Fields(ref pdlDeliveryNote, true);
                                }
                            }
                            else
                            {

                                foreach (string sItem in ItemList)
                                {
                                    string[] aItemDetails = sItem.Split("|".ToCharArray());
                                    this.removeLine(null, null);
                                    //txtCode.Text = aItemDetails[0].ToString();
                                    //txtDescription.Text = aItemDetails[1].ToString();
                                    //txtQuoteQty.Text = aItemDetails[2].ToString();
                                    //txtUnit.Text = aItemDetails[3].ToString();
                                    //ProjectDeliveryNote pdlDeliveryNote = this;
                                    ProjectDeliveryNote pdlDelNote = new ProjectDeliveryNote();
                                    pdlDelNote.txtCode.Text = aItemDetails[0].ToString();
                                    pdlDelNote.txtDescription.Text = aItemDetails[1].ToString();
                                    //pdlDelNote.txtAvlQty.Text = aItemDetails[2].ToString();
                                            //calculate available qty
                                            if (sProject != "")
                                            {
                                                decimal dQuoteQty = 0;
                                                using (PsqlConnection oConn3 = new PsqlConnection(Solsage_Process_Management_System.Classes.Connect.sConnStr))
                                                {
                                                    oConn3.Open();
                                                    string sSql2 = "select SUM(SOLQHL.Qty) as Qty from SOLQHH";
                                                    sSql2 += " inner join SOLQHL on SOLQHH.Docnumber = SOLQHL.Docnumber";
                                                    sSql2 += " where Project = '" + sProject.Trim() + "' and ItemCode = '" + pdlDelNote.txtCode.Text.Trim() + "'";

                                                    PsqlDataReader rdReader2 = Solsage_Process_Management_System.Classes.Connect.getDataCommand(sSql2, oConn3).ExecuteReader();
                                                    while (rdReader2.Read())
                                                    {
                                                        dQuoteQty = Convert.ToDecimal(rdReader2["Qty"].ToString());

                                                    }
                                                    rdReader2.Close();
                                                    oConn3.Dispose();
                                                }

                                                decimal dDelNoteQty = 0;
                                                decimal dRetNoteQty = 0;
                                                decimal dTotalAvailableQty = 0;
                                                //get del note Qty
                                                using (PsqlConnection oConn2 = new PsqlConnection(Connect.sConnStr))
                                                {
                                                    string sSql2 = "select SOLPDL.ItemCode,SUM(SOLPDL.Qty) AS Qty from SOLPDH";
                                                    sSql2 += " left join SOLPDL on SOLPDL.Docnumber = SOLPDH.Docnumber";
                                                    sSql2 += " where Project = '" + sProject.Trim().Replace("'", "''") + "' AND ItemCode = '" + pdlDelNote.txtCode.Text.Trim() + "'";
                                                    sSql2 += "group by itemcode";
                                                    PsqlDataReader rdReader2 = Solsage_Process_Management_System.Classes.Connect.getDataCommand(sSql2, oConn2).ExecuteReader();
                                                    while (rdReader2.Read())
                                                    {
                                                        dDelNoteQty = Convert.ToDecimal(rdReader2["Qty"].ToString());

                                                    }
                                                    rdReader2.Close();
                                                    //get ret note qty

                                                    string sSqlRN = "select SOLPRL.ItemCode,SUM(SOLPRL.Qty) AS Qty from SOLPRH";
                                                    sSqlRN += " left join SOLPRL on SOLPRL.Docnumber = SOLPRH.Docnumber";
                                                    sSqlRN += " where Project = '" + sProject.Trim().Replace("'", "''") + "' AND ItemCode = '" + pdlDelNote.txtCode.Text.Trim() + "'";
                                                    sSqlRN += "group by itemcode";
                                                    PsqlDataReader rdReader3 = Solsage_Process_Management_System.Classes.Connect.getDataCommand(sSqlRN, oConn2).ExecuteReader();
                                                    while (rdReader3.Read())
                                                    {
                                                        dRetNoteQty = Convert.ToDecimal(rdReader3["Qty"].ToString());

                                                    }

                                                    rdReader2.Close();
                                                    oConn2.Dispose();
                                                    dTotalAvailableQty = (Convert.ToDecimal(dQuoteQty - dDelNoteQty) + dRetNoteQty);
                                                    pdlDelNote.txtAvlQty.Text = dTotalAvailableQty.ToString("N2");
                                                    pdlDelNote.txtQuantity.Text = dTotalAvailableQty.ToString("N2");
                                                }

                                            }

                                    pdlDelNote.txtUnit.Text = aItemDetails[3].ToString();
                                    //ProjectDeliveryNote pdlLastControl = this;
                                    //bool bValid = Populate_Inventory_Fields(ref pdlDeliveryNote, false, iLineIndex);
                                    ((Forms.Project.DeliveryNote)(Parent.Parent.Parent.Parent)).AddDeliveryLine(pdlDelNote,true);

                                }
                                ProjectDeliveryNote pdlDelNoteNew = new ProjectDeliveryNote();
                                ((Forms.Project.DeliveryNote)(Parent.Parent.Parent.Parent)).AddDeliveryLine(pdlDelNoteNew,true);
                                ((Forms.Project.DeliveryNote)(Parent.Parent.Parent.Parent)).deleteSalesLine(this, true);

                            }

                                //txtCode.Text = frmDelNoteItemZoom.sItemCode.Trim();
                                //txtDescription.Text = frmDelNoteItemZoom.sDescription.Trim();
                                //sQuoteNumber = frmDelNoteItemZoom.sQuoteNumber.Trim();
                                //ProjectDeliveryNote pdlDeliveryNote = this;
                                //ProjectDeliveryNote pdlLastControl = this;
                                //bool bValid = Populate_Inventory_Fields(ref pdlDeliveryNote, true);
                                //txtCode.Focus();
                                //txtCode.SelectionStart = 0;
                                //txtCode.SelectionLength = txtCode.Text.Length;

                        }
                    }

                }

            }
            Cursor = System.Windows.Forms.Cursors.Default;
        }