コード例 #1
0
        private void button1_Click(object sender, EventArgs e)
        {
            IngredientRepository            ingredientRepository            = new IngredientRepository();
            IngredientsForProductRepository ingredientsForProductRepository = new IngredientsForProductRepository();

            Ingredient selectedIngredient = ingredientRepository.GetDataSource().FirstOrDefault(n => n.Name == comboBox1.SelectedItem.ToString());

            if (selectedIngredient == null)
            {
                MessageBox.Show("Інгредієнт не вибрано.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            var ingredientInReceipts = ingredientsForProductRepository.GetDataSource().Where(element => element.IngredientId == ingredient.Id).ToList();

            foreach (var item in ingredientInReceipts)
            {
                item.IngredientId = selectedIngredient.Id;

                ingredientsForProductRepository.Edit(item);
            }

            ingredientRepository.Delete(ingredient);

            MessageBox.Show("Інгредієнт успішно замінено і видалено.", "Sucsess", MessageBoxButtons.OK, MessageBoxIcon.Information);
        }
コード例 #2
0
        private void RadioButton1_CheckedChanged(object sender, EventArgs e)
        {
            ProductRepository productRepository = new ProductRepository();
            IngredientRepository ingredientRepository = new IngredientRepository();
            IngredientsForProductRepository receiptRepository = new IngredientsForProductRepository();

            groupBox1.Enabled = radioButton1.Checked;
            if (!radioButton1.Checked)
            {
                ClearBatch();
            }

            Product currProduct = productRepository.GetDataSource().Where(n => n.Name == comboBox1.SelectedItem.ToString()).FirstOrDefault();

            var receipt = receiptRepository.GetDataSource().Where(n => n.ProductId == currProduct.Id).ToList();

            var ingredientsForProduct = ingredientRepository.GetDataSource();
            comboBox3.DataSource = receipt.Join(
                ingredientsForProduct,
                elem => elem.IngredientId,
                ingr => ingr.Id,
                (elem, ingr) => ingr.Name).ToList();

            checkBox1.Checked = false;
            comboBox2.Text = "";

            productsForRemaking.Clear();
            entryProductsContainerCollection.Clear();
            UpdateListBoxProduct();
        }
コード例 #3
0
        private void button2_Click(object sender, EventArgs e)
        {
            ChangeWithDeleting changeWithDeleting = new ChangeWithDeleting(entryIngredient);

            changeWithDeleting.ShowDialog();

            IngredientRepository            repos = new IngredientRepository();
            IngredientsForProductRepository ingredientsForProductRepository = new IngredientsForProductRepository();

            ingredientsForProductRepository.GetDataSource().
            Where(element => element.IngredientId == entryIngredient.Id).ToList().ForEach(n => n.IngredientId = entryIngredient.Id);
        }
コード例 #4
0
        private void button1_Click(object sender, EventArgs e)
        {
            IngredientRepository            ingredientRepository            = new IngredientRepository();
            IngredientsForProductRepository ingredientsForProductRepository = new IngredientsForProductRepository();
            ProductRepository productRepository = new ProductRepository();
            Ingredient        ingredient        = ingredientRepository.GetDataSource().First(element => element.Name == entryIngredient.Name);

            ingredientRepository.Delete(ingredient);

            updateInformation();
            MessageBox.Show(@"Видалення успішне.", "Sucsess", MessageBoxButtons.OK, MessageBoxIcon.Information);
        }
コード例 #5
0
        private void ComboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (comboBox1.SelectedItem == null)
                return;
            ProductRepository productRepository = new ProductRepository();
            IngredientRepository ingredientRepository = new IngredientRepository();
            IngredientsForProductRepository receiptRepository = new IngredientsForProductRepository();
            Product currProduct = productRepository.GetDataSource().Where(n => n.Name == comboBox1.SelectedItem.ToString()).FirstOrDefault();

            receipt = receiptRepository.GetDataSource().Where(n => n.ProductId == currProduct.Id).ToList().OrderBy(n => n.Weight).ToList();

            var ingredients = ingredientRepository.GetDataSource();
            comboBox3.DataSource = receipt.Join(
                ingredients,
                elem => elem.IngredientId,
                ingr => ingr.Id,
                (elem, ingr) => ingr.Name).ToList();
            comboBox3.SelectedIndex = -1;
            checkBox1.Checked = false;
            comboBox2.Text = "";
            entryProductsContainerCollection.Clear();
            UpdateListBoxProduct();
        }
コード例 #6
0
ファイル: Edit.cs プロジェクト: liakhivan/Inventarizator
        private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (comboBox2.SelectedItem == null)
            {
                return;
            }

            if (radioButton1.Checked)
            {
                ProductRepository productRepository = new ProductRepository();
                IngredientsForProductRepository ingredientsForProductRepository = new IngredientsForProductRepository();
                IngredientRepository            ingredientRepository            = new IngredientRepository();
                List <Ingredient> ingredients = ingredientRepository.GetDataSource();
                textBox1.Text = comboBox2.SelectedItem.ToString();

                receipt.Clear();

                currProduct = productRepository.GetDataSource().First(n => n.Name == textBox1.Text);

                var currReceipt = ingredientsForProductRepository.GetDataSource().Where(n => n.ProductId == currProduct.Id);

                foreach (var oneElementInReceipt in currReceipt)
                {
                    Ingredient ingredient = ingredients.First(n => n.Id == oneElementInReceipt.IngredientId);
                    receipt.Add(ingredient, oneElementInReceipt.Weight);
                }

                var ingredientsForProduct = ingredientsForProductRepository.GetDataSource().Where(n => n.ProductId == currProduct.Id).ToList();

                listBox1.DataSource = receipt.Select(element => element.Key.ToString() + " " + String.Format("{0:f9}", element.Value)).ToList();
            }
            else
            {
                textBox1.Text = comboBox2.SelectedItem.ToString();
            }
        }
コード例 #7
0
        private void Button1_Click(object sender, EventArgs e)
        {
            try
            {
                if (radioButton1.Checked)
                {

                    ConteinerRepository conteinerRepository = new ConteinerRepository();
                    IngredientsForProductRepository receiptRepository = new IngredientsForProductRepository();
                    IngredientRepository ingredientRepository = new IngredientRepository();

                    double weight = Double.Parse(maskedTextBox2.Text);
                    double amount = Double.Parse(maskedTextBox3.Text);
                    double weightIngredientKeyBatch = weight * amount;
                    double weightAllProducts = entryProductsContainerCollection.Sum(n => n.Amount * n.Weight);
                    double weightForRemaking = 0;


                    var ingredients = ingredientRepository.GetDataSource();
                    var detailReceipt = receipt.Join(
                        ingredients,
                        elem => elem.IngredientId,
                        ingr => ingr.Id,
                        (elem, ingr) => new
                        {
                            ingr.Name,
                            elem.Weight
                        }).ToList();

                    double weightIngredientKeyOnOneKilo = detailReceipt.First(n => n.Name == comboBox3.SelectedItem.ToString()).Weight;

                    double weightBatch = weightIngredientKeyBatch / weightIngredientKeyOnOneKilo;


                    if (weight <= 0)
                    {
                        MessageBox.Show(@"Некоректна вага інгредієнту-ключа на 1 заміс", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        return;
                    }

                    if (amount <= 0)
                    {
                        MessageBox.Show(@"Некоректна кількість замісів", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        return;
                    }

                    if (checkBox1.Checked)
                    {
                        weightForRemaking = productsForRemaking.Sum(n => n.Amount * n.Weight);
                    }

                    if (weightAllProducts > weightBatch + weightForRemaking || weightAllProducts == 0)
                    {

                        MessageBox.Show($"Некоректна вага всіх продуктів.\nВидаліть зайві продукти, збільшіть кількість замісів,\nабо додайте переробку.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        return;
                    }

                    conteinerRepository.AddCollectionContainers(entryProductsContainerCollection, dateTimePicker1.Value, weightBatch);
                    RemoveProductsForRemaking();
                }
                else
                {
                    ConteinerRepository conteinerRepository = new ConteinerRepository();

                    double weightAllProducts = entryProductsContainerCollection.Sum(n => n.Amount * n.Weight);
                    double weightForRemaking = 0;

                    if (checkBox1.Checked)
                    {
                        weightForRemaking = productsForRemaking.Sum(n => n.Amount * n.Weight);
                    }

                    if (weightAllProducts > weightForRemaking || weightAllProducts == 0)
                    {
                        MessageBox.Show($"Некоректна вага всіх продуктів.\nВидаліть зайві продукти, збільшіть кількість замісів,\nабо додайте переробку.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        return;
                    }

                    conteinerRepository.AddCollectionContainers(entryProductsContainerCollection, dateTimePicker1.Value, 0);
                    RemoveProductsForRemaking();
                    productsForRemaking.Clear();
                }

                UpdateListBoxProduct();

                // Друк штрих-кодів
                if (checkBox2.Checked)
                {
                    addedConteiners = new List<Conteiner>();
                    ConteinerRepository conteinerRepository = new ConteinerRepository();
                    var data = conteinerRepository.GetDataSource();
                    foreach (var item in entryProductsContainerCollection)
                    {
                        var oneProduct = data.First(n => n.ProductId == item.ProductId && n.Weight == item.Weight);
                        oneProduct.Amount = item.Amount;
                        addedConteiners.Add(oneProduct);
                    }


                    ProductRepository productRepository = new ProductRepository();
                    PrintBarcode printBarcode = new PrintBarcode();
                    foreach (var item in addedConteiners)
                    {
                        for (int i = 0; i < item.Amount; i++)
                        {
                            string productName = productRepository.GetDataSource().First(n => n.Id == item.ProductId).Name + " " + item.Weight + " кг.";
                            printBarcode.Print(item, productName);
                        }
                    }
                }

                checkBox1.Checked = false;

                MessageBox.Show($"Операція успішно виконана.", "Sucsess", MessageBoxButtons.OK, MessageBoxIcon.Information);

            }

            catch (NullReferenceException)
            {
                MessageBox.Show($"Не вибрано інгредієнт-ключ.\nБудь ласка виберіть інгредієнт-ключ", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            catch (Exception exc)
            {
                MessageBox.Show(exc.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            finally
            {
                updateInformation();
            }
        }
コード例 #8
0
ファイル: Delete.cs プロジェクト: liakhivan/Inventarizator
        private void Button1_Click(object sender, EventArgs e)
        {
            try
            {
                if (radioButton1.Checked)
                {
                    ProductRepository repos = new ProductRepository();
                    var product             = repos.GetDataSource().First(element => element.Name == listBox1.SelectedItem.ToString());
                    repos.Delete(product);
                    listBox1.DataSource = repos.GetDataSource();
                    updateInformation();
                }
                else if (radioButton2.Checked)
                {
                    IngredientRepository            ingredientRepository            = new IngredientRepository();
                    IngredientsForProductRepository ingredientsForProductRepository = new IngredientsForProductRepository();

                    Ingredient ingredient = ingredientRepository.GetDataSource().First(element => element.Name == listBox1.SelectedItem.ToString());

                    var receiptsWithCurrIngredient = ingredientsForProductRepository.GetDataSource().Where(n => n.IngredientId == ingredient.Id).ToList();

                    if (receiptsWithCurrIngredient.Count != 0)
                    {
                        DeleteMessage deleteMessage = new DeleteMessage(ingredient, updateInformation);
                        deleteMessage.ShowDialog();
                    }
                    else
                    {
                        ingredientRepository.Delete(ingredient);

                        updateInformation();
                        MessageBox.Show(@"Видалення успішне.", "Sucsess", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }

                    RadioButton1_CheckedChanged(this, null);
                }
                else if (radioButton3.Checked)
                {
                    TareRepository tareRepository = new TareRepository();

                    Tare tareForDeleting = tareRepository.GetDataSource().First(n => n.Name == listBox1.SelectedItem.ToString());

                    tareRepository.DeleteById(tareForDeleting.Id);

                    updateInformation();
                    MessageBox.Show(@"Видалення успішне.", "Sucsess", MessageBoxButtons.OK, MessageBoxIcon.Information);

                    RadioButton1_CheckedChanged(this, null);
                }
                else
                {
                    ClientRepository clientRepository = new ClientRepository();

                    Client clientForDeleting = clientRepository.GetDataSource().First(n => n.Name == listBox1.SelectedItem.ToString());

                    clientRepository.DeleteById(clientForDeleting.Id);

                    MessageBox.Show(@"Видалення успішне.", "Sucsess", MessageBoxButtons.OK, MessageBoxIcon.Information);

                    RadioButton1_CheckedChanged(this, null);
                }
            }
            catch (InvalidOperationException exeption)
            {
                MessageBox.Show(exeption.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }