protected void btnSalvar_Click(object sender, EventArgs e)
        {
            TitulosBL titBL = new TitulosBL();
            Titulos titulos = new Titulos();

            titulos.Id = utils.ComparaIntComZero(hfId.Value);
            titulos.Numero = Convert.ToInt32(txtNumero.Text);
            titulos.Parcela = Convert.ToInt32(txtParcela.Text);
            titulos.Valor = Convert.ToDecimal(txtValor.Text);
            titulos.Pessoaid = utils.ComparaIntComNull(ddlPessoa.SelectedValue);
            titulos.Portadorid = utils.ComparaIntComNull(ddlPortador.SelectedValue);
            titulos.DataVencimento = Convert.ToDateTime(txtDataVencimento.Text);
            titulos.DataEmissao = Convert.ToDateTime(txtDataEmissao.Text);
            titulos.TipoDocumentoId = utils.ComparaIntComNull(ddlTipoDocumento.SelectedValue);
            titulos.Tipo = txtTipo.Text;
            titulos.DtPagamento = Convert.ToDateTime(txtDataPagamento.Text);
            titulos.ValorPago = Convert.ToDecimal(txtValorPago.Text);
            titulos.Obs = txtObs.Text;

            if (titulos.Id > 0)
                titBL.EditarBL(titulos);
            else
                titBL.InserirBL(titulos);

            Response.Redirect("viewTitulo.aspx");
        }
        public string EditarBL(EmprestimoMov instancia)
        {
            EmprestimoMovDA varDA = new EmprestimoMovDA();

            if (varDA.EditarDA(instancia))
            {
                DateTime hoje = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day);
                DateTime diaD = instancia.DataPrevistaEmprestimo ?? hoje;
                TimeSpan data = hoje - diaD;
                int diasAtraso = data.Days;

                if (utils.ComparaIntComZero(diasAtraso.ToString()) > 0)
                {
                    //cadastrar titulo da multa
                    decimal multa = utils.ComparaDecimalComZero(this.LerParametro(1, "F"));
                    Int32 tipoDocumento = utils.ComparaIntComZero(this.LerParametro(4, "F"));
                    Int32 portadorId = utils.ComparaIntComZero(this.LerParametro(5, "F"));

                    multa = multa * diasAtraso;
                    int prazo = utils.ComparaIntComZero(this.LerParametro(6, "F"));
                    prazo = (prazo < 1 ? 7 : prazo);

                    TitulosBL titBL = new TitulosBL();
                    Titulos titulos = new Titulos();

                    titulos.Numero = titBL.RetornaNovoNumero();
                    titulos.Parcela = 1;
                    titulos.Pessoaid = instancia.PessoaId;
                    titulos.DataEmissao = hoje;
                    titulos.DataVencimento = hoje.AddDays(prazo);
                    titulos.Valor = multa;
                    titulos.TipoDocumentoId = tipoDocumento;
                    titulos.Portadorid = portadorId;
                    titulos.Tipo = "R";

                    titulos.Obs = "Titulo gerado automaticamente, devido ao atraso de " + utils.ComparaIntComZero(diasAtraso.ToString())
                        + " dia(s) na devolução do exemplar " + instancia.Titulo;

                    if (titBL.InserirBL(titulos))
                        return "Exemplar devolvido com atraso. Foi gerado o título " + titulos.Numero + " no valor de R$" + titulos.Valor;

                }

                return "Devolução realizada com sucesso!";
            }
            else
                return "false";
        }
        protected void btnSalvar_Click(object sender, EventArgs e)
        {
            EmprestimosBL empBL = new EmprestimosBL();
            Emprestimos emp = new Emprestimos();

            emp.Id = utils.ComparaIntComZero(hfId.Value);

            emp.ExemplarId = utils.ComparaIntComZero(hfIdExemplar.Value);
            emp.PessoaId = utils.ComparaIntComZero(hfIdPessoa.Value);

            //a pessoa esta devendo?
            PessoasBL people = new PessoasBL();
            int fiado = people.EstaDevendo(emp.PessoaId);
            if (fiado > 0)
            {
                ExibirMensagem("Esta pessoa possui títulos em abeto com a Instituição e não pode emprestar este exemplar!");
                txtExemplar.Focus();
                return;  //throw new Exception(); //tem um jeito melhor de sair do metodo?
            }

            if (emp.Id > 0)
            { //editando == devolvendo
                if (this.Master.VerificaPermissaoUsuario("EDITAR"))
                {
                    empBL.EditarBL(emp);
                    //editar a movimentacao
                    EmprestimoMovBL emovBL = new EmprestimoMovBL();
                    EmprestimoMov mov = empBL.CarregaEmpNaoDevolvido(emp.Id);
                    if (mov.Id > 0)
                    {
                        DateTime hoje = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day);
                        mov.DataDevolucao = hoje;
                        if (hoje > mov.DataPrevistaEmprestimo)
                        { //entregou atrasado? I shall have your money...

                           DateTime diaD = mov.DataPrevistaEmprestimo ?? hoje; //convertendo DateTime? para DateTime com opcao de setar valor padrao
                            TimeSpan span = hoje - diaD;
                            int multa = this.LerParametro(1, "F");
                            double valor = multa * span.TotalDays;

                            //cadastrar titulo da multa
                            TitulosBL titBL = new TitulosBL();
                            Titulos titulos = new Titulos();

                            titulos.Numero = titBL.NovoNumero();
                            titulos.Parcela = 1;
                            titulos.Pessoaid = emp.PessoaId;
                            titulos.DataEmissao = hoje;

                            int prazo = this.LerParametro(6, "F");
                            prazo = (prazo < 1 ? 7: prazo);
                            titulos.DataVencimento = hoje.AddDays(prazo);
                            titulos.Valor = Convert.ToDecimal(valor);
                            titulos.TipoDocumentoId = this.LerParametro(4, "F");
                            ExemplaresBL exb = new ExemplaresBL();
                            Exemplares ex = exb.LerBL(emp.ExemplarId);

                            titulos.Obs = "Titulo gerado automaticamente, devido ao atraso de " + Convert.ToInt16(span.TotalDays).ToString()
                                + " dia(s) na devolução do exemplar " + emp.Id.ToString() + " - " + ex.Obras.Titulo;

                            titulos.Portadorid = this.LerParametro(5, "F");
                            titulos.Tipo = "R";

                            titBL.InserirBL(titulos);
                        }
                        emovBL.EditarBL(mov);
                    }
                }
                else
                    Response.Redirect("~/erroPermissao.aspx?nomeUsuario=" + ((Label)Master.FindControl("lblNomeUsuario")).Text + "&usuOperacao=operação", true);
            }
            else
            { //inserindo == emprestando
                if (this.Master.VerificaPermissaoUsuario("INSERIR"))
                {

                    //Quantidade máxima de exemplares emprestado:
                    int param = this.LerParametro(1, "B");
                    if (param >= 0)
                    {
                        if (empBL.QuantosLivrosEmprestados(emp.PessoaId) > param)
                        {

                            ExibirMensagem(lblDesPessoa.Text + " já atingiu o limite máximo de empréstimos simultâneos.");
                            txtPessoa.Focus();
                            return; //                            throw new Exception(); //tem um jeito melhor de sair do metodo?
                        }
                    }

                    int meuid = empBL.InserirBL(emp);
                    //inserir a movimentacao
                    EmprestimoMovBL emovBL = new EmprestimoMovBL();
                    EmprestimoMov mov = new EmprestimoMov();
                    mov.EmprestimoId = meuid;
                    mov.DataDevolucao = null;
                    mov.DataEmprestimo = Convert.ToDateTime(txtdataInicio.Text);
                    mov.DataPrevistaEmprestimo = Convert.ToDateTime(txtdataPrevisao.Text);
                    emovBL.InserirBL(mov);
                }
                else
                    Response.Redirect("~/erroPermissao.aspx?nomeUsuario=" + ((Label)Master.FindControl("lblNomeUsuario")).Text + "&usuOperacao=operação", true);
            }

            // usuarios.DtInicio = Convert.ToDateTime(txtDtInicio.Text);
            Response.Redirect("viewReserva.aspx");
        }
        protected void btnSalvar_Click(object sender, EventArgs e)
        {
            TitulosBL titBL = new TitulosBL();
            Titulos titulos = new Titulos();
            titulos.Id = utils.ComparaIntComZero(hfId.Value);
            titulos.Numero = utils.ComparaIntComZero(txtTitulo.Text);
            titulos.Parcela = utils.ComparaIntComZero(txtParcela.Text);
            titulos.Pessoaid = utils.ComparaIntComNull(hfIdPessoa.Value);
            titulos.DataEmissao = Convert.ToDateTime(txtDataEmissao.Text);
            titulos.DataVencimento = Convert.ToDateTime(txtDataVencimento.Text);
            titulos.Valor = utils.ComparaDecimalComZero(txtValor.Text);
            titulos.TipoDocumentoId = utils.ComparaIntComZero(ddlTipoDoc.SelectedValue);
            titulos.DtPagamento = utils.ComparaDataComNull(txtDtPagamento.Text);
            titulos.ValorPago = utils.ComparaDecimalComZero(txtVlrPago.Text);
            titulos.Obs = txtObs.Text;
            titulos.Tipo = "P";

            if (titulos.Id > 0)
            {

                if (titBL.EditarBL(titulos))
                    ExibirMensagem("Título atualizado com sucesso !");
                else
                    ExibirMensagem("Não foi possível atualizar o título. Revise as informações.");

            }
            else
            {
                if (titBL.InserirBL(titulos))
                {
                    ExibirMensagem("Título gravado com sucesso !");
                    LimparCampos();
                }
                else
                    ExibirMensagem("Não foi possível gravar o título. Revise as informações.");

            }
        }
        protected void btnSalvar_Click(object sender, EventArgs e)
        {
            TitulosBL titBL = new TitulosBL();
            Titulos titulos = new Titulos();

            titulos.Id = utils.ComparaIntComZero(hfId.Value);
            titulos.Numero = utils.ComparaIntComZero(txtNumero.Text);
            titulos.Parcela = utils.ComparaIntComZero(txtParcela.Text);
            titulos.Valor = utils.ComparaIntComZero(txtValor.Text);
            titulos.Pessoaid = utils.ComparaIntComZero(hfIdPessoa.Value);
            titulos.Portadorid = utils.ComparaIntComZero(hfIdPortador.Value);
            titulos.DataVencimento = utils.ComparaDataComNull(txtDataVencimento.Text);
            titulos.DataEmissao = utils.ComparaDataComNull(txtDataEmissao.Text);
            titulos.TipoDocumentoId = utils.ComparaIntComZero(hfIdTipoDocumento.Value);
            titulos.Tipo = txtTipo.Text;

            if (titulos.Id > 0)
            {
                if (this.Master.VerificaPermissaoUsuario("EDITAR"))
                   titBL.EditarBL(titulos);
                else
                    Response.Redirect("~/erroPermissao.aspx?nomeUsuario=" + ((Label)Master.FindControl("lblNomeUsuario")).Text + "&usuOperacao=operação", true);

            }
            else
            {
                if (this.Master.VerificaPermissaoUsuario("INSERIR"))
                    titBL.InserirBL(titulos);
                else
                    Response.Redirect("~/erroPermissao.aspx?nomeUsuario=" + ((Label)Master.FindControl("lblNomeUsuario")).Text + "&usuOperacao=operação", true);

            }

            Response.Redirect("viewTitulos.aspx");
        }