示例#1
0
 // passar o Usuario logado no sistema
 public ContratoFormaPagamentoLista_B(int usuarioIDLogado)
 {
     contratoFormaPagamento = new ContratoFormaPagamento(usuarioIDLogado);
 }
示例#2
0
        /// <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);
        }
示例#3
0
 // passar o Usuario logado no sistema
 public ContratoFormaPagamentoLista_B()
 {
     contratoFormaPagamento = new ContratoFormaPagamento();
 }