private void getMainInformation()
        {
            var dt1       = new DataTable();
            var dt2       = new DataTable();
            var UsedClass = new BasicClass();

            dt1 = UsedClass.selectdata("Casher_select_all_IDs", null);
            dt2 = UsedClass.selectdata("Casher_SelectUnUsedInvoices", null);
            textBoxPercentageTransfer.Text = dt1.Rows[0]["PercentageTransfer"].ToString();

            if (dt2.Rows.Count > 0)
            {
                textBoxInvoiceNo.Text = dt2.Rows[0]["InvoiceNo"].ToString();
                deletePrviousInvoices();
                UnUsedId = true;
            }
            else
            {
                textBoxInvoiceNo.Text = dt1.Rows[0]["InvoiceNo"].ToString();
                UsedClass.ExecuteCommand("Casher_IncreaseInvoiceNumber", null);     //increase Invoice Number
                SaveInvoices("UNUSED", "UNUSED");
                UnUsedId = true;
            }
            //else
            //{
            //}
        }
        private void buttonModifyUsers_Click(object sender, EventArgs e)
        {
            var dt        = new DataTable();
            var UsedClass = new BasicClass();

            SqlParameter[] param = new SqlParameter[7];
            param[0] = new SqlParameter("@ID", SqlDbType.Int);
            param[1] = new SqlParameter("@FullName", SqlDbType.NVarChar, 150);
            param[2] = new SqlParameter("@UserName", SqlDbType.NVarChar, 150);
            param[3] = new SqlParameter("@ReportPermision", SqlDbType.Bit);
            param[4] = new SqlParameter("@StorePermision", SqlDbType.Bit);
            param[5] = new SqlParameter("@CasherPermision", SqlDbType.Bit);
            param[6] = new SqlParameter("@SuperUser", SqlDbType.Bit);
            if (dataGridViewUsers.CurrentRow.Index >= 0 && changesInUserFlag == true)
            {
                for (int i = 0; i < dataGridViewUsers.Rows.Count; i++)
                {
                    param[0].Value = Int32.Parse(dataGridViewUsers.Rows[i].Cells["ColumnUserID"].Value.ToString());
                    param[1].Value = dataGridViewUsers.Rows[i].Cells["ColumnUserFullName"].Value.ToString();
                    param[2].Value = dataGridViewUsers.Rows[i].Cells["ColumnUserName"].Value.ToString();
                    param[3].Value = Convert.ToBoolean(dataGridViewUsers.Rows[i].Cells["ColumnReportPermsion"].Value.ToString());
                    param[4].Value = Convert.ToBoolean(dataGridViewUsers.Rows[i].Cells["ColumnStorePermsion"].Value.ToString());
                    param[5].Value = Convert.ToBoolean(dataGridViewUsers.Rows[i].Cells["ColumnCasherPermsion"].Value.ToString());
                    param[6].Value = Convert.ToBoolean(dataGridViewUsers.Rows[i].Cells["ColumnSuper"].Value.ToString());

                    UsedClass.ExecuteCommand("Casher_UpdateUsers", param);
                }
                MessageBox.Show("DONE", "MESSAGE");
                Application.Exit();
            }
            else
            {
                //nothing
            }
        }
        private void buttonPreventUser_Click(object sender, EventArgs e)
        {
            var dt        = new DataTable();
            var UsedClass = new BasicClass();

            SqlParameter[] param = new SqlParameter[7];
            param[0] = new SqlParameter("@ID", SqlDbType.Int);
            param[1] = new SqlParameter("@FullName", SqlDbType.NVarChar, 150);
            param[2] = new SqlParameter("@UserName", SqlDbType.NVarChar, 150);
            param[3] = new SqlParameter("@ReportPermision", SqlDbType.Bit);
            param[4] = new SqlParameter("@StorePermision", SqlDbType.Bit);
            param[5] = new SqlParameter("@CasherPermision", SqlDbType.Bit);
            param[6] = new SqlParameter("@SuperUser", SqlDbType.Bit);
            if (dataGridViewUsers.CurrentRow.Index >= 0)
            {
                param[0].Value = Int32.Parse(dataGridViewUsers.Rows[dataGridViewUsers.CurrentRow.Index].Cells["ColumnUserID"].Value.ToString());
                param[1].Value = dataGridViewUsers.Rows[dataGridViewUsers.CurrentRow.Index].Cells["ColumnUserFullName"].Value.ToString();
                param[2].Value = dataGridViewUsers.Rows[dataGridViewUsers.CurrentRow.Index].Cells["ColumnUserName"].Value.ToString();
                param[3].Value = 0;
                param[4].Value = 0;
                param[5].Value = 0;
                param[6].Value = 0;

                UsedClass.ExecuteCommand("Casher_UpdateUsers", param);

                MessageBox.Show("تم حضر هذا المستخدم سوف يتم الخروج من البرنامج", "MESSAGE");

                Application.Exit();
            }
        }
        private void buttondeleteCatSave_Click(object sender, EventArgs e)
        {
            var UsedClass = new BasicClass();

            SqlParameter[] param = new SqlParameter[1];
            param[0] = new SqlParameter("@CategoryID", SqlDbType.Int);
            if (comboBoxdeletechooseCat.Text == "")
            {
                MessageBox.Show("خطأ في ادخال المعلومات", "Message");
            }
            else
            {
                param[0].Value = int.Parse((comboBoxdeletechooseCat.SelectedValue.ToString()));
                DialogResult Result = MessageBox.Show("عملية الحذف سوف تؤدي الى حذف العناصر التي تنتمي لهذا الصنف", "Confirmation", MessageBoxButtons.YesNo, MessageBoxIcon.Hand);
                if (Result == DialogResult.Yes)
                {
                    UsedClass.ExecuteCommand("Casher_deleteCategory", param);
                    MessageBox.Show("DONE", "MESSAGE");
                    comboBoxdeletechooseCat_DropDown(sender, e);
                }
                else
                {
                }
            }
        }
        private void buttonedititem_Click(object sender, EventArgs e)
        {
            var UsedClass = new BasicClass();
            var dt        = new DataTable();

            SqlParameter[] param = new SqlParameter[7];
            if (changesInItemFlag)
            {
                param[0] = new SqlParameter("@itemID", SqlDbType.Int);
                param[1] = new SqlParameter("@itemName", SqlDbType.NVarChar, 100);
                param[2] = new SqlParameter("@itemCategory", SqlDbType.NVarChar, 100);
                param[3] = new SqlParameter("@Barcode", SqlDbType.NVarChar, 100);
                param[4] = new SqlParameter("@ExpireDate", SqlDbType.NVarChar, 100);
                param[5] = new SqlParameter("@CriticalRange", SqlDbType.Int);
                param[6] = new SqlParameter("@PCS", SqlDbType.Int);
                for (int i = 0; i < dataGridVieweditItem.Rows.Count; i++)
                {
                    param[0].Value = int.Parse(dataGridVieweditItem.Rows[i].Cells["ColumnItemID"].Value.ToString());
                    param[1].Value = dataGridVieweditItem.Rows[i].Cells["ColumnItemName"].Value.ToString();
                    param[2].Value = dataGridVieweditItem.Rows[i].Cells["ColumnItemCategory"].Value.ToString();
                    param[3].Value = dataGridVieweditItem.Rows[i].Cells["ColumnBarcode"].Value.ToString();
                    param[4].Value = dataGridVieweditItem.Rows[i].Cells["ColumnExpireDate"].Value.ToString();
                    param[5].Value = int.Parse(dataGridVieweditItem.Rows[i].Cells["ColumnCriticalRange"].Value.ToString());
                    param[6].Value = int.Parse(dataGridVieweditItem.Rows[i].Cells["ColumnpcsCarton"].Value.ToString());
                    UsedClass.ExecuteCommand("Casher_settingUpdateItem", param);
                }
                changesInItemFlag = false;
                MessageBox.Show("DONE", "MESSAGE");
                textBoxEditItemSearch_TextChanged(sender, e);
            }
            else
            {
            }

            //if ( changesInItems.Rows.Count > 0 && changesInItemFlag == true )
            //{
            //    param[0] = new SqlParameter ( "@itemID" , SqlDbType.Int );
            //    param[1] = new SqlParameter ( "@itemName" , SqlDbType.NVarChar , 100 );
            //    param[2] = new SqlParameter ( "@itemCategory" , SqlDbType.NVarChar , 100 );
            //    param[3] = new SqlParameter ( "@Barcode" , SqlDbType.NVarChar , 100 );
            //    param[4] = new SqlParameter ( "@ExpireDate" , SqlDbType.NVarChar , 100 );
            //    param[5] = new SqlParameter ( "@CriticalRange" , SqlDbType.Int );
            //    param[6] = new SqlParameter ( "@PCS" , SqlDbType.Int );

            //    for ( int i = 0 ; i < changesInItems.Rows.Count ; i++ )
            //    {
            //        param[0].Value = changesInItems.Rows[i]["ItemID"].ToString ();
            //        param[1].Value = changesInItems.Rows[i]["ItemName"].ToString ();
            //        param[2].Value = changesInItems.Rows[i]["itemCategory"].ToString ();
            //        param[3].Value = changesInItems.Rows[i]["ItemBarCode"].ToString ();
            //        param[4].Value = changesInItems.Rows[i]["ItemExpire"].ToString ();
            //        param[5].Value = int.Parse ( changesInItems.Rows[i]["Critical_Quantity"].ToString () );
            //        param[6].Value = int.Parse ( changesInItems.Rows[i]["Pcs_InsideCarton"].ToString () );
            //        UsedClass.ExecuteCommand ( "Casher_settingUpdateItem" , param );
            //    }
            //    changesInItemFlag = false;
            //    MessageBox.Show ( "DONE" , "MESSAGE" );
            //    textBoxEditItemSearch_TextChanged ( sender , e );
            //}
        }
Esempio n. 6
0
        private void deletePrviousInvoices()
        {
            var UsedClass = new BasicClass();

            SqlParameter[] param = new SqlParameter[1];
            param[0]       = new SqlParameter("@InvoiceNo", SqlDbType.Int);
            param[0].Value = int.Parse(textBoxInvoiceNo.Text);
            UsedClass.ExecuteCommand("CasherForm_deletePreviousInvoice", param);
        }
        private void buttonnewUserSave_Click(object sender, EventArgs e)
        {
            var UsedClass = new BasicClass();

            SqlParameter[] param = new SqlParameter[8];
            param[0] = new SqlParameter("@UserFullName", SqlDbType.NVarChar, 150);
            param[1] = new SqlParameter("@UserName", SqlDbType.NVarChar, 150);
            param[2] = new SqlParameter("@UserPassword", SqlDbType.NVarChar, 150);
            param[3] = new SqlParameter("@SuperUserPermission", SqlDbType.Bit);
            param[4] = new SqlParameter("@CasherPermsion", SqlDbType.Bit);
            param[5] = new SqlParameter("@ReportPermision", SqlDbType.Bit);
            param[6] = new SqlParameter("@PurshacePermision", SqlDbType.Bit);
            param[7] = new SqlParameter("@AddbyUser", SqlDbType.NVarChar, 150);
            if (textBoxnewUserFullName.Text == "" || textBoxnewUserUserName.Text == "" || textBoxnewUserPassword.Text == "")
            {
                MessageBox.Show("خطأ في ادخال المعلومات", "Message");
            }
            else
            {
                if (!checkBoxSuperUser.Checked && !checkBoxCasherPermision.Checked && !checkBoxPurshacePermision.Checked && !checkBoxReportPermision.Checked)
                {
                    MessageBox.Show("يجب ادخال صلاحية واحدة على الاقل او الغاء العملية", "Message");
                }
                else
                {
                    try
                    {
                        param[0].Value = textBoxnewUserFullName.Text.Trim();
                        param[1].Value = textBoxnewUserUserName.Text.Trim();
                        param[2].Value = textBoxnewUserPassword.Text.Trim();
                        param[3].Value = checkBoxSuperUser.Checked;
                        param[4].Value = checkBoxCasherPermision.Checked;
                        param[5].Value = checkBoxReportPermision.Checked;
                        param[6].Value = checkBoxPurshacePermision.Checked;
                        param[7].Value = BasicClass.UserName;
                        UsedClass.ExecuteCommand("Casher_InsertNewUser", param);
                        MessageBox.Show("DONE", "MESSAGE");
                        ClearRecords();
                    }
                    catch (Exception)
                    {
                        MessageBox.Show("المعلومات المدخلة موجودة مسبقا", "MESSAGE");
                    }
                }
            }
        }
        private void buttondeleteItem_Click(object sender, EventArgs e)
        {
            var UsedClass = new BasicClass();

            SqlParameter[] param = new SqlParameter[1];
            param[0] = new SqlParameter("@ItemID", SqlDbType.Int);
            if (dataGridVieweditItem.CurrentRow.Index >= 0)
            {
                if (dataGridVieweditItem.Rows[dataGridVieweditItem.CurrentRow.Index].Cells["ColumnItemID"].Value.ToString() != "")
                {
                    param[0].Value = int.Parse(dataGridVieweditItem.Rows[dataGridVieweditItem.CurrentRow.Index].Cells["ColumnItemID"].Value.ToString());
                    UsedClass.ExecuteCommand("Casher_deleteItem", param);
                    MessageBox.Show("DONE", "MESSAGE");
                    textBoxEditItemSearch_TextChanged(sender, e);
                }
            }
        }
 private void buttonnewItemSave_Click(object sender, EventArgs e)
 {
     if (textBoxnewItemEnterName.Text == "" || comboBoxnewItemCategory.Text == "")
     {
         MessageBox.Show("يرجى التأكد من ادخال المعلومات بشكل كامل", "خــــطأ", MessageBoxButtons.OK, MessageBoxIcon.Warning);
     }
     else
     {
         var            dt        = new DataTable();
         var            UsedClass = new BasicClass();
         SqlParameter[] param     = new SqlParameter[8];
         param[0]       = new SqlParameter("@ItemID", SqlDbType.Int);
         param[1]       = new SqlParameter("@itemName", SqlDbType.NVarChar, 150);
         param[2]       = new SqlParameter("@itemCategory", SqlDbType.NVarChar, 150);
         param[3]       = new SqlParameter("@PcsInsideCarton", SqlDbType.Int);
         param[4]       = new SqlParameter("@CriticalQuantity", SqlDbType.Int);
         param[5]       = new SqlParameter("@ItemBarcode", SqlDbType.NVarChar, 150);
         param[6]       = new SqlParameter("@EnteredUser", SqlDbType.NVarChar, 150);
         param[7]       = new SqlParameter("@ItemExpire", SqlDbType.NVarChar, 150);
         param[0].Value = getInformation("ItemID");
         param[1].Value = textBoxnewItemEnterName.Text.Trim();
         param[2].Value = comboBoxnewItemCategory.Text.Trim();
         param[3].Value = int.Parse(textBoxnewItemEnterPCS.Text.Trim());
         param[4].Value = int.Parse(textBoxnewItemEnterCriticalRange.Text.Trim());
         param[5].Value = textBoxnewItemEnterBarcode.Text.Trim();
         param[6].Value = BasicClass.UserName;
         if (checkBoxnewItemExpire.Checked)
         {
             param[7].Value = dateTimePickernewItemExpire.Text.Trim();
         }
         else
         {
             param[7].Value = "لايوجد";
         }
         UsedClass.ExecuteCommand("Casher_create_new_items", param);
         MessageBox.Show("DONE", "Message");
         ClearRecords();
     }
 }
        private void buttonnewCatSave_Click(object sender, EventArgs e)
        {
            var UsedClass = new BasicClass();

            SqlParameter[] param = new SqlParameter[3];
            param[0] = new SqlParameter("@CategoryID", SqlDbType.Int);
            param[1] = new SqlParameter("@categoryName", SqlDbType.NVarChar, 50);
            param[2] = new SqlParameter("@EnteredUser", SqlDbType.NVarChar, 50);
            if (textBoxnewCatEnterCatName.Text == "")
            {
                MessageBox.Show("خطأ في ادخال المعلومات", "Message");
            }
            else
            {
                param[0].Value = getInformation("CatID");
                param[1].Value = textBoxnewCatEnterCatName.Text.Trim();
                param[2].Value = BasicClass.UserName;
                UsedClass.ExecuteCommand("Casher_create_new_category", param);
                MessageBox.Show("DONE", "MESSAGE");
                textBoxnewCatEnterCatName.Text = "";
            }
        }
        private void buttoneditCatSave_Click(object sender, EventArgs e)
        {
            var dt        = new DataTable();
            var UsedClass = new BasicClass();

            SqlParameter[] param = new SqlParameter[2];
            param[0] = new SqlParameter("@CategoryID", SqlDbType.Int);
            param[1] = new SqlParameter("@CategoryName", SqlDbType.NVarChar, 100);
            if (textBoxeditCatEnter.Text == "")
            {
                MessageBox.Show("خطأ في ادخال المعلومات", "Message");
            }
            else
            {
                param[0].Value = int.Parse(comboBoxeditChooseCat.SelectedValue.ToString());
                param[1].Value = textBoxeditCatEnter.Text.Trim();
                UsedClass.ExecuteCommand("Casher_Re_nameCategory", param);
                MessageBox.Show("DONE", "MESSAGE");
                textBoxeditCatEnter.Text = "";
                dt.Rows.Clear();
                comboBoxeditChooseCat.DataSource = dt;
            }
        }
Esempio n. 12
0
        private void SaveInvoices(string RUNORSAVE, string PayOrNot)
        {
            var UsedClass = new BasicClass();

            SqlParameter[] param = new SqlParameter[6];
            for (int i = 0; i < dataGridViewItems.Rows.Count; i++)
            {
                //all data will be inserted into Table_orders
                param[0]       = new SqlParameter("@invoiceNo", SqlDbType.Int);
                param[0].Value = Int32.Parse(textBoxInvoiceNo.Text);
                //
                param[1]       = new SqlParameter("@itemName", SqlDbType.NVarChar, 50);
                param[1].Value = dataGridViewItems.Rows[i].Cells["ColumnItemName"].Value;
                //
                param[2]       = new SqlParameter("@Quantity", SqlDbType.Int);
                param[2].Value = int.Parse(dataGridViewItems.Rows[i].Cells["ColumnItemQuantity"].Value.ToString()) * -1;
                //
                param[3]       = new SqlParameter("@price", SqlDbType.Float);
                param[3].Value = float.Parse(dataGridViewItems.Rows[i].Cells["ColumnItemPrice"].Value.ToString());
                //
                param[4]       = new SqlParameter("@totalPrice", SqlDbType.Float);
                param[4].Value = float.Parse(dataGridViewItems.Rows[i].Cells["ColumnTotal"].Value.ToString());
                //
                param[5]       = new SqlParameter("@CustomerName", SqlDbType.NVarChar, 250);
                param[5].Value = textBoxCustomerName.Text;
                //
                UsedClass.ExecuteCommand("insert_order", param);
                //all data will be inserted into Table_orders
            }
            SqlParameter[] param2 = new SqlParameter[12];

            //below data will be inserted into two tables INVOICES_INFORMATION and INVOICES_MONEY
            //try
            //{
            param2[0]       = new SqlParameter("@InvoiceNo", SqlDbType.Int);
            param2[1]       = new SqlParameter("@CustomerName", SqlDbType.NVarChar, 150);
            param2[2]       = new SqlParameter("@InvoiceType", SqlDbType.NVarChar, 100);
            param2[3]       = new SqlParameter("@InvoiceDate", SqlDbType.Date);
            param2[4]       = new SqlParameter("@InvoicePaymentStatus", SqlDbType.NVarChar, 100);
            param2[5]       = new SqlParameter("@InvoiceRunORnot", SqlDbType.NVarChar, 100);
            param2[6]       = new SqlParameter("@IQAmountPaid", SqlDbType.Float);
            param2[7]       = new SqlParameter("@USAmountPaid", SqlDbType.Float);
            param2[8]       = new SqlParameter("@ConversionRate", SqlDbType.Float);
            param2[9]       = new SqlParameter("@InvoiceDiscount", SqlDbType.Float);
            param2[10]      = new SqlParameter("@Reminder", SqlDbType.Float);
            param2[11]      = new SqlParameter("@EnteredUser", SqlDbType.NVarChar, 150);
            param2[0].Value = int.Parse(textBoxInvoiceNo.Text);
            param2[1].Value = textBoxCustomerName.Text;
            param2[2].Value = "بيع";
            param2[3].Value = dateTimePickerInvoiceDate.Text;
            param2[4].Value = PayOrNot;
            param2[5].Value = RUNORSAVE;
            var currencyformat = CultureInfo.GetCultureInfo("AR-iq");

            param2[6].Value = IQPaidAmount();

            param2[7].Value = textBoxDollarSaveAmount.Text;
            param2[8].Value = textBoxPercentageTransfer.Text;
            var FinalAmount = 0.0;

            if (textBoxDiscountPercentage.Text != "" && textBoxDiscountPercentage.Text != "0")
            {
                currencyformat = CultureInfo.GetCultureInfo("AR-iq");
                var TotalAmount       = Convert.ToDouble(textBoxTotalInvoice.Text.Replace(currencyformat.NumberFormat.CurrencySymbol, ""));
                var PercentageDisount = 0.0;
                PercentageDisount = int.Parse(textBoxDiscountPercentage.Text);
                PercentageDisount = PercentageDisount * 1 / 100;
                PercentageDisount = PercentageDisount * TotalAmount;
                FinalAmount       = PercentageDisount;
            }
            else if (textBoxDiscountAmount.Text != "" && textBoxDiscountAmount.Text != "0")
            {
                currencyformat = CultureInfo.GetCultureInfo("AR-iq");
                var TotalAmount    = Convert.ToDouble(textBoxTotalInvoice.Text.Replace(currencyformat.NumberFormat.CurrencySymbol, ""));
                var DiscountAmount = int.Parse(textBoxDiscountAmount.Text);
                FinalAmount = DiscountAmount;
            }
            param2[9].Value = FinalAmount;
            var Reminder = 0.0;

            if (textBoxReminderMoney.Text != "" || textBoxReminderMoney.Text != "0")
            {
                if (textBoxReminderMoney.Text.Contains("-"))
                {
                    currencyformat = CultureInfo.GetCultureInfo("AR-iq");
                    Reminder       = Convert.ToDouble(textBoxReminderMoney.Text.Replace(currencyformat.NumberFormat.CurrencySymbol, "").Replace("-", ""));
                    Reminder      *= -1;
                }
                else
                {
                    currencyformat = CultureInfo.GetCultureInfo("AR-iq");
                    Reminder       = Convert.ToDouble(textBoxReminderMoney.Text.Replace(currencyformat.NumberFormat.CurrencySymbol, "").Replace("-", ""));
                }
            }
            param2[10].Value = Reminder;
            param2[11].Value = textBoxUserName.Text;
            UsedClass.ExecuteCommand("Casher_InsertNewInvoice", param2);
            //}
            //catch ( Exception e )
            //{

            //    MessageBox.Show ( e.Message );
            //}
        }
Esempio n. 13
0
        private void SaveInvoices(string RUNORSAVE, string PayOrNot)
        {
            var UsedClass = new BasicClass();

            if (dataGridViewItems.Rows.Count > 0)
            {
                SqlParameter[] param  = new SqlParameter[6];
                SqlParameter[] param2 = new SqlParameter[12];
                for (int i = 0; i < dataGridViewItems.Rows.Count; i++)
                {
                    //all data will be inserted into Table_orders
                    param[0]       = new SqlParameter("@invoiceNo", SqlDbType.Int);
                    param[0].Value = Int32.Parse(textBoxInvoiceNo.Text);
                    //
                    param[1]       = new SqlParameter("@itemName", SqlDbType.NVarChar, 50);
                    param[1].Value = dataGridViewItems.Rows[i].Cells["ColumnItemName"].Value;
                    //
                    param[2]       = new SqlParameter("@Quantity", SqlDbType.Int);
                    param[2].Value = int.Parse(dataGridViewItems.Rows[i].Cells["ColumnItemQuantity"].Value.ToString()) * -1;
                    //
                    param[3]       = new SqlParameter("@price", SqlDbType.Float);
                    param[3].Value = float.Parse(dataGridViewItems.Rows[i].Cells["ColumnItemPrice"].Value.ToString());
                    //
                    param[4]       = new SqlParameter("@totalPrice", SqlDbType.Float);
                    param[4].Value = float.Parse(dataGridViewItems.Rows[i].Cells["ColumnTotal"].Value.ToString());
                    //
                    param[5]       = new SqlParameter("@CustomerName", SqlDbType.NVarChar, 250);
                    param[5].Value = textBoxCustomerName.Text;
                    //
                    UsedClass.ExecuteCommand("insert_order", param);
                    //all data will be inserted into Table_orders
                }
                param2[0]       = new SqlParameter("@InvoiceNo", SqlDbType.Int);
                param2[1]       = new SqlParameter("@CustomerName", SqlDbType.NVarChar, 150);
                param2[2]       = new SqlParameter("@InvoiceType", SqlDbType.NVarChar, 100);
                param2[3]       = new SqlParameter("@InvoiceDate", SqlDbType.Date);
                param2[4]       = new SqlParameter("@InvoicePaymentStatus", SqlDbType.NVarChar, 100);
                param2[5]       = new SqlParameter("@InvoiceRunORnot", SqlDbType.NVarChar, 100);
                param2[6]       = new SqlParameter("@IQAmountPaid", SqlDbType.Float);
                param2[7]       = new SqlParameter("@USAmountPaid", SqlDbType.Float);
                param2[8]       = new SqlParameter("@ConversionRate", SqlDbType.Float);
                param2[9]       = new SqlParameter("@InvoiceDiscount", SqlDbType.Float);
                param2[10]      = new SqlParameter("@Reminder", SqlDbType.Float);
                param2[11]      = new SqlParameter("@EnteredUser", SqlDbType.NVarChar, 150);
                param2[0].Value = int.Parse(textBoxInvoiceNo.Text);
                param2[1].Value = textBoxCustomerName.Text;
                param2[2].Value = "بيع";
                param2[3].Value = dateTimePickerInvoiceDate.Text;
                param2[4].Value = PayOrNot;
                param2[5].Value = RUNORSAVE;
                param2[6].Value = IQPaidAmount();
                param2[7].Value = textBoxDollarSaveAmount.Text;
                param2[8].Value = textBoxPercentageTransfer.Text;
                var finalDiscountAmount = 0.0;
                if (textBoxDiscountPercentage.Text != "" && textBoxDiscountPercentage.Text != "0")
                {
                    var TotalAmount       = Convert.ToDouble(textBoxTotalInvoice.Text.Trim());
                    var PercentageDisount = 0.0;
                    PercentageDisount   = double.Parse(textBoxDiscountPercentage.Text);
                    PercentageDisount   = PercentageDisount * 1 / 100;
                    PercentageDisount   = PercentageDisount * TotalAmount;
                    finalDiscountAmount = PercentageDisount;
                }
                else if (textBoxDiscountAmount.Text != "" && textBoxDiscountAmount.Text != "0")
                {
                    var TotalAmount    = Convert.ToDouble(textBoxTotalInvoice.Text.Trim());
                    var DiscountAmount = double.Parse(textBoxDiscountAmount.Text);
                    finalDiscountAmount = DiscountAmount;
                }
                param2[9].Value = finalDiscountAmount;

                var Reminder = 0.0;
                if (textBoxReminderMoney.Text != "" || textBoxReminderMoney.Text != "0")
                {
                    if (textBoxReminderMoney.Text.Contains("-"))
                    {
                        Reminder  = Convert.ToDouble(textBoxReminderMoney.Text.Trim());
                        Reminder *= -1;
                    }
                    else
                    {
                        Reminder = Convert.ToDouble(textBoxReminderMoney.Text.Trim());
                    }
                }
                param2[10].Value = Reminder;
                param2[11].Value = BasicClass.UserName;
                UsedClass.ExecuteCommand("Casher_InsertNewInvoice", param2);
            }
            else
            {
                SqlParameter[] param = new SqlParameter[5];
                param[0]       = new SqlParameter("@InvoiceNum", SqlDbType.Int);
                param[1]       = new SqlParameter("@CustomerName", SqlDbType.NVarChar, 100);
                param[2]       = new SqlParameter("@PaymentSatus", SqlDbType.NVarChar, 100);
                param[3]       = new SqlParameter("@RunORNot", SqlDbType.NVarChar, 100);
                param[4]       = new SqlParameter("@User", SqlDbType.NVarChar, 150);
                param[0].Value = int.Parse(textBoxInvoiceNo.Text);
                if (textBoxCustomerName.Text == "")
                {
                    textBoxCustomerName.Text    = "زبون خارجي";
                    textBoxCustomerName.Enabled = false;
                }
                param[1].Value = textBoxCustomerName.Text;
                param[2].Value = PayOrNot;
                param[3].Value = RUNORSAVE;
                param[4].Value = BasicClass.UserName;
                UsedClass.ExecuteCommand("Casher_insertUnUsedInvoice", param);
            }
            if (BasicClass.flagModified)
            {
                this.Close();
            }
        }