예제 #1
0
        private void frmEstoque_Load(object sender, EventArgs e)
        {
            //Módulo - Estoque
            //ucSessaoSistema1.DefinaModulo("Estoque", Properties.Resources.WhiteBox);
            this.EscondaHeadersTabControl(tabControl1);

            //Catálogo de Produtos
            using (var servicoDeProduto = new ServicoDeProduto())
            {
                _listaDeProdutos = servicoDeProduto.ConsulteTodosOsProdutos();
            }

            CarregueDataGridProdutos(_listaDeProdutos);
            cbFiltro.SelectedText = "Nome";

            //Histórico de Produtos
            using (var servicoDeInteracao = new ServicoDeInteracao())
            {
                _listaDeInteracoes = servicoDeInteracao.ConsulteTodasAsInteracoes();
            }

            CarregueDataGridInteracoes(_listaDeInteracoes);
            cbPesquisaHistorico.Text = "Observação";

            //Selecionar pesquisa por produto
            cbPesquisaHistorico.SelectedIndex = 5;
        }
예제 #2
0
        private void btnRefreshHist_Click(object sender, EventArgs e)
        {
            using (var servicoDeInteracao = new ServicoDeInteracao())
            {
                _listaDeInteracoes = servicoDeInteracao.ConsulteTodasAsInteracoes();
            }

            txtPesquisaHistorico.ForeColor = Color.Silver;
            txtPesquisaHistorico.Text      = "Pesquisar...";
            CarregueDataGridInteracoes(_listaDeInteracoes);
        }
예제 #3
0
        private void cbPesquisaPorProduto_SelectedIndexChanged(object sender, EventArgs e)
        {
            var listaDeInteracoes = new List <Interacao>();

            var produto = _listaDeProdutos.Find(x => x.Nome == cbPesquisaPorProduto.Text);

            using (var servicoDeInteracao = new ServicoDeInteracao())
            {
                listaDeInteracoes = servicoDeInteracao.ConsulteTodasAsInteracoesPorProduto(produto.Codigo);
            }

            CarregueDataGridInteracoes(listaDeInteracoes);
        }
예제 #4
0
        private void btnEditarSalvar_Click(object sender, EventArgs e)
        {
            switch (_switchBotaoEditarSalvar)
            {
            case EnumBotoesForm.Editar:
                HabiliteControles();
                InicializeBotoes(EnumTipoDeForm.Edicao, ref btnEditarSalvar, ref btnCancelarExcluir, ref _switchBotaoEditarSalvar, ref _switchBotaoCancelarExcluir);
                _tipoDoForm = EnumTipoDeForm.Edicao;
                break;

            case EnumBotoesForm.Salvar:
                var interacao = CarregueObjetoComControles();

                // Valida entradas sem valores
                // Ver pra colocar no validador
                if (((EnumTipoDeInteracao)cbTipo.SelectedIndex + 1) == EnumTipoDeInteracao.ENTRADA &&
                    GStxtValor.Valor == 0)
                {
                    var resultado = MessageBox.Show(Mensagens.TEM_CERTEZA_QUE_QUER_DAR_ENTRADA_SEM_VALOR(), "Confirmação", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                    if (resultado == DialogResult.Yes)
                    {
                        //Não faz nada
                    }
                    else if (resultado == DialogResult.No)
                    {
                        GStxtValor.Focus();
                        return;
                    }
                }

                var horario = DateTime.Now;
                //txtHorario.Text = horario.ToString(Cultura);

                using (var servicoDeInteracao = new ServicoDeInteracao())
                {
                    _listaDeInconsistencias = servicoDeInteracao.Salve(interacao, _tipoDoForm, horario);
                }

                if (_listaDeInconsistencias.Count == 0)
                {
                    MessageBox.Show(Mensagens.X_FOI_CADASTRADO_COM_SUCESSO("Entrada/Saída"));
                    InicializeBotoes(EnumTipoDeForm.Detalhamento, ref btnEditarSalvar, ref btnCancelarExcluir, ref _switchBotaoEditarSalvar, ref _switchBotaoCancelarExcluir);
                    _tipoDoForm = EnumTipoDeForm.Edicao;
                    DesabiliteControles();
                    return;
                }

                InicializeInconsistencias();
                break;
            }
        }
예제 #5
0
        private void btnCancelarExcluir_Click(object sender, EventArgs e)
        {
            switch (_switchBotaoCancelarExcluir)
            {
            case EnumBotoesForm.Cancelar:
                InicializeBotoes(EnumTipoDeForm.Detalhamento, ref btnEditarSalvar, ref btnCancelarExcluir, ref _switchBotaoEditarSalvar, ref _switchBotaoCancelarExcluir);
                _tipoDoForm = EnumTipoDeForm.Detalhamento;

                Interacao interacao;
                using (var servicoDeInteracao = new ServicoDeInteracao())
                {
                    interacao = servicoDeInteracao.Consulte(_codigoInteracao);
                }

                CarregueControlesComObjeto(interacao);
                DesabiliteControles();
                break;

            case EnumBotoesForm.Excluir:
                var resultado = MessageBox.Show($"Tem certeza que deseja excluir essa interação?", "Confirmação", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                if (resultado == DialogResult.Yes)
                {
                    using (var servicoDeInteracao = new ServicoDeInteracao())
                    {
                        var inconsistencias = servicoDeInteracao.Exclua(_codigoInteracao);

                        if (inconsistencias.Count > 0)
                        {
                            foreach (var inconsitencia in inconsistencias)
                            {
                                MessageBox.Show(inconsitencia.Mensagem);
                            }
                        }
                        else
                        {
                            MessageBox.Show("Interação excluída com sucesso!");
                            this.Close();
                        }
                    }
                }
                break;
            }
        }
        private void ValideRegraProdutoPodeSerExcluido(int codigoDoProduto)
        {
            List <Interacao> listaDeInteracoesPorProduto = new List <Interacao>();

            using (var servicoDeInteracao = new ServicoDeInteracao())
            {
                servicoDeInteracao.ConsulteTodasAsInteracoesPorProduto(codigoDoProduto);
            }

            if (listaDeInteracoesPorProduto.Count > 0)
            {
                _listaDeInconsistencias.Add(
                    new Inconsistencia()
                {
                    Tela             = "Consulta de produtos",
                    ConceitoValidado = "Exclusão de produto",
                    Mensagem         = Mensagens.X_NAO_PODE_SER_EXCLUIDO("O produto")
                });
            }
        }
예제 #7
0
        private void dgvHistorico_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.RowIndex < 0)
            {
                return;
            }

            var senderGrid = (DataGridView)sender;

            var       codigoInteracao = (int)senderGrid["colunaCodigoInteracao", e.RowIndex].Value;
            Interacao interacao;

            using (var servicoDeInteracao = new ServicoDeInteracao())
            {
                interacao = servicoDeInteracao.Consulte(codigoInteracao);
            }

            if (interacao != null)
            {
                new frmInteracao(interacao).Show();
            }
        }
예제 #8
0
        private void dgvHistorico_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            var senderGrid = (DataGridView)sender;

            if (senderGrid.Columns[e.ColumnIndex] is DataGridViewButtonColumn && e.RowIndex >= 0)
            {
                if (senderGrid.Columns[e.ColumnIndex] == colunaDetalharHist)
                {
                    var       codigoInteracao = (int)senderGrid["colunaCodigoInteracao", e.RowIndex].Value;
                    Interacao interacao;

                    using (var servicoDeInteracao = new ServicoDeInteracao())
                    {
                        interacao = servicoDeInteracao.Consulte(codigoInteracao);
                    }

                    if (interacao != null)
                    {
                        new frmInteracao(interacao).Show();
                    }
                }
            }
        }
        private void ValideRegrasDeNumeroDeSerie()
        {
            // Números incompativeis com a quantidade
            if (_interacao.InformaNumeroDeSerie && _interacao.NumerosDeSerie.Count != _interacao.QuantidadeInterada)
            {
                _listaDeInconsistencias.Add(
                    new Inconsistencia()
                {
                    Modulo                         = "Controle de Estoque",
                    Tela                           = "Cadastro de Interações",
                    ConceitoValidado               = "Interação",
                    NomeDaPropriedadeValidada      = "NumerosDeSerie",
                    DescricaoDaPropriedadeValidada = "Lista de números de série",
                    Mensagem                       = Mensagens.DEVE_SER_INFORMADOS_NS_PARA_TODOS_OS_PRODUTOS(_interacao.NumerosDeSerie.Count, _interacao.QuantidadeInterada)
                });
            }

            // Primeiro validamos se existe algum número de série na lista para evitar gastar processamento
            if (_interacao.NumerosDeSerie == null || _interacao.NumerosDeSerie.Count == 0)
            {
                return;
            }

            using (var servicoDeInteracao = new ServicoDeInteracao())
            {
                foreach (var numeroDeSerie in _interacao.NumerosDeSerie)
                {
                    // Consultamos se o número de série existe para evitar gastar processamento
                    if (!MapeadorDeNumeroDeSerie().VerifiqueSeExisteEmBanco(numeroDeSerie))
                    {
                        continue;
                    }

                    var estahEmEstoque = servicoDeInteracao.VerifiqueSeNumeroDeSerieEstahEmEstoque(numeroDeSerie);

                    if (_interacao.TipoDeInteracao == EnumTipoDeInteracao.ENTRADA && estahEmEstoque)
                    {
                        _listaDeInconsistencias.Add(
                            new Inconsistencia()
                        {
                            Modulo                         = "Controle de Estoque",
                            Tela                           = "Cadastro de Interações",
                            ConceitoValidado               = "Interação",
                            NomeDaPropriedadeValidada      = "NumerosDeSerie",
                            DescricaoDaPropriedadeValidada = "Lista de números de série",
                            Mensagem                       = Mensagens.UM_PRODUTO_COM_O_NUMERO_DE_SERIE_X_JA_ESTA_EM_ESTOQUE(numeroDeSerie)
                        });
                    }

                    if (_interacao.TipoDeInteracao == EnumTipoDeInteracao.SAIDA && !estahEmEstoque)
                    {
                        _listaDeInconsistencias.Add(
                            new Inconsistencia()
                        {
                            Modulo                         = "Controle de Estoque",
                            Tela                           = "Cadastro de Interações",
                            ConceitoValidado               = "Interação",
                            NomeDaPropriedadeValidada      = "NumerosDeSerie",
                            DescricaoDaPropriedadeValidada = "Lista de números de série",
                            Mensagem                       = Mensagens.NAO_E_POSSIVEL_DAR_SAIDA_DO_NUMERO_DE_SERIE_X(numeroDeSerie)
                        });
                    }
                }
            }
        }