//Método Anular public static string Anular(int id) { DEntrada Obj = new CamadaDados.DEntrada(); Obj.IdEntrada = id; return(Obj.Anular(Obj)); }
//Método Anular public string Anular(DEntrada Entrada) { string resp = ""; SqlConnection SqlCon = new SqlConnection(); try { //codigo SqlCon.ConnectionString = Conexao.Cn; SqlCon.Open(); SqlCommand SqlCmd = new SqlCommand(); SqlCmd.Connection = SqlCon; SqlCmd.CommandText = "spanular_entrada"; SqlCmd.CommandType = CommandType.StoredProcedure; SqlParameter ParId = new SqlParameter(); ParId.ParameterName = "@identrada"; //identrada ParId.SqlDbType = SqlDbType.Int; ParId.Value = Entrada.IdEntrada; SqlCmd.Parameters.Add(ParId); //Executar o comando resp = SqlCmd.ExecuteNonQuery() == 1 ? "OK" : "A Anulação não foi feita"; } catch (Exception ex) { resp = ex.Message; } finally { if (SqlCon.State == ConnectionState.Open) { SqlCon.Close(); } } return(resp); }
//Método Inserir public string Inserir(DEntrada Entrada, List <DDetalhe_Entrada> Detalhe) { string resp = ""; SqlConnection SqlCon = new SqlConnection(); try { //codigo SqlCon.ConnectionString = Conexao.Cn; SqlCon.Open(); SqlTransaction SqlTra = SqlCon.BeginTransaction(); SqlCommand SqlCmd = new SqlCommand(); SqlCmd.Connection = SqlCon; SqlCmd.Transaction = SqlTra; SqlCmd.CommandText = "spinserir_entrada"; SqlCmd.CommandType = CommandType.StoredProcedure; SqlParameter ParId = new SqlParameter(); ParId.ParameterName = "@identrada"; ParId.SqlDbType = SqlDbType.Int; ParId.Direction = ParameterDirection.Output; SqlCmd.Parameters.Add(ParId); SqlParameter ParIdFuncionario = new SqlParameter(); ParIdFuncionario.ParameterName = "@idfuncionario"; ParIdFuncionario.SqlDbType = SqlDbType.Int; ParIdFuncionario.Value = Entrada.IdFuncionario; SqlCmd.Parameters.Add(ParIdFuncionario); SqlParameter ParIdFornecedor = new SqlParameter(); ParIdFornecedor.ParameterName = "@idfornecedor"; ParIdFornecedor.SqlDbType = SqlDbType.Int; ParIdFornecedor.Value = Entrada.IdFornecedor; SqlCmd.Parameters.Add(ParIdFornecedor); SqlParameter ParData = new SqlParameter(); ParData.ParameterName = "@data"; ParData.SqlDbType = SqlDbType.Date; ParData.Value = Entrada.Data; SqlCmd.Parameters.Add(ParData); SqlParameter ParTipoComprovante = new SqlParameter(); ParTipoComprovante.ParameterName = "@tipo_comprovante"; ParTipoComprovante.SqlDbType = SqlDbType.VarChar; ParTipoComprovante.Size = 20; ParTipoComprovante.Value = Entrada.TipoComprovante; SqlCmd.Parameters.Add(ParTipoComprovante); SqlParameter ParSerie = new SqlParameter(); ParSerie.ParameterName = "@serie"; ParSerie.SqlDbType = SqlDbType.VarChar; ParSerie.Size = 4; ParSerie.Value = Entrada.Serie; SqlCmd.Parameters.Add(ParSerie); SqlParameter ParCorrelativo = new SqlParameter(); ParCorrelativo.ParameterName = "@correlativo"; ParCorrelativo.SqlDbType = SqlDbType.VarChar; ParCorrelativo.Size = 7; ParCorrelativo.Value = Entrada.Correlativo; SqlCmd.Parameters.Add(ParCorrelativo); SqlParameter ParImposto = new SqlParameter(); ParImposto.ParameterName = "@imposto"; ParImposto.SqlDbType = SqlDbType.Decimal; ParImposto.Precision = 4; ParImposto.Scale = 2; ParImposto.Value = Entrada.Imposto; SqlCmd.Parameters.Add(ParImposto); SqlParameter ParEstado = new SqlParameter(); ParEstado.ParameterName = "@estado"; ParEstado.SqlDbType = SqlDbType.VarChar; ParEstado.Size = 7; ParEstado.Value = Entrada.Estado; SqlCmd.Parameters.Add(ParEstado); //Executar o comando resp = SqlCmd.ExecuteNonQuery() == 1 ? "OK" : "Registro não foi Inserido"; if (resp.Equals("OK")) { //Obter o código id de entrada gerado this.IdEntrada = Convert.ToInt32(SqlCmd.Parameters["@identrada"].Value); foreach (DDetalhe_Entrada det in Detalhe) { det.IdEntrada = this.IdEntrada; //Chamar método inserir no detalhes entrada resp = det.Inserir(det, ref SqlCon, ref SqlTra); if (!resp.Equals("OK")) { break; } } } if (resp.Equals("OK")) { SqlTra.Commit(); //Só a partir do comit os dados são salvos com uma transação } else { SqlTra.Rollback(); //Roolback cancela toda a transação, nada é salvo!! } } catch (Exception ex) { resp = ex.Message; } finally { if (SqlCon.State == ConnectionState.Open) { SqlCon.Close(); } } return(resp); }