コード例 #1
0
ファイル: ucDatabase.cs プロジェクト: Sachsi/Accounting_V2
        /// <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.AddCustomer(List_Customer, obj_Customer);
                    }
                }
                else if (mTC_Accounting.SelectedTab == mTP_Income)
                {
                    Income obj_Income = incomeBindingSource.Current as Income;

                    if (obj_Income != null)
                    {
                        obj_Income.Customer = db.Customers.First(c => c.Id == obj_Income.Customer_Id);

                        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 + ", ";
                        }

                        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.AddIncome(List_Income, obj_Income);
                        return;
                    }
                }
                else if (mTC_Accounting.SelectedTab == mTP_Expenses)
                {
                    Expense obj_Expense = expensesBindingSource.Current as Expense;

                    if (obj_Expense != null)
                    {
                        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.AddExpenses(List_Expenses, obj_Expense);
                        return;
                    }
                }
                else if (mTC_Accounting.SelectedTab == mTP_Produkts)
                {
                    Produkt obj_Produkt = produktBindingSource.Current as Produkt;

                    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);
                    }
                }
            }
        }
コード例 #2
0
        /// <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);
                    }
                }
            }
        }