// passar o Usuario logado no sistema public ContratoFormaPagamentoLista_B(int usuarioIDLogado) { contratoFormaPagamento = new ContratoFormaPagamento(usuarioIDLogado); }
/// <summary> /// Gravação do Contrato /// </summary> /// <param name="estruturaContrato">Struct do Contrato</param> /// <param name="usuarioIDLogado">Usuário que está utilizando o sistema</param> /// <returns></returns> public override ClientObjects.EstruturaContrato GravarContrato(ClientObjects.EstruturaContrato estruturacontrato) { BD bdGravar = null; BD bdLeitura = null; ContratoPapel contratoPapel = null; ContratoFormaPagamento contratoFormaPagamento = null; try { bdLeitura = new BD(); bdGravar = new BD(); bdGravar.IniciarTransacao(); #region Gravação do Contrato if (estruturacontrato.Nome.Trim() == "") { throw new ContratoException("O nome do contrato não pode ser vazio."); } if (estruturacontrato.Codigo.Trim() == "") { throw new ContratoException("O código do contrato não pode ser vazio."); } if (Convert.ToInt32(estruturacontrato.TipoComissao) == 0) { throw new ContratoException("O tipo de comissão não é válido."); } if (Convert.ToInt32(estruturacontrato.TipoPapelPagamento) == 0) { throw new ContratoException("O tipo de pagamento não é válido."); } if (Convert.ToInt32(estruturacontrato.TipoRepasse) == 0) { throw new ContratoException("O tipo de repasse não é válido."); } this.Nome.Valor = estruturacontrato.Nome; this.Codigo.Valor = estruturacontrato.Codigo; this.Observacoes.Valor = estruturacontrato.Observacoes; this.TipoComissao.Valor = Convert.ToInt32(estruturacontrato.TipoComissao); this.TipoPapelPagamento.Valor = Convert.ToInt32(estruturacontrato.TipoPapelPagamento); this.TipoRepasse.Valor = Convert.ToInt32(estruturacontrato.TipoRepasse); this.PapelCobrancaUtilizacao.Valor = estruturacontrato.PapelCobrancaUtilizacao; this.PapelComHolografia.Valor = estruturacontrato.PapelComHolografia; this.MaximoParcelas.Valor = estruturacontrato.MaximoParcelas; if (estruturacontrato.ID == 0) { this.EmpresaID.Valor = estruturacontrato.EmpresaID; this.UsuarioID.Valor = estruturacontrato.CriadorID; this.DataCriacao.Valor = DateTime.Now; if (!this.Inserir(bdGravar)) { throw new ContratoException("Não foi possível incluir o contrato."); } } else { this.Control.ID = estruturacontrato.ID; if (!this.Atualizar(bdGravar)) { throw new ContratoException("Não foi possível atualizar o contrato."); } } // Captura o ID do Contrato estruturacontrato.ID = this.Control.ID; #endregion #region Gravação dos papeis foreach (ClientObjects.EstruturaContratoPapel itemContratoPapel in estruturacontrato.Papeis) { contratoPapel = new ContratoPapel(this.Control.UsuarioID); contratoPapel.ContratoID.Valor = estruturacontrato.ID; contratoPapel.CanalTipoID.Valor = itemContratoPapel.CanalTipoID; contratoPapel.CortesiaValor.Valor = itemContratoPapel.CortesiaValor; contratoPapel.IngressoNormalValor.Valor = itemContratoPapel.IngressoNormalValor; contratoPapel.PreImpressoValor.Valor = itemContratoPapel.PreImpressoValor; if (itemContratoPapel.ID == 0) { if (!contratoPapel.Inserir(bdGravar)) { throw new ContratoPapelException("Não foi possível gravar o papel do contrato."); } } else { contratoPapel.Control.ID = itemContratoPapel.ID; if (!contratoPapel.Atualizar(bdGravar)) { throw new ContratoPapelException("Não foi possível gravar o papel do contrato."); } } } #endregion #region Gravação das Formas de Pagamento for (int contadorFormaPagamento = 0; contadorFormaPagamento <= estruturacontrato.FormaPagamento.Count - 1; contadorFormaPagamento++) { using (IDataReader oDataReader = bdLeitura.Consulta("" + "SELECT " + " tFormaPagamento.ID AS FormaPagamentoID, "+ " ISNULL(tContratoFormaPagamento.ID, 0) AS ContratoFormaPagamentoID " + "FROM tFormaPagamento (NOLOCK) " + "LEFT JOIN tContratoFormaPagamento (NOLOCK) ON tContratoFormaPagamento.FormaPagamentoID = tFormaPagamento.ID AND tContratoFormaPagamento.ContratoID = " + this.Control.ID + " " + "WHERE tFormaPagamento.FormaPagamentoTipoID = " + estruturacontrato.FormaPagamento[contadorFormaPagamento].FormaPagamentoTipoID + "")) { while (oDataReader.Read()) { contratoFormaPagamento = new ContratoFormaPagamento(this.Control.UsuarioID); contratoFormaPagamento.ContratoID.Valor = this.Control.ID; contratoFormaPagamento.FormaPagamentoID.Valor = bdLeitura.LerInt("FormaPagamentoID"); contratoFormaPagamento.Dias.Valor = estruturacontrato.FormaPagamento[contadorFormaPagamento].Dias; contratoFormaPagamento.Taxa.Valor = estruturacontrato.FormaPagamento[contadorFormaPagamento].TaxaAdm; if (bdLeitura.LerInt("ContratoFormaPagamentoID") == 0) { if (!contratoFormaPagamento.Inserir(bdGravar)) { throw new ContratoFormaPagamentoException("Não foi possível incluir a forma de pagamento."); } } else { contratoFormaPagamento.Control.ID = bdLeitura.LerInt("ContratoFormaPagamentoID"); if (!contratoFormaPagamento.Atualizar(bdGravar)) { throw new ContratoFormaPagamentoException("Não foi possível alterar a forma de pagamento."); } } } } } #endregion bdGravar.FinalizarTransacao(); } catch (Exception ex) { if (bdGravar != null) { bdGravar.DesfazerTransacao(); } throw ex; } finally { if (bdGravar != null) { bdGravar.Fechar(); bdGravar = null; } if (bdLeitura != null) { bdLeitura.Fechar(); bdLeitura = null; } contratoPapel = null; } return(estruturacontrato); }
// passar o Usuario logado no sistema public ContratoFormaPagamentoLista_B() { contratoFormaPagamento = new ContratoFormaPagamento(); }