public async Task <List <ItensCompra> > GetItensOrdemServicoResultSet(NpgsqlCommand command)
        {
            List <ItensCompra> list = new List <ItensCompra>();

            command.ExecuteNonQuery();

            using var reader = await command.ExecuteReaderAsync();

            while (await reader.ReadAsync())
            {
                DataTable schemaTable = reader.GetSchemaTable();

                JTokenWriter writer = new JTokenWriter();
                writer.WriteStartObject();

                foreach (DataRow row in schemaTable.Rows)
                {
                    writer.WritePropertyName(row[0].ToString());
                    writer.WriteValue(reader[row[0].ToString()]);
                }
                writer.WriteEndObject();
                JObject     o          = (JObject)writer.Token;
                var         stringJson = o.ToString();
                ItensCompra p          = JsonConvert.DeserializeObject <ItensCompra>(stringJson);
                list.Add(p);
            }
            return(list);
        }
Пример #2
0
    protected void btnSalvar_Click(object sender, EventArgs e)
    {
        if (ddlFornecedores.SelectedItem.Text != "Selecione")
        {
            int idFornecedor = Convert.ToInt32(ddlFornecedores.SelectedItem.Value);


            CompraRevenda compraRevenda = new CompraRevenda();
            compraRevenda.Pagamento        = ddl.Text;
            compraRevenda.Data             = Convert.ToDateTime(txtData.Text);
            compraRevenda.FornecedorCodigo = idFornecedor;
            ComprarevendaBD bd   = new ComprarevendaBD();
            int             flag = bd.Insert(compraRevenda);

            if (flag > 0)
            {
                foreach (GridViewRow item in gdvProdutos.Rows)
                {
                    TextBox txtQnt   = item.FindControl("txtQnt") as TextBox;
                    TextBox txtPreco = item.FindControl("txtpreco") as TextBox;
                    if (!String.IsNullOrEmpty(txtQnt.Text) && !String.IsNullOrEmpty(txtPreco.Text))
                    {
                        ItensCompra ic = new ItensCompra();
                        ic.PrecoCusto          = Convert.ToInt32(txtPreco.Text);
                        ic.Quantidade          = Convert.ToInt32(txtQnt.Text);
                        ic.CompraRevendaCodigo = flag;
                        ic.Produto             = Convert.ToInt32(item.Cells[0].Text);

                        ItensCompraBD icbd = new ItensCompraBD();

                        icbd.Inserir(ic);
                    }
                }


                lblMensagem.Text  = "CompraRevenda cadastrada com sucesso";
                ddlpagamento.Text = "";
                txtData.Text      = "";
                txtData.Focus();

                for (int i = 0; i < ddlFornecedores.Items.Count; i++)
                {
                    ddlFornecedores.Items[i].Selected = false;
                }
                ddlFornecedores.Items[0].Selected = true;
            }
            else
            {
                lblMensagem.Text = "Erro ao salvar.";
            }
        }
        else
        {
            lblMensagem.Text = "Selecione um fornecedor";
            ddlFornecedores.Focus();
        }
    }
Пример #3
0
 public void Validar()
 {
     AssertionConcern.AssertArgumentNotEquals(new DateTime(), DataCadastro,
                                              string.Format(Erros.InvalidParameter, "DataCadastro"));
     AssertionConcern.AssertArgumentNotEquals(StatusCompra, StatusCompraEnum.None,
                                              string.Format(Erros.InvalidParameter, "StatusCompra"));
     AssertionConcern.AssertArgumentNotEquals(0.0M, ValorTotalBruto,
                                              string.Format(Erros.NotZeroParameter, "ValorTotalBruto"));
     AssertionConcern.AssertArgumentNotEquals(0.0M, ValorTotalLiquido,
                                              string.Format(Erros.NotZeroParameter, "ValorTotalLiquido"));
     AssertionConcern.AssertArgumentNotEquals(0, Usuario.UsuarioCodigo, Erros.UserNotSet);
     AssertionConcern.AssertArgumentTrue(ItensCompra.Any(), Erros.SaleItemsNotSet);
 }
Пример #4
0
        public void Inserir(ItensCompra itenscompra)
        {
            System.Data.IDbConnection objConexao;
            System.Data.IDbCommand    objCommand;
            string sql = "INSERT INTO tbl_itenscompra(itc_quantidade, itc_precocusto, pro_codigo, com_codigo) VALUES (?quantidade, ?precocusto, ?produto, ?comprarevendacodigo)";

            objConexao = Mapped.Connection();
            objCommand = Mapped.Command(sql, objConexao);
            objCommand.Parameters.Add(Mapped.Parameter("?quantidade", itenscompra.Quantidade));
            objCommand.Parameters.Add(Mapped.Parameter("?precocusto", itenscompra.PrecoCusto));
            objCommand.Parameters.Add(Mapped.Parameter("?comprarevendacodigo", itenscompra.CompraRevendaCodigo));
            objCommand.Parameters.Add(Mapped.Parameter("?produto", itenscompra.Produto));
            objCommand.ExecuteNonQuery();
            objConexao.Close();
            objCommand.Dispose();
            objConexao.Dispose();
        }
    protected void btnSalvar_Click(object sender, EventArgs e)
    {
        ItensCompra itenscompra = new ItensCompra();

        itenscompra.Quantidade = Convert.ToInt32(txtQuantidade.Text);
        itenscompra.PrecoCusto = Convert.ToInt32(txtPrecocusto.Text);
        ItensCompraBD bd = new ItensCompraBD();

        if (bd.Insert(itenscompra))
        {
            lblMensagem.Text   = "Itens Compra cadastrado com sucesso";
            txtQuantidade.Text = "";
            txtPrecocusto.Text = "";
            txtQuantidade.Focus();
        }
        else
        {
            lblMensagem.Text = "Erro ao salvar.";
        }
    }
        public async Task <ItensCompra> InserirItensCompra(NpgsqlConnection conexao, ItensCompra item)
        {
            string sql = @"INSERT INTO produtoscompras(modelo, serie, numeronf, codigofornecedor, codigoproduto, quantidade, valorunitario, desconto, total) VALUES (@modelo, @serie, @numeroNF, @codigoFornecedor, @codigoProduto, @quantidade, @valorUnitario, @desconto, @total);";

            NpgsqlCommand command = new NpgsqlCommand(sql, conexao);

            command.Parameters.AddWithValue("@modelo", item.modelo);
            command.Parameters.AddWithValue("@serie", item.serie);
            command.Parameters.AddWithValue("@numeroNF", item.numeroNF);
            command.Parameters.AddWithValue("@codigoFornecedor", item.codigoFornecedor);
            command.Parameters.AddWithValue("@codigoProduto", item.codigoProduto);
            command.Parameters.AddWithValue("@quantidade", item.quantidade);
            command.Parameters.AddWithValue("@valorUnitario", item.valorUnitario);
            command.Parameters.AddWithValue("@desconto", item.desconto);
            command.Parameters.AddWithValue("@total", item.total);

            await command.ExecuteScalarAsync();

            return(item);
        }
Пример #7
0
        public void InserirItemCompra(ItensCompra item, SqlTransaction transaction)
        {
            SqlCommand comando = this.CreateCommandTransaction(transaction);
            var        Produto = DaoProduto.BuscarPorID(item.codigo) as Produtos;

            comando.CommandText = @"INSERT INTO itemCompra (  modelo, serie, nrNota, codFornecedor, codProduto, qtd, custoUnitario, valorUnitario, dtCadastro, dtAlteracao) 
                                                    values ( @modelo, @serie, @nrNota, @codFornecedor,  @codProduto, @qtd ,  @custoUnitario, @valorUnitario,  @dtCadastro, @dtAlteracao);
                                    UPDATE  produtos set qtd = @qtdEstoque, custoUltCompra = @valorUnitario, precoCusto = @custoUnitario, dtUltCompra = @dtCadastro WHERE codigo = @codProduto ";

            comando.Parameters.AddWithValue("@modelo", item.modelo);
            comando.Parameters.AddWithValue("@serie", item.serie);
            comando.Parameters.AddWithValue("@nrNota", item.nrNota);
            comando.Parameters.AddWithValue("@codFornecedor", item.Fornecedor.codigo);
            comando.Parameters.AddWithValue("@codProduto", item.codigo);
            comando.Parameters.AddWithValue("@qtdEstoque", item.qtd + Produto.qtd);
            comando.Parameters.AddWithValue("@qtd", item.qtd);
            comando.Parameters.AddWithValue("@custoUnitario", item.custoUnitario);
            comando.Parameters.AddWithValue("@valorUnitario", item.valorUnitario);
            comando.Parameters.AddWithValue("@dtCadastro", item.dtCadastro);
            comando.Parameters.AddWithValue("@dtAlteracao", item.dtAlteracao);

            comando.ExecuteNonQuery();
        }
Пример #8
0
 public ItensCompra Atualizar(ItensCompra itensCompra)
 {
     return(_itensCompraRepository.Atualizar(itensCompra));
 }
