예제 #1
0
        public virtual string GravarPesagem(TRegistro_LanPesagem val, TObjetoBanco banco)
        {
            string         retorno      = string.Empty;
            TCD_LanPesagem qtb_pesagem  = new TCD_LanPesagem();
            bool           pode_liberar = false;

            try
            {
                if (banco == null)
                {
                    pode_liberar = qtb_pesagem.CriarBanco_Dados(true);
                }
                else
                {
                    qtb_pesagem.Banco_Dados = banco;
                }
                retorno       = qtb_pesagem.GravaPesagem(val);
                val.Id_ticket = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(retorno, "@P_ID_TICKET"));
                //Gravar transbordo pesagem
                if (val.Tp_transbordobool)
                {
                    val.lTransbordo.ForEach(p => TCN_LanTransbordo.GravarTransbordo(p, qtb_pesagem.Banco_Dados));
                }
                if (pode_liberar)
                {
                    qtb_pesagem.Banco_Dados.Commit_Tran();
                }
                return(retorno);
            }
            catch (Exception ex)
            {
                if (pode_liberar)
                {
                    qtb_pesagem.Banco_Dados.RollBack_Tran();
                }
                throw new Exception(ex.Message);
            }
            finally
            {
                if (pode_liberar)
                {
                    qtb_pesagem.deletarBanco_Dados();
                }
            }
        }
예제 #2
0
        public virtual string DeletarPesagem(TRegistro_LanPesagem val, TObjetoBanco banco)
        {
            string         retorno      = string.Empty;
            TCD_LanPesagem qtb_pesagem  = new TCD_LanPesagem();
            bool           pode_liberar = false;

            try
            {
                if (banco == null)
                {
                    pode_liberar = qtb_pesagem.CriarBanco_Dados(true);
                }
                else
                {
                    qtb_pesagem.Banco_Dados = banco;
                }
                //Setar ST_Registro para C, pois a exclusão é somente lógica
                val.St_registro = "C";
                retorno         = qtb_pesagem.GravaPesagem(val);
                if (pode_liberar)
                {
                    qtb_pesagem.Banco_Dados.Commit_Tran();
                }
                return(retorno);
            }
            catch (Exception ex)
            {
                if (pode_liberar)
                {
                    qtb_pesagem.Banco_Dados.RollBack_Tran();
                }
                throw new Exception(ex.Message);
            }
            finally
            {
                if (pode_liberar)
                {
                    qtb_pesagem.deletarBanco_Dados();
                }
            }
        }