示例#1
0
        /// <summary>
        /// Кнопка для создания продукта или его изменения.
        /// Перед этим проверяется, чтобы все обязательные поля были заполнены.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void actionButton_Click(object sender, EventArgs e)
        {
            if (IsEveryTextBoxFilled())
            {
                string name        = nameTextBox.Text;
                string vendorCode  = vendorTextBox.Text;
                string description = descriptionTextBox.Text ?? "";
                double price       = double.Parse(priceTextBox.Text);
                int    balance     = (int)balanceNumericUpDown.Value;
                string imagePath   = _imagePath ?? "";

                TreeNode        rootNode     = NodeController.GetTreeRoot(_treeNode);
                List <TreeNode> productNodes =
                    NodeController.GetDeepestNodesByType(rootNode, typeof(ProductModel), new List <TreeNode>());

                if (_isChanging)
                {
                    if (!ProductController.CanUpdateProduct(productNodes, _productModel, vendorCode))
                    {
                        MessageBox.Show("Товар с таким же артикулом уже существует!", "Ошибка!", MessageBoxButtons.OK,
                                        MessageBoxIcon.Error);
                        return;
                    }

                    _treeNode.Text = name;
                    ProductController.UpdateProduct(_productModel, name, vendorCode, description, price, balance,
                                                    imagePath);
                }
                else
                {
                    if (!ProductController.CanCreateProduct(productNodes, vendorCode))
                    {
                        MessageBox.Show("Товар с таким же артикулом уже существует!", "Ошибка!", MessageBoxButtons.OK,
                                        MessageBoxIcon.Error);
                        return;
                    }

                    ProductModel productModel = ProductController.CreateProduct((SectionModel)_treeNode.Tag, name,
                                                                                vendorCode, description, price, balance, imagePath);
                    _productModel = productModel;

                    TreeNode treeNode = NodeController.CreateNode(_treeNode, productModel);
                    ProductController.AssignProductToNode(productModel, treeNode);
                }

                this.Close();
            }
            else
            {
                MessageBox.Show("Проверьте корректность введенных данных!");
            }
        }
示例#2
0
        /// <summary>
        /// Создание нового склада или изменение данного.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void actionStorageButton_Click(object sender, EventArgs e)
        {
            if (String.IsNullOrEmpty(nameTextBox.Text))
            {
                MessageBox.Show("Введите имя склада!");
                return;
            }

            if (_isChanging)
            {
                _treeNode.Text = nameTextBox.Text;
                StorageController.UpdateStorage(_storageModel, nameTextBox.Text);
            }
            else
            {
                StorageModel storageModel = StorageController.CreateStorage(nameTextBox.Text);
                NodeController.CreateNode(_treeView, storageModel);
            }

            this.Close();
        }
示例#3
0
        /// <summary>
        /// Создание нового раздела или изменение данного.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void actionButton_Click(object sender, EventArgs e)
        {
            if (String.IsNullOrEmpty(nameTextBox.Text))
            {
                MessageBox.Show("Введите имя раздела!");
                return;
            }

            string name      = nameTextBox.Text;
            int    sortIndex = (int)sortIndexNumericUpDown.Value;

            if (_isChanging)
            {
                if (!SectionController.CanUpdateSection((IStorable)_treeNode.Parent.Tag, _sectionModel, name))
                {
                    MessageBox.Show("Раздел с таким же именем уже существует!", "Ошибка!", MessageBoxButtons.OK,
                                    MessageBoxIcon.Error);

                    return;
                }

                SectionController.UpdateSection(_sectionModel, name, sortIndex);
                _treeNode.Text = nameTextBox.Text;
            }
            else
            {
                if (!SectionController.CanCreateSection((IStorable)_treeNode.Tag, name))
                {
                    MessageBox.Show("Раздел с таким же именем уже существует!", "Ошибка!", MessageBoxButtons.OK,
                                    MessageBoxIcon.Error);

                    return;
                }

                SectionModel sectionModel = SectionController.CreateSection((IStorable)_treeNode.Tag, name, sortIndex);
                NodeController.CreateNode(_treeNode, sectionModel);
            }

            this.Close();
        }
示例#4
0
        /// <summary>
        /// Генерация товаров и разделов в количестве, которое указал пользователь.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void generateButton_Click(object sender, EventArgs e)
        {
            Random    random    = new Random();
            IStorable iStorable = (IStorable)_treeNode.Tag;

            int numberOfSections = (int)sectionNumericUpDown.Value;
            int numberOfProducts = (int)productNumericUpDown.Value;

            for (int i = 0; i < numberOfSections; i++)
            {
                SectionModel sectionModel =
                    SectionController.CreateSection(iStorable, random.Next().ToString(), 0);
                TreeNode treeNode = NodeController.CreateNode(_treeNode, sectionModel);

                for (int j = 0; j < numberOfProducts; j++)
                {
                    ProductModel productModel    = ProductController.CreateRandomProduct(sectionModel);
                    TreeNode     productTreeNode = NodeController.CreateNode(treeNode, productModel);
                    ProductController.AssignProductToNode(productModel, productTreeNode);
                }
            }

            this.Close();
        }