/// <summary> /// Relaod Database table with all his entries. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void mB_RelaodDB_Click(object sender, EventArgs e) { MetroFramework.Controls.MetroListView temp = new MetroFramework.Controls.MetroListView(); using (Accounting.DatabaseContext db = new DatabaseContext()) { switch (mCB_SelectTable.SelectedIndex) { case (int)Table.Customer: TabControl.RefreshCustomer(List_Search); break; case (int)Table.Expenses: TabControl.RefreshExpenses(List_Search); break; case (int)Table.Income: TabControl.RefreshIncome(List_Search); income = db.Incomes.ToList(); break; case (int)Table.Products: TabControl.RefreshProdukt(List_Search, temp); break; default: break; } } ClearFilter(); }
/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Form_Main_Load(object sender, EventArgs e) { using (DatabaseContext db = new DatabaseContext()) { customerBindingSource.DataSource = db.Customers.ToList(); incomeBindingSource.DataSource = db.Incomes.ToList(); expensesBindingSource.DataSource = db.Expenses.ToList(); produktBindingSource.DataSource = db.Produkts.ToList(); } ///Tabellen werden nur geladen, wenn die Datenbanken Einträge enthalten if (incomeBindingSource.Count != 0) { TabControl.RefreshIncome(List_Income); } if (customerBindingSource.Count != 0) { TabControl.RefreshCustomer(List_Customer); } if (expensesBindingSource.Count != 0) { TabControl.RefreshExpenses(List_Expenses); } if (produktBindingSource.Count != 0) { TabControl.RefreshProdukt(List_Produkts, mlV_Products_Income); } mP_Customer.Enabled = false; mP_Income.Enabled = false; mP_Expenses.Enabled = false; mP_Produkts.Enabled = false; }
/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Database_Load(object sender, EventArgs e) { //SQLClient.SQLDatabase test = new SQLClient.SQLDatabase("HelloWorld"); //test.createConnectionString(); ////test.CheckConnection(); //DatabaseContext database = new DatabaseContext(test.ConnectionString); using (DatabaseContext db = new DatabaseContext()) { customerBindingSource.DataSource = db.Customers.ToList(); incomeBindingSource.DataSource = db.Incomes.ToList(); expensesBindingSource.DataSource = db.Expenses.ToList(); produktBindingSource.DataSource = db.Produkts.ToList(); ///Tabellen werden nur geladen, wenn die Datenbanken Einträge enthalten if (db.Incomes.Count() != 0) { TabControl.RefreshIncome(List_Income); } if (db.Customers.Count() != 0) { TabControl.RefreshCustomer(List_Customer); } if (db.Expenses.Count() != 0) { TabControl.RefreshExpenses(List_Expenses); } if (db.Produkts.Count() != 0) { TabControl.RefreshProdukt(List_Produkts, mlV_Products_Income); } } mP_Customer.Enabled = false; mP_Income.Enabled = false; mP_Expenses.Enabled = false; mP_Produkts.Enabled = false; }
/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void mB_Save_Click(object sender, EventArgs e) { using (DatabaseContext db = new DatabaseContext()) { if (mTC_Accounting.SelectedTab == mTP_Customer) { Customer obj_Customer = customerBindingSource.Current as Customer; if (obj_Customer != null) { if (db.Entry <Customer>(obj_Customer).State == System.Data.Entity.EntityState.Detached) { db.Set <Customer>().Attach(obj_Customer); } if (obj_Customer.ObjectState == 1) { db.Entry <Customer>(obj_Customer).State = System.Data.Entity.EntityState.Added; } else if (obj_Customer.ObjectState == 2) { db.Entry <Customer>(obj_Customer).State = System.Data.Entity.EntityState.Modified; } db.SaveChanges(); mP_Customer.Enabled = false; obj_Customer.ObjectState = 0; TabControl.RefreshCustomer(List_Customer); } } else if (mTC_Accounting.SelectedTab == mTP_Income) { Income obj_Income = incomeBindingSource.Current as Income; if (obj_Income != null) { try { obj_Income.Customer = db.Customers.First(c => c.Id == obj_Income.Customer_Id); } catch (Exception) { MetroMessageBox.Show(this, "Pleaser enter one Cutomer Name \n\r " + e.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (mlV_Products_Income.CheckedItems.Count != 0) { foreach (var item in mlV_Products_Income.CheckedIndices) { string a = mlV_Products_Income.Items[Convert.ToInt32(item)].Text; obj_Income.Products = obj_Income.Products + a + ", "; } } else { obj_Income.Products = " "; } if (db.Entry <Income>(obj_Income).State == System.Data.Entity.EntityState.Detached) { db.Set <Income>().Attach(obj_Income); } if (obj_Income.ObjectState == 1) { db.Entry <Income>(obj_Income).State = System.Data.Entity.EntityState.Added; } else if (obj_Income.ObjectState == 2) { db.Entry <Income>(obj_Income).State = System.Data.Entity.EntityState.Modified; } db.SaveChanges(); mP_Income.Enabled = false; obj_Income.ObjectState = 0; TabControl.RefreshIncome(List_Income); return; } } else if (mTC_Accounting.SelectedTab == mTP_Expenses) { Expense obj_Expense = expensesBindingSource.Current as Expense; if (obj_Expense != null) { if (obj_Expense.Details == null) { obj_Expense.Details = "No Details "; } if (db.Entry <Expense>(obj_Expense).State == System.Data.Entity.EntityState.Detached) { db.Set <Expense>().Attach(obj_Expense); } if (obj_Expense.ObjectState == 1) { db.Entry <Expense>(obj_Expense).State = System.Data.Entity.EntityState.Added; } else if (obj_Expense.ObjectState == 2) { db.Entry <Expense>(obj_Expense).State = System.Data.Entity.EntityState.Modified; } db.SaveChanges(); mP_Expenses.Enabled = false; obj_Expense.ObjectState = 0; TabControl.RefreshExpenses(List_Expenses); return; } } else if (mTC_Accounting.SelectedTab == mTP_Produkts) { Produkt obj_Produkt = produktBindingSource.Current as Produkt; if ((obj_Produkt.Unit < 0) && (obj_Produkt.Unit > obj_Produkt.Units.Count)) { MetroMessageBox.Show(this, "Pleaser select one Unit\n\r " + e.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (obj_Produkt != null) { obj_Produkt.Unit = mCB_Produkts_Unit.SelectedIndex; if (db.Entry <Produkt>(obj_Produkt).State == System.Data.Entity.EntityState.Detached) { db.Set <Produkt>().Attach(obj_Produkt); } if (obj_Produkt.ObjectState == 1) { db.Entry <Produkt>(obj_Produkt).State = System.Data.Entity.EntityState.Added; } if (obj_Produkt.ObjectState == 2) { db.Entry <Produkt>(obj_Produkt).State = System.Data.Entity.EntityState.Modified; } db.SaveChanges(); mP_Produkts.Enabled = false; obj_Produkt.ObjectState = 0; TabControl.RefreshProdukt(List_Produkts, mlV_Products_Income); } } } }