private async void btnAdd_Click(object sender, EventArgs e)
        {
            if (numMeasure.Value == 0)
            {
                MessageBox.Show("Not able to add 0 measure number of ingredient!");
            }

            else
            {
                Model.Ingredients ingredients = (Model.Ingredients)dgvIngredients.SelectedRows[0].DataBoundItem;
                var model = await _ingredients.GetById <Model.Ingredients>(ingredients.Id);

                if (GetExistedInModel(model.Id))
                {
                    SetQuantityFoExisting(model.Id);
                }

                else
                {
                    ProductIngredientAdd tmp = new ProductIngredientAdd
                    {
                        ProductId    = _product.Id,
                        IngredientId = model.Id,
                        Measure      = (int)numMeasure.Value,
                        Name         = model.Name
                    };
                    _ingredientAdd.Add(tmp);
                }
                dgvIngredients.AutoGenerateColumns = false;
                dgvIngredientsProducts.DataSource  = null;
                dgvIngredients.DataSource          = null;
                dgvIngredientsProducts.DataSource  = _ingredientAdd;
                await FilterProducts();
            }
        }
        private async void btnRemove_Click(object sender, EventArgs e)
        {
            if ((ProductIngredientAdd)dgvIngredientsProducts.SelectedRows[0].DataBoundItem != null)
            {
                ProductIngredientAdd product = (ProductIngredientAdd)dgvIngredientsProducts.SelectedRows[0].DataBoundItem;
                _ingredientAdd.Remove(product);

                dgvIngredients.AutoGenerateColumns = false;
                dgvIngredientsProducts.DataSource  = null;
                dgvIngredients.DataSource          = null;
                dgvIngredientsProducts.DataSource  = _ingredientAdd;
                numModify.Maximum = 0;
                await FilterProducts();
            }
            else
            {
                MessageBox.Show("Nothing selected to remove!");
            }
        }
        private async void btnModify_Click(object sender, EventArgs e)
        {
            if (numModify.Value == 0)
            {
                MessageBox.Show("Not able to add 0 number of ingredient!");
            }
            else
            {
                ProductIngredientAdd product = (ProductIngredientAdd)dgvIngredientsProducts.SelectedRows[0].DataBoundItem;
                var model = _ingredientAdd.Where(x => x.IngredientId == product.IngredientId).FirstOrDefault();
                model.Measure = (int)numModify.Value;

                dgvIngredients.AutoGenerateColumns = false;
                dgvIngredientsProducts.DataSource  = null;
                dgvIngredients.DataSource          = null;
                dgvIngredientsProducts.DataSource  = _ingredientAdd;
                await FilterProducts();
            }
        }