Пример #9
0
 public ItensCompra Adicionar(ItensCompra itensCompra)
 {
     return(_itensCompraRepository.Adicionar(itensCompra));
 }
        public override async Task <OrdensServico> Inserir(OrdensServico ordemServico)
        {
            using (var conexao = GetCurrentConnection())
            {
                conexao.Open();
                NpgsqlTransaction transaction = conexao.BeginTransaction();
                try
                {
                    string sql = @"INSERT INTO ordensservico(codigofornecedor, dtinicial, dtfinal, valorservicos, valorprodutos, valortotal, codigocondicaopagamento, dtcadastro, dtalteracao, status) VALUES (@codigoFornecedor, @dtInicial, @dtFinal, @valorServicos, @valorProdutos, @valorTotal, @codigoCondicaoPagamento, @dtCadastro, @dtAlteracao, @status) returning codigo;";

                    NpgsqlCommand command = new NpgsqlCommand(sql, conexao);
                    command.Parameters.AddWithValue("@codigoFornecedor", ordemServico.codigoFornecedor);
                    command.Parameters.AddWithValue("@dtInicial", ordemServico.dtInicial);
                    command.Parameters.AddWithValue("@dtFinal", ordemServico.dtFinal);
                    command.Parameters.AddWithValue("@valorServicos", ordemServico.valorServicos);
                    command.Parameters.AddWithValue("@valorProdutos", ordemServico.valorProdutos);
                    command.Parameters.AddWithValue("@valorTotal", ordemServico.valorTotal);
                    command.Parameters.AddWithValue("@codigoCondicaoPagamento", ordemServico.codigoCondicaoPagamento);
                    command.Parameters.AddWithValue("@dtCadastro", ordemServico.dtCadastro);
                    command.Parameters.AddWithValue("@dtAlteracao", ordemServico.dtAlteracao);
                    command.Parameters.AddWithValue("@status", ordemServico.status);

                    Object idInserido = await command.ExecuteScalarAsync();

                    ordemServico.codigo = (int)idInserido;

                    int qtdServicos = ordemServico.servicos.Count;
                    if (qtdServicos > 0)
                    {
                        for (int i = 0; i < qtdServicos; i++)
                        {
                            ServicosOS servicoOrdemServico = ordemServico.servicos[i];
                            ordemServico.servicos[i] = await InserirServicosOrdemServico(conexao, servicoOrdemServico, ordemServico.codigo);
                        }
                    }

                    int qtdItens = ordemServico.itens.Count;
                    if (qtdItens > 0)
                    {
                        for (int i = 0; i < qtdItens; i++)
                        {
                            ItensCompra itemOrdemServico = ordemServico.itens[i];
                            ordemServico.itens[i] = await InserirItensOrdemServico(conexao, itemOrdemServico, ordemServico.codigo);
                        }
                    }

                    int qtdParcelas = ordemServico.parcelas.Count;
                    if (qtdParcelas > 0)
                    {
                        for (int i = 0; i < qtdParcelas; i++)
                        {
                            ParcelasCompra parcelaordemServico = ordemServico.parcelas[i];
                            parcelaordemServico.dtEmissao = (DateTime)ordemServico.dtCadastro;
                            parcelaordemServico.pendente();
                            ordemServico.parcelas[i] = await InserirParcelasOrdemServico(conexao, parcelaordemServico, ordemServico);
                        }
                    }

                    transaction.Commit();
                    return(ordemServico);
                }
                catch
                {
                    transaction.Rollback();
                    throw;
                }
                finally
                {
                    conexao.Close();
                }
            }
        }
        public async Task <ItensCompra> InserirItensOrdemServico(NpgsqlConnection conexao, ItensCompra item, int codigoOS)
        {
            string sql = @"INSERT INTO itensos(codigoos, codigoproduto, quantidade, valorunitario, desconto, total) VALUES (@codigoOS, @codigoProduto, @quantidade, @valorUnitario, @desconto, @total);";

            NpgsqlCommand command = new NpgsqlCommand(sql, conexao);

            command.Parameters.AddWithValue("@codigoOS", codigoOS);
            command.Parameters.AddWithValue("@codigoProduto", item.codigoProduto);
            command.Parameters.AddWithValue("@quantidade", item.quantidade);
            command.Parameters.AddWithValue("@valorUnitario", item.valorUnitario);
            command.Parameters.AddWithValue("@desconto", item.desconto);
            command.Parameters.AddWithValue("@total", item.total);

            await command.ExecuteScalarAsync();

            return(item);
        }
        public override async Task <Compras> Inserir(Compras compra)
        {
            using (var conexao = GetCurrentConnection())
            {
                conexao.Open();
                NpgsqlTransaction transaction = conexao.BeginTransaction();
                try
                {
                    string sql = @"INSERT INTO compras(modelo, serie, numeronf, codigofornecedor, dtemissao, dtentrega, valorprodutos, frete, seguro, despesas, valortotal, codigocondicaopagamento, dtcadastro, dtalteracao, status) VALUES (@modelo, @serie, @numeroNF, @codigoFornecedor, @dtEmissao, @dtEntrega, @valorProdutos, @frete, @seguro, @despesas, @valorTotal, @codigoCondicaoPagamento, @dtCadastro, @dtAlteracao, @status);";

                    NpgsqlCommand command = new NpgsqlCommand(sql, conexao);
                    command.Parameters.AddWithValue("@modelo", compra.modelo);
                    command.Parameters.AddWithValue("@serie", compra.serie);
                    command.Parameters.AddWithValue("@numeroNF", compra.numeroNF);
                    command.Parameters.AddWithValue("@codigoFornecedor", compra.codigoFornecedor);
                    command.Parameters.AddWithValue("@dtEmissao", compra.dtEmissao);
                    command.Parameters.AddWithValue("@dtEntrega", compra.dtEntrega);
                    command.Parameters.AddWithValue("@valorProdutos", compra.valorProdutos);
                    command.Parameters.AddWithValue("@frete", compra.frete);
                    command.Parameters.AddWithValue("@seguro", compra.seguro);
                    command.Parameters.AddWithValue("@despesas", compra.despesas);
                    command.Parameters.AddWithValue("@valorTotal", compra.valorTotal);
                    command.Parameters.AddWithValue("@codigoCondicaoPagamento", compra.codigoCondicaoPagamento);
                    command.Parameters.AddWithValue("@dtCadastro", compra.dtCadastro);
                    command.Parameters.AddWithValue("@dtAlteracao", compra.dtAlteracao);
                    command.Parameters.AddWithValue("@status", compra.status);

                    await command.ExecuteScalarAsync();

                    int qtdItens = compra.itens.Count;
                    if (qtdItens > 0)
                    {
                        for (int i = 0; i < qtdItens; i++)
                        {
                            ItensCompra itemCompra = compra.itens[i];
                            itemCompra.modelo           = compra.modelo;
                            itemCompra.serie            = compra.serie;
                            itemCompra.numeroNF         = compra.numeroNF;
                            itemCompra.codigoFornecedor = compra.codigoFornecedor;
                            compra.itens[i]             = await InserirItensCompra(conexao, itemCompra);

                            await AtualizarProdutos(conexao, compra, itemCompra);
                        }
                    }

                    int qtdParcelas = compra.parcelas.Count;
                    if (qtdParcelas > 0)
                    {
                        for (int i = 0; i < qtdParcelas; i++)
                        {
                            ParcelasCompra parcelaCompra = compra.parcelas[i];
                            parcelaCompra.dtEmissao = compra.dtEmissao;
                            parcelaCompra.pendente();
                            compra.parcelas[i] = await InserirParcelasCompra(conexao, parcelaCompra, compra);
                        }
                    }

                    transaction.Commit();
                    return(compra);
                }
                catch
                {
                    transaction.Rollback();
                    throw;
                }
                finally
                {
                    conexao.Close();
                }
            }
        }
        public async Task AtualizarProdutos(NpgsqlConnection conexao, Compras compra, ItensCompra item)
        {
            string sql = @"SELECT estoque FROM produtos WHERE codigo = @codigo;";

            NpgsqlCommand command = new NpgsqlCommand(sql, conexao);

            command.Parameters.AddWithValue("@codigo", item.codigoProduto);

            List <Produtos> produtos = await GetProdutosResultSet(command);

            int estoqueAtual = produtos[0].estoque + item.quantidade;

            sql = @"UPDATE produtos SET valorcusto = @valorCusto, estoque = @estoque, dtultimacompra = @dtUltimaCompra, valorultimacompra = @valorUltimaCompra WHERE codigo = @codigo;";

            command = new NpgsqlCommand(sql, conexao);
            command.Parameters.AddWithValue("@valorCusto", item.valorCusto);
            command.Parameters.AddWithValue("@estoque", estoqueAtual);
            command.Parameters.AddWithValue("@dtUltimaCompra", compra.dtEmissao);
            command.Parameters.AddWithValue("@valorUltimaCompra", item.valorUnitario);
            command.Parameters.AddWithValue("@codigo", item.codigoProduto);

            await command.ExecuteScalarAsync();
        }