Example #1
0
        internal void CadastrarOrdemCompra(OrdemCompraDTO ordemCompra, List <OrdemCompraProdutoDTO> listaOcProduto)
        {
            this.mensagem = "";
            int id_OrdemCompra = 0;

            id_OrdemCompra = OrdemCompraDAO.GetInstance().CadastrarOrdemCompra(ordemCompra);
            if (OrdemCompraDAO.GetInstance().Mensagem != "")
            {
                this.mensagem = OrdemCompraDAO.GetInstance().Mensagem;
                return;
            }

            OrdemCompraProdutoDAO.GetInstance().CadastrarProdutoOrdemCompra(listaOcProduto, id_OrdemCompra);
            if (OrdemCompraProdutoDAO.GetInstance().Mensagem != "")
            {
                this.mensagem = OrdemCompraProdutoDAO.GetInstance().Mensagem;
                return;
            }

            ProdutoDAO.GetInstance().AtualizarProdutoQuantidadeOc(listaOcProduto);
            if (ProdutoDAO.GetInstance().Mensagem != "")
            {
                this.mensagem = ProdutoDAO.GetInstance().Mensagem;
            }
        }
Example #2
0
        public async Task <ResultadoBase <bool> > SolicitarRegistroOrdemCompra(OrdemCompraDTO ordemCompraDTO)
        {
            var novaOrdemCompra = ordemCompraDTO.Mapear();

            if (!novaOrdemCompra.Valida())
            {
                return new ResultadoBase <bool>()
                       {
                           CodigoErro = MensagemErro.OMS_010, Resultado = false, TipoErro = TipoErro.Validacao
                       }
            }
            ;

            var cliente = await _clienteRepositorio.ConsultarPorId(novaOrdemCompra.IdCliente);

            if (cliente == null)
            {
                return new ResultadoBase <bool>()
                       {
                           CodigoErro = MensagemErro.OMS_001, Resultado = false, TipoErro = TipoErro.Validacao
                       }
            }
            ;

            var produto = await _produtoRepositorio.ConsultarPorId(novaOrdemCompra.IdProduto);

            if (produto == null)
            {
                return new ResultadoBase <bool>()
                       {
                           CodigoErro = MensagemErro.OMS_002, Resultado = false, TipoErro = TipoErro.Validacao
                       }
            }
            ;

            var contaCorrente = await _contaCorrenteRepositorio.ObterPorId(novaOrdemCompra.IdCliente);

            if (contaCorrente == null)
            {
                return new ResultadoBase <bool>()
                       {
                           CodigoErro = MensagemErro.OMS_003, Resultado = false, TipoErro = TipoErro.Validacao
                       }
            }
            ;

            var resultado = await _ordemCompraDominoServico.PermiteRegistroDeOrdemCompra(cliente, produto, contaCorrente, novaOrdemCompra);

            if (resultado.Resultado)
            {
                //faz a solictacao de registro
                await _mensageriaRepoSitorio.EnviarMensagem <OrdemCompra>(TopicosMensageria.SolicitacaoRegistroOrdem, novaOrdemCompra);
            }


            return(resultado);
        }
    }
}
Example #3
0
        private void BtnFinalizar_Click(object sender, RoutedEventArgs e)
        {
            if (MessageBox.Show("FINALIZAR ORDEM DE COMPRA?", "FINALIZAR ODC", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.No)
            {
                return;
            }

            OrdemCompraDTO               ordemCompra    = new OrdemCompraDTO();
            OrdemCompraProdutoDTO        ocProduto      = new OrdemCompraProdutoDTO();
            List <OrdemCompraProdutoDTO> listaOcProduto = new List <OrdemCompraProdutoDTO>();

            ordemCompra.DtDigitacao = dtpDt_Digitacao.SelectedDate.ToString();
            try
            {
                ordemCompra.ValorTotal = Convert.ToDouble(txtVlr_Total.Text);
            }
            catch (Exception ex)
            {
                MessageBox.Show("VALOR TOTAL INVALIDO");
                return;
            }
            try
            {
                ordemCompra.Pessoa.IdPessoa = Convert.ToInt32(cmbNm_Fornecedor.SelectedValue);
            }
            catch (Exception)
            {
                MessageBox.Show("FORNECEDOR NÃO INFORMADO");
                return;
            }
            ordemCompra.TpStatus          = "F";
            ordemCompra.Usuario.IdUsuario = estPropriedades.Id_Usuario;
            listaOcProduto = dtgProdutos.ItemsSource as List <OrdemCompraProdutoDTO>;

            Controller.GetInstance().CadastrarOrdemCompra(ordemCompra, listaOcProduto);
            if (Controller.GetInstance().Mensagem != "")
            {
                MessageBox.Show(Controller.GetInstance().Mensagem);
            }
            else
            {
                MessageBox.Show("ENTRADA DE PRODUTOS REGISTRADA");
                InicializarCampos();
            }
        }
Example #4
0
        public async Task <IActionResult> SolicitarRegistroOrdemCompra([FromBody] OrdemCompraDTO ordemCompra)
        {
            try
            {
                var result = await _ordemCompraServico.SolicitarRegistroOrdemCompra(ordemCompra);

                if (result.Resultado == false)
                {
                    return(BadRequest(new { message = result.Descricao(), erro = result.CodigoErro }));
                }

                return(Created(string.Empty, result));
            }
            catch (Exception ex)
            {
                return(StatusCode(500, (new { message = ex })));
            }
        }