Ejemplo n.º 1
0
        public int insertEntrada(Entrada entrada)
        {
            try
            {
                cmd = new NpgsqlCommand();

                SQL  = "INSERT INTO estoque_entrada ";
                SQL += "(id_empresa, id_tpnota, dh_entrada, id_fornec, id_cfop, ";
                SQL += "chave_nfe, versao_nfe, nat_oper, prot_autor, num_nota, serie_nota, modelo, emissao, sai_ent, ";
                SQL += "bc_icms, vl_icms, icms_deson, v_fcp, fcp_st, fcp_st_ret, v_prod, ";
                SQL += "v_frete, v_seguro, vol_pbruto, vol_pliquido, anotacao, fisco, ";
                SQL += "confirmada, dt_confirmada, cancelada, dt_cancelada, motivo_canc, id_pedido, arquivo) ";
                SQL += "VALUES ";
                SQL += "(@id_empresa, @id_tpnota, @dh_entrada, @id_fornec, @id_cfop, ";
                SQL += "@chave_nfe, @versao_nfe, @nat_oper, @prot_autor, @num_nota, @serie_nota, @modelo, @emissao, @sai_ent, ";
                SQL += "@bc_icms, @vl_icms, @icms_deson, @v_fcp, @fcp_st, @fcp_st_ret, @v_prod, ";
                SQL += "@v_frete, @v_seguro, @v_desc, @v_ipi, @ipi_devol, @v_pis, @v_cofins, @v_outro, @total_nf, ";
                SQL += "@id_transp, @mod_frente, @vol_pbruto, @vol_pliquido, @anotacao, @fisco, ";
                SQL += "@confirmada, @dt_confirmada, @cancelada, @dt_cancelada, @motivo_canc, @id_pedido, @arquivo) ";

                cmd.CommandText = SQL;
                cmd.Parameters.AddWithValue("@id_empresa", entrada.empresa.Id);
                cmd.Parameters.AddWithValue("@id_tpnota", entrada.tipoNota.Id);
                cmd.Parameters.AddWithValue("@dh_entrada", entrada.dhEntrada);
                cmd.Parameters.AddWithValue("@id_fornec", entrada.fornec.id);
                cmd.Parameters.AddWithValue("@id_cfop", entrada.cfop);
                cmd.Parameters.AddWithValue("@chave_nfe", entrada.chaveNFE);
                cmd.Parameters.AddWithValue("@versao_nfe", entrada.versaoNFE);
                cmd.Parameters.AddWithValue("@nat_oper", entrada.natOperacao);
                cmd.Parameters.AddWithValue("@prot_autor", entrada.protAutorizacao);
                cmd.Parameters.AddWithValue("@num_nota", entrada.numeroNota);
                cmd.Parameters.AddWithValue("@serie_nota", entrada.serieNota);
                cmd.Parameters.AddWithValue("@modelo", entrada.modelo);
                cmd.Parameters.AddWithValue("@emissao", entrada.dhEmissao);
                cmd.Parameters.AddWithValue("@sai_ent", entrada.dhSaiEnt);
                cmd.Parameters.AddWithValue("@bc_icms", entrada.vBCICMS);
                cmd.Parameters.AddWithValue("@vl_icms", entrada.vICMS);
                cmd.Parameters.AddWithValue("@icms_deson", entrada.vICMSDeson);
                cmd.Parameters.AddWithValue("@v_fcp", entrada.vFCP);
                cmd.Parameters.AddWithValue("@fcp_st", entrada.vFCPST);
                cmd.Parameters.AddWithValue("@fcp_st_ret", entrada.vFCPSTRet);
                cmd.Parameters.AddWithValue("@v_prod", entrada.vProd);
                cmd.Parameters.AddWithValue("@v_frete", entrada.vFrete);
                cmd.Parameters.AddWithValue("@v_seguro", entrada.vSeguro);
                cmd.Parameters.AddWithValue("@v_desc", entrada.vDesc);
                cmd.Parameters.AddWithValue("@v_ipi", entrada.vIPI);
                cmd.Parameters.AddWithValue("@ipi_devol", entrada.vIPIDevol);
                cmd.Parameters.AddWithValue("@v_pis", entrada.vPIS);
                cmd.Parameters.AddWithValue("@v_cofins", entrada.vCOFINS);
                cmd.Parameters.AddWithValue("@v_outro", entrada.vOutro);
                cmd.Parameters.AddWithValue("@total_nf", entrada.totalNF);
                cmd.Parameters.AddWithValue("@id_transp", entrada.transp.id);
                cmd.Parameters.AddWithValue("@mod_frente", entrada.modFrete);
                cmd.Parameters.AddWithValue("@vol_pbruto", entrada.pesoBruto);
                cmd.Parameters.AddWithValue("@vol_pliquido", entrada.pesoLiquido);
                cmd.Parameters.AddWithValue("@anotacao", entrada.anotacao);
                cmd.Parameters.AddWithValue("@fisco", entrada.obsFisco);
                cmd.Parameters.AddWithValue("@confirmada", entrada.confirmada);
                cmd.Parameters.AddWithValue("@dt_confirmada", entrada.dtConfirmada);
                cmd.Parameters.AddWithValue("@cancelada", entrada.cancelada);
                cmd.Parameters.AddWithValue("@dt_cancelada", entrada.dtCancelada);
                cmd.Parameters.AddWithValue("@motivo_canc", entrada.motivoCancelamento);
                cmd.Parameters.AddWithValue("@id_pedido", entrada.pedido);
                cmd.Parameters.AddWithValue("@arquivo", entrada.arquivoXML);

                entrada.Id = con.ComandoID(cmd);

                #region INSERT ITENS DA ENTRADA

                if (entrada.itens != null && entrada.itens.Count > 0)
                {
                    for (int i = 0; i <= entrada.itens.Count - 1; i++)
                    {
                        cmd = new NpgsqlCommand();

                        if (entrada.itens[i].Id == 0)
                        {
                            SQL  = "INSERT INTO estoque_entrada_item ";
                            SQL += "(id_entrada, id_produto, id_cfop, id_cst, id_unid, qtd_un, ";
                            SQL += "vl_unit, vl_desconto, vl_outro, bc_icms, vl_icms, vl_ipi, alq_icms, alq_ipi)";
                            SQL += "VALUES ";
                            SQL += "(@id_entrada, @id_produto, @id_cfop, @id_cst, @id_unid, @qtd_un, ";
                            SQL += "@vl_unit, @vl_desconto, @vl_outro, @bc_icms, @vl_icms, @vl_ipi, @alq_icms, @alq_ipi) ";

                            cmd.CommandText = SQL;

                            cmd.Parameters.AddWithValue("@id_entrada", entrada.Id);
                            cmd.Parameters.AddWithValue("@id_produto", entrada.itens[i].produto.Id);
                            cmd.Parameters.AddWithValue("@id_cfop", entrada.itens[i].cfop.Id);
                            cmd.Parameters.AddWithValue("@id_cst", entrada.itens[i].cst.Id);
                            cmd.Parameters.AddWithValue("@id_unid", entrada.itens[i].unid.Id);
                            cmd.Parameters.AddWithValue("@qtd_un", entrada.itens[i].qtd);
                            cmd.Parameters.AddWithValue("@vl_unit", entrada.itens[i].vlUnit);
                            cmd.Parameters.AddWithValue("@vl_desconto", entrada.itens[i].vlDesc);
                            cmd.Parameters.AddWithValue("@vl_outro", entrada.itens[i].vlOutros);
                            cmd.Parameters.AddWithValue("@bc_icms", entrada.itens[i].bcICMS);
                            cmd.Parameters.AddWithValue("@vl_icms", entrada.itens[i].vlICMS);
                            cmd.Parameters.AddWithValue("@vl_ipi", entrada.itens[i].vlIPI);
                            cmd.Parameters.AddWithValue("@alq_icms", entrada.itens[i].alqICMS);
                            cmd.Parameters.AddWithValue("@alq_ipi", entrada.itens[i].alqIPI);

                            con.ComandoSQL(cmd);
                        }
                    }
                }
                #endregion

                /*
                 #region REGISTRAR MOVIMENTO NO ESTOQUE
                 *
                 * if (entrada.itens != null && entrada.itens.Count > 0)
                 * {
                 *  for (int i = 0; i <= entrada.itens.Count - 1; i++)
                 *  {
                 *      cmd = new NpgsqlCommand();
                 *
                 *      if (entrada.itens[i].Id == 0)
                 *      {
                 *          cmd = new NpgsqlCommand();
                 *
                 *      }
                 *  }
                 * }
                 *
                 #endregion
                 */
                return(entrada.Id);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }