using BiskLog_Point_Of_Sale.Classes; using BiskLog_Point_Of_Sale.Invoice; using BiskLog_Point_Of_Sale.Properties; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Data.SqlClient; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace Point_Of_Sale_Managment { public partial class InvoiceMain : Form { SqlConnection cn; SqlCommand cm; SqlDataReader dr; DatabaseConn conn = new DatabaseConn(); Form1 mainForm; public InvoiceMain(Form1 form = null) { InitializeComponent(); cn = new SqlConnection(conn.MyConnection()); holding.Left = (ClientSize.Width - holding.Width) / 2; if (form != null) { mainForm = form; } } private async void InvoiceMain_Load(object sender, EventArgs e) { Task task = new Task(LoadInvoice); holding.Visible = true; task.Start(); await task; holding.Visible = false; } private void AddProducts_Click(object sender, EventArgs e) { AddInvoice newInvoice = new AddInvoice(this); newInvoice.BringToFront(); newInvoice.ShowDialog(); } public int LoadInvoice() { try { int i = 1; cn.Open(); dataGridView1.Invoke(new Action(() => { dataGridView1.Rows.Clear(); cm = new SqlCommand("Select Distinct invoiceID,count(invoiceID),dateGenerated,generatedBy,sum(totalprice),status " + "from tblInvoice where branchID = @branchID and invoiceID like '%" + txtSearch.Text + "%'group by invoiceID,dateGenerated," + "generatedBy,status order by dateGenerated desc", cn); cm.Parameters.AddWithValue("@branchID", Settings.Default.BranchID); cm.ExecuteNonQuery(); dr = cm.ExecuteReader(); while (dr.Read()) { dataGridView1.Rows.Add(i, dr[0].ToString(), dr[1].ToString(), Convert.ToDateTime(dr[2].ToString()).ToLongDateString(), dr[3].ToString(), dr[4].ToString(), dr[5].ToString()); i++; } })); dr.Close(); cn.Close(); return 1; } catch { cn.Close(); return 0; } } private async void TxtSearch_TextChanged(object sender, EventArgs e) { Task task = new Task(LoadInvoice); holding.Visible = true; task.Start(); await task; holding.Visible = false; } private void DataGridView1_CellClick(object sender, DataGridViewCellEventArgs e) { if (e.RowIndex != -1) { string id = dataGridView1.Rows[e.RowIndex].Cells[1].Value.ToString(); string cost = dataGridView1.Rows[e.RowIndex].Cells[5].Value.ToString(); string status = dataGridView1.Rows[e.RowIndex].Cells[6].Value.ToString(); InvoiceDialog invoice = new InvoiceDialog(this, id, cost, status); invoice.BringToFront(); invoice.ShowDialog(); } } public void ShowSalesPOS(Form form, List invoice,string id) { try { SalesPOS sales = new SalesPOS(invoicecode: invoice,invoiceid:id); mainForm.Hide(); sales.BringToFront(); sales.ShowDialog(); form.Close(); mainForm.Show(); LoadInvoice(); } catch (Exception ex) { ErrorLogging.WriteToFile(ex.ToString()); } } } }