Example #1
0
        private void AddCategory_FormClosing(object sender, FormClosingEventArgs e)
        {
            try
            {
                if (this.DialogResult == DialogResult.OK)
                {
                    if (!String.IsNullOrEmpty(textBox_AddCategory.Text))
                    {
                        BillingDataSet.CategoriesRow row = _views.MainForm.datasetBilling.Categories.NewCategoriesRow();
                        row.Category = textBox_AddCategory.Text;

                        var categoryID = Convert.ToInt32(txtID.Text);
                        row.ID = categoryID;

                        _views.MainForm.datasetBilling.Categories.AddCategoriesRow(row);
                        _views.MainForm.adapterCategoriesBilling.Update(_views.MainForm.datasetBilling.Categories);
                        _views.MainForm.adapterCategoriesBilling.Fill(_views.MainForm.datasetBilling.Categories);

                        _selectedCategoryID = categoryID;

                        //if (cmbExcludeFromFilter.SelectedIndex > -1)
                        //{
                        //    var selectedItem = (AddGroupComboboxItem)cmbExcludeFromFilter.SelectedItem;
                        //    var filterId = (int)selectedItem.GroupID;
                        //    var categoryType = selectedItem.

                        //    var newRow = _views.MainForm.datasetBilling.CategoryToFilterExclusion.NewCategoryToFilterExclusionRow();
                        //    newRow.CategoryID = categoryID;
                        //    newRow.FilterID = filterId;
                        //    newRow.Type = "";

                        //    _views.MainForm.datasetBilling.CategoryToFilterExclusion.Rows.Add(newRow);
                        //    _views.MainForm.datasetBilling.CategoryToFilterExclusion.AcceptChanges();

                        //    _views.MainForm.adapterCategoryToFilterExclusionBilling.Insert(categoryID, filterId,"");

                        //}
                    }
                    else
                    {
                        MessageBox.Show("Category name cannot be empty");
                        e.Cancel = true;
                    }
                }
            }
            catch (System.Exception ex)
            {
                MessageBox.Show(ex.Message);
                e.Cancel = true;
            }
        }
        protected int Property_Get_CategoryID()
        {
            int nResult = -1;

            if (gridCategories.SelectedRows.Count == 1)
            {
                DataGridViewRow row     = gridCategories.SelectedRows[0];
                DataRowView     rowview = (DataRowView)row.DataBoundItem;

                BillingDataSet.CategoriesRow rowCategories = (BillingDataSet.CategoriesRow)rowview.Row;
                nResult = rowCategories.ID;
            }

            return(nResult);
        }
        private void btnRemove_Click(object sender, EventArgs e)
        {
            try
            {
                if (gridCategories.SelectedRows.Count == 1)
                {
                    DialogResult dlgres = MessageBox.Show("Do you wish to delete category?", "Delete category", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2);
                    if (dlgres == DialogResult.Yes)
                    {
                        DataRowView rowview = (DataRowView)gridCategories.SelectedRows[0].DataBoundItem;
                        BillingDataSet.CategoriesRow rowCategories = (BillingDataSet.CategoriesRow)rowview.Row;

                        int nCategoryID = Convert.ToInt32(rowCategories["ID"]);

                        string idC          = rowCategories[1].ToString();
                        string categoryName = rowCategories.Category;

                        rowCategories.Delete();

                        _views.MainForm.adapterCategoriesBilling.Update(_views.MainForm.datasetBilling.Categories);
                        _views.MainForm.adapterCategoriesBilling.Fill(_views.MainForm.datasetBilling.Categories);

                        //////////////////////////////////////////////////////////////////////////

                        foreach (BillingDataSet.DocumentsRow rowDocuments in _views.MainForm.datasetBilling.Documents)
                        {
                            if (!rowDocuments.IsCategoryNull() && rowDocuments.Category == nCategoryID)
                            {
                                rowDocuments.SetCategoryNull();
                            }
                        }

                        _views.MainForm.adapterDocumentsBilling.Update(_views.MainForm.datasetBilling.Documents);
                        _views.MainForm.adapterDocumentsBilling.Fill(_views.MainForm.datasetBilling.Documents);

                        //////////////////////////////////////////////////////////////////////////

                        _views.MainForm.sourceCategoriesBilling.ResetBindings(false);

                        ////
                        //Remove from saved if it exists there
                        ////
                        OleDbConnection conn = _views.MainForm.adapterDocumentsBilling.Connection;
                        if (conn.State != ConnectionState.Open)
                        {
                            conn.Open();
                        }

                        OleDbCommand cmd = conn.CreateCommand();
                        cmd.CommandText = "SELECT * FROM SavedCategories";

                        string positive = "";
                        string negative = "";

                        var reader = cmd.ExecuteReader();
                        while (reader.Read())
                        {
                            try
                            {
                                var type    = reader["PosNeg"].ToString();
                                var ids     = reader["categoryIDs"].ToString();
                                var idArray = ids.Split(',');

                                if (!String.IsNullOrEmpty(idArray[0]))
                                {
                                    if (type == "Positive")
                                    {
                                        foreach (var id in idArray)
                                        {
                                            if (id != idC)
                                            {
                                                positive += id + ",";
                                            }
                                        }
                                    }
                                    else                                     //Add to negative
                                    {
                                        foreach (var id in idArray)
                                        {
                                            if (id != idC)
                                            {
                                                negative += id + ",";
                                            }
                                        }
                                    }
                                }
                            }
                            catch
                            {
                            }
                        }
                        if (positive.Length > 0)
                        {
                            positive = positive.Substring(0, positive.Length - 1);
                        }
                        if (negative.Length > 0)
                        {
                            negative = negative.Substring(0, negative.Length - 1);
                        }

                        OleDbCommand cmd1 = conn.CreateCommand();
                        //UPDATE SavedCategories SET categoryIDs=? WHERE PosNeg=?
                        cmd1.CommandText = "UPDATE SavedCategories SET categoryIDs=? WHERE PosNeg=?";
                        cmd1.Parameters.Add("categoryIDs", OleDbType.VarChar)
                        .Value = positive;
                        cmd1.Parameters.Add("PosNeg", OleDbType.VarChar)
                        .Value = "Positive";
                        cmd1.ExecuteNonQuery();

                        OleDbCommand cmd2 = conn.CreateCommand();
                        cmd2.CommandText = "UPDATE SavedCategories SET categoryIDs=? WHERE PosNeg=?";
                        cmd2.Parameters.Add("categoryIDs", OleDbType.VarChar)
                        .Value = negative;
                        cmd2.Parameters.Add("PosNeg", OleDbType.VarChar)
                        .Value = "Negative";
                        cmd2.ExecuteNonQuery();

                        try
                        {
                            OleDbCommand cmd3 = conn.CreateCommand();

                            cmd3.CommandText = "DELETE FROM CategoryToFilterExclusion WHERE CategoryID = " + nCategoryID;
                            cmd3.ExecuteNonQuery();

                            if (_views.MainForm.datasetMain.Categories.Count > 0)
                            {
                                _views.MainForm.datasetMain.Categories.First(x => x.ID == nCategoryID).Delete();

                                _views.MainForm.adapterCategories.Update(_views.MainForm.datasetMain.Categories);
                                _views.MainForm.adapterCategories.Fill(_views.MainForm.datasetMain.Categories);
                            }

                            _views.MainForm.adapterCategoriesBilling.Delete(nCategoryID, categoryName);
                            _views.MainForm.datasetBilling.Categories.First(x => x.ID == nCategoryID).Delete();
                            _views.MainForm.datasetBilling.Categories.AcceptChanges();
                        }
                        catch
                        {
                        }

                        conn.Close();
                    }
                }
            }
            catch (System.Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }