예제 #1
0
        //Método Anular
        public static string Anular(int id)
        {
            DEntrada Obj = new CamadaDados.DEntrada();

            Obj.IdEntrada = id;

            return(Obj.Anular(Obj));
        }
예제 #2
0
        //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);
        }
예제 #3
0
        //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);
        }