示例#1
0
        public void Pedido()
        {
            if (Id <= 0)
            {
                return;
            }

            var itens = new Model.PedidoItem().FindAll().Where("pedido", Id).WhereFalse("excluir").Get();

            foreach (var data in itens)
            {
                var item = GetItem(data.ITEM);
                Amount = Validation.ConvertToDouble(data.QUANTIDADE);

                _mItemEstoque.SetUsuario(User).SetQuantidade(Amount).SetTipo(Action).SetLocal(Local).SetObs(Obs)
                .SetIdPedido(Id).SetItem(item).Save(_mItemEstoque);

                if (data.ATRIBUTO == "0")
                {
                    continue;
                }

                string attrId    = data.ATRIBUTO;
                var    upEstoque = new ItemEstoque().FindAll().Where("id", attrId).FirstOrDefault <ItemEstoque>();
                if (upEstoque == null)
                {
                    continue;
                }

                switch (Action)
                {
                case "A":
                {
                    upEstoque.Estoque += Amount;
                    if (Local != "Compras" || Local != "Devoluções")
                    {
                        upEstoque.Vendido -= Validation.ConvertToInt32(data.QUANTIDADE);
                    }
                    break;
                }

                case "R":
                {
                    upEstoque.Estoque -= Amount;
                    if (Local != "Remessas" || Local != "Compras" || Local != "Devoluções")
                    {
                        upEstoque.Vendido += Validation.ConvertToInt32(data.QUANTIDADE);
                    }

                    if (Local == "Devoluções")
                    {
                        upEstoque.Vendido -= Validation.ConvertToInt32(data.QUANTIDADE);
                    }
                    break;
                }
                }

                upEstoque.Save(upEstoque);
            }
        }
示例#2
0
        public void Item()
        {
            if (Id <= 0)
            {
                return;
            }

            var pedidoItem = GetPedidoItem(Id);
            var item       = GetItem(pedidoItem.Item);

            Amount = Validation.ConvertToDouble(pedidoItem.Quantidade);

            _mItemEstoque.SetUsuario(User).SetQuantidade(Amount).SetTipo(Action).SetLocal(Local).SetObs(Obs)
            .SetIdPedido(pedidoItem.Pedido).SetItem(item).Save(_mItemEstoque);

            var upEstoque = new ItemEstoque().FindAll().Where("id", pedidoItem.Atributo).FirstOrDefault <ItemEstoque>();

            if (upEstoque == null)
            {
                return;
            }

            switch (Action)
            {
            case "A":
            {
                upEstoque.Estoque += Amount;

                if (Local != "Compras" && Local != "Devoluções")
                {
                    upEstoque.Vendido -= Validation.ConvertToInt32(pedidoItem.Quantidade);
                }
                break;
            }

            case "R":
            {
                upEstoque.Estoque -= Amount;
                if (Local != "Remessas" && Local != "Compras" && Local != "Devoluções")
                {
                    upEstoque.Vendido += Validation.ConvertToInt32(pedidoItem.Quantidade);
                }

                if (Local == "Devoluções")
                {
                    upEstoque.Vendido -= Validation.ConvertToInt32(pedidoItem.Quantidade);
                }
                break;
            }
            }

            upEstoque.Save(upEstoque);
        }
示例#3
0
        private void Eventos()
        {
            KeyDown           += KeyDowns;
            txtGrupos.KeyDown += KeyDowns;
            KeyPreview         = true;
            Masks.SetToUpper(this);

            Load += (s, e) =>
            {
                ToolHelp.Show(
                    "Com essa opção marcada é possível que o sistema dê uma travada para gerar\ncada código de barras diferente um do outro.",
                    pictureBox4, ToolHelp.ToolTipIcon.Info, "Ajuda!");
            };

            Shown += (s, e) =>
            {
                Refresh();

                _mItem = _mItem.FindById(idProduto).FirstOrDefault <Item>();
                AutoCompleteGrupos();
                SetHeadersTable(dataGridVariacao);
                LoadDataGrid();

                txtGrupos.Focus();
            };

            btnAddGrupo.Click += (s, e) => { AddCombination(); };

            btnClearCombinacao.Click += (s, e) =>
            {
                ClearEstoque();
                txtBuscarVariacao.Text     = "";
                btnClearCombinacao.Visible = false;
                btnGerar.Visible           = true;
            };

            btnGerar.Click += (sender, e) =>
            {
                if (string.IsNullOrEmpty(txtBuscarVariacao.Text))
                {
                    Alert.Message("Opps", "Escolhe pelo menos um grupo de variação.", Alert.AlertType.error);
                    return;
                }

                if (dataGridVariacao.Rows.Count > 0)
                {
                    var generateAlert = AlertOptions.Message("Atenção",
                                                             "Ao gerar novas combinações, você irá perder a atual!\n Continuar?", AlertBig.AlertType.info,
                                                             AlertBig.AlertBtn.YesNo);
                    if (!generateAlert)
                    {
                        return;
                    }

                    dataGridVariacao.Rows.Clear();
                }

                var attr1Name = new List <string>();
                var attr2Name = new List <string>();
                var attr3Name = new List <string>();

                var attr1Id = new List <string>();
                var attr2Id = new List <string>();
                var attr3Id = new List <string>();

                var grupos  = txtBuscarVariacao.Text.Split('+');
                var i_attrs = 0;
                foreach (var word in grupos)
                {
                    i_attrs++;

                    var grupo = new ItemGrupo().FindAll().WhereFalse("excluir").Where("title", word)
                                .FirstOrDefault <ItemGrupo>();
                    if (grupo == null)
                    {
                        continue;
                    }

                    var attr = new ItemAtributos().FindAll().WhereFalse("excluir").Where("grupo", grupo.Id)
                               .Get <ItemAtributos>();
                    foreach (var data in attr)
                    {
                        switch (i_attrs)
                        {
                        case 1:
                            attr1Name.Add($"{data.Atributo}");
                            attr1Id.Add($"{data.Id}");
                            break;

                        case 2:
                            attr2Name.Add($" - {data.Atributo}");
                            attr2Id.Add($", {data.Id}");
                            break;

                        case 3:
                            attr3Name.Add($" - {data.Atributo}");
                            attr3Id.Add($", {data.Id}");
                            break;
                        }
                    }
                }

                var lstMaster = new List <List <string> >();
                if (attr1Id.Count > 0)
                {
                    lstMaster.Add(attr1Id);
                }

                if (attr2Id.Count > 0)
                {
                    lstMaster.Add(attr2Id);
                }

                if (attr3Id.Count > 0)
                {
                    lstMaster.Add(attr3Id);
                }

                var lstMasterNames = new List <List <string> >();
                if (attr1Name.Count > 0)
                {
                    lstMasterNames.Add(attr1Name);
                }

                if (attr2Name.Count > 0)
                {
                    lstMasterNames.Add(attr2Name);
                }

                if (attr3Name.Count > 0)
                {
                    lstMasterNames.Add(attr3Name);
                }

                var ids   = GetPermutation(lstMaster.Count, lstMaster);
                var names = GetPermutation(lstMasterNames.Count, lstMasterNames);

                if (ids.Count != names.Count)
                {
                    return;
                }

                for (var u = 0; u < ids.Count; u++)
                {
                    var codeBarras = "";
                    if (checkCodeBarras.Checked)
                    {
                        codeBarras = CodeBarrasRandom();
                    }

                    dataGridVariacao.Rows.Add(
                        false,
                        ids[u],
                        names[u],
                        0,
                        "",
                        codeBarras
                        );
                }

                dataGridVariacao.Columns[2].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
            };

            btnSalvar.Click += (s, e) =>
            {
                if (dataGridVariacao.Rows.Count <= 0)
                {
                    return;
                }

                var item = new Item().FindById(idProduto).WhereFalse("excluir").FirstOrDefault <Item>();
                if (item != null)
                {
                    item.Atributos = txtBuscarVariacao.Text;
                    item.Save(item);
                }

                foreach (DataGridViewRow row in dataGridVariacao.Rows)
                {
                    // Apaga o registro se estoque for 0 e se existir no banco
                    if (Validation.ConvertToDouble(row.Cells["Estoque"].Value) == 0)
                    {
                        if (row.Cells["IDAttr"].Value != null &&
                            !string.IsNullOrEmpty(row.Cells["IDAttr"].Value.ToString()))
                        {
                            new ItemEstoque().Remove(Validation.ConvertToInt32(row.Cells["IDAttr"].Value));
                            continue;
                        }
                    }

                    // Se a coluna for diferente de 0 ou diferente de vazio, inclui a linha no banco!
                    if (!(Validation.ConvertToDouble(row.Cells["Estoque"].Value) > 0))
                    {
                        continue;
                    }

                    string codeBarras;
                    if (checkCodeBarras.Checked && string.IsNullOrEmpty(row.Cells["Código de Barras"].Value.ToString()))
                    {
                        codeBarras = CodeBarrasRandom();
                    }
                    else
                    {
                        codeBarras = row.Cells["Código de Barras"].Value.ToString();
                    }

                    // Se a coluna IDAttr não estiver vazio, atualiza o registro
                    if (row.Cells["IDAttr"].Value != null &&
                        !string.IsNullOrEmpty(row.Cells["IDAttr"].Value.ToString()))
                    {
                        var updateEstoque = new ItemEstoque()
                                            .FindById(Validation.ConvertToInt32(row.Cells["IDAttr"].Value))
                                            .FirstOrDefault <ItemEstoque>();
                        updateEstoque.Item       = idProduto;
                        updateEstoque.Referencia = row.Cells["Referencia"].Value.ToString();
                        updateEstoque.Codebarras = codeBarras;
                        updateEstoque.Atributo   = row.Cells["ID"].Value.ToString();
                        updateEstoque.Estoque    = Validation.ConvertToDouble(row.Cells["Estoque"].Value);
                        updateEstoque.Usuario    = Settings.Default.user_id;
                        updateEstoque.Title      = row.Cells["Combinação"].Value.ToString();
                        updateEstoque.Save(updateEstoque);

                        continue;
                    }

                    var estoque = new ItemEstoque
                    {
                        Item       = idProduto,
                        Referencia = row.Cells["Referencia"].Value.ToString(),
                        Codebarras = codeBarras,
                        Atributo   = row.Cells["ID"].Value.ToString(),
                        Estoque    = Validation.ConvertToDouble(row.Cells["Estoque"].Value),
                        Usuario    = Settings.Default.user_id,
                        Title      = row.Cells["Combinação"].Value.ToString()
                    };
                    estoque.Save(estoque);

                    row.Cells["IDAttr"].Value = estoque.GetLastId();
                }

                DialogResult = DialogResult.OK;
                Close();
            };

            btnClose.Click += (s, e) => Close();
        }