public NotaPromissoria[] GetByLiberacao(uint idLiberarPedido) { LiberarPedido lp = LiberarPedidoDAO.Instance.GetElementByPrimaryKey(idLiberarPedido); List <NotaPromissoria> retorno = new List <NotaPromissoria>(); var contasReceber = ContasReceberDAO.Instance.GetByLiberacaoPedido(idLiberarPedido, true); foreach (ContasReceber c in contasReceber) { NotaPromissoria nova = new NotaPromissoria(); nova.IdLiberarPedido = idLiberarPedido; nova.IdLoja = FuncionarioDAO.Instance.ObtemIdLoja(lp.IdFunc); nova.IdCliente = lp.IdCliente; nova.DataVenc = c.DataVec; nova.Valor = c.ValorVec; nova.ValorFatura = contasReceber.Sum(f => f.ValorVec); nova.Juros = c.Juros; nova.NumeroParc = c.NumParc; nova.NumeroParcMax = c.NumParcMax; retorno.Add(nova); } return(retorno.ToArray()); }
/// <summary> /// Inicia uma nova instância da classe <see cref="ListaDto"/>. /// </summary> /// <param name="liberacao">A model de liberação.</param> internal ListaDto(LiberarPedido liberacao) { this.Id = (int)liberacao.IdLiberarPedido; this.Cliente = new IdNomeDto { Id = (int)liberacao.IdCliente, Nome = liberacao.NomeCliente, }; this.Funcionario = new IdNomeDto { Id = null, Nome = liberacao.NomeFunc, }; this.DescricaoPagamento = liberacao.DescrPagto; this.Situacao = liberacao.DescrSituacao; this.DataLiberacao = liberacao.DataLiberacao; this.ValorIcms = liberacao.ValorIcms; this.Total = liberacao.Total; this.NotasGeradas = liberacao.NotasFiscaisGeradas; this.Permissoes = new PermissoesDto { Imprimir = liberacao.ImprimirRelatorioLiberacaoVisible, ExibirNotaPromissoria = liberacao.ExibirNotaPromissoria, Cancelar = liberacao.CancelarVisible, ExibirBoleto = liberacao.BoletoVisivel, ExibirReenvioEmail = liberacao.ExibirReenvioEmail, ExibirNfeGerada = LiberarPedidoDAO.Instance.TemNfe(liberacao.IdLiberarPedido) && liberacao.Situacao != (int)LiberarPedido.SituacaoLiberarPedido.Cancelado && PedidoConfig.LiberarPedido, LogAlteracoes = LogAlteracaoDAO.Instance.TemRegistro(LogAlteracao.TabelaAlteracao.LiberacaoReenvioEmail, liberacao.IdLiberarPedido, null), }; }
/// <summary> /// Cria um cheque, na tabela cheques_liberar_pedido, a partir de uma string. /// </summary> public void InserirPelaString(GDASession sessao, LiberarPedido liberarPedido, IEnumerable <string> dadosChequesRecebimento) { if ((dadosChequesRecebimento?.Where(f => !string.IsNullOrWhiteSpace(f)).Count()).GetValueOrDefault() == 0) { return; } foreach (var dadosChequeRecebimento in dadosChequesRecebimento.Where(f => !string.IsNullOrWhiteSpace(f))) { // Divide o cheque para pegar suas propriedades. var propriedadesCheque = dadosChequeRecebimento.Split('\t'); var tipoCheque = ChequesDAO.Instance.GetTipo(propriedadesCheque[0]); // Insere cheque no BD. Insert(sessao, new ChequesLiberarPedido { IdLiberarPedido = (int)liberarPedido.IdLiberarPedido, IdLoja = propriedadesCheque[22].StrParaInt(), // Recupera a conta bancária através da agência e conta do cheque, caso a conta bancária não tenha sido informada e o tipo do cheque seja Próprio. IdContaBanco = tipoCheque == 1 && propriedadesCheque[1].StrParaIntNullable().GetValueOrDefault() == 0 ? (int?)ContaBancoDAO.Instance.GetIdByAgenciaConta(propriedadesCheque[16], propriedadesCheque[17]) : propriedadesCheque[1].StrParaIntNullable(), CpfCnpj = propriedadesCheque[21].Replace(".", string.Empty).Replace("-", string.Empty).Replace("/", string.Empty), Num = propriedadesCheque[2].StrParaInt(), DigitoNum = propriedadesCheque[3], Banco = propriedadesCheque[15], Agencia = propriedadesCheque[16], Conta = propriedadesCheque[17], Titular = propriedadesCheque[4], Valor = decimal.Parse(propriedadesCheque[5], NumberStyles.AllowDecimalPoint), DataVenc = DateTime.Parse(propriedadesCheque[6]), Origem = propriedadesCheque[8].StrParaInt(), Tipo = tipoCheque, Obs = propriedadesCheque[19] }); } }
public void DesvinculaDepositoNaoIdentificado(GDASession sessao, Pedido pedido, LiberarPedido liberarPedido, Acerto acerto, ContasReceber contaR, Obra obra, Sinal sinal, TrocaDevolucao trocaDevolucao, DevolucaoPagto devolucaoPagamento, uint acertoCheque) { uint?idPedido = pedido != null ? pedido.IdPedido : (uint?)null; uint?idLiberarPedido = liberarPedido != null ? liberarPedido.IdLiberarPedido : (uint?)null; uint?idAcerto = acerto != null ? acerto.IdAcerto : (uint?)null; uint?idContaR = contaR != null ? contaR.IdContaR : (uint?)null; uint?idObra = obra != null ? obra.IdObra : (uint?)null; uint?idSinal = sinal != null ? sinal.IdSinal : (uint?)null; uint?idTrocaDevolucao = trocaDevolucao != null ? trocaDevolucao.IdTrocaDevolucao : (uint?)null; uint?idDevolucaoPagto = devolucaoPagamento != null ? devolucaoPagamento.IdDevolucaoPagto : (uint?)null; uint?idAcertoCheque = acertoCheque > 0 ? acertoCheque : (uint?)null; if (!idPedido.HasValue && !idLiberarPedido.HasValue && !idAcerto.HasValue && !idContaR.HasValue && !idObra.HasValue && !idSinal.HasValue && !idTrocaDevolucao.HasValue && !idDevolucaoPagto.HasValue && !idAcertoCheque.HasValue) { throw new Exception("Nenhuma conta para desvincular informada."); } string depositos = GetIdsForDesvincular(sessao, idPedido, idLiberarPedido, idAcerto, idContaR, idObra, idSinal, idTrocaDevolucao, idDevolucaoPagto, idAcertoCheque); if (string.IsNullOrEmpty(depositos)) { return; } string sql = @"UPDATE deposito_nao_identificado SET idPedido=null, idLiberarPedido=null, idAcerto=null, idContaR=null, idObra=null, idSinal=null, idTrocaDevolucao=null, idDevolucaoPagto=null, idAcertoCheque=null, situacao=" + (int)DepositoNaoIdentificado.SituacaoEnum.Ativo + @" WHERE idDepositoNaoIdentificado in (" + depositos + ")"; objPersistence.ExecuteCommand(sessao, sql); }
/// <summary> /// Faz o vinculo do deposito. /// </summary> public void VinculaDepositoNaoIdentificado(GDASession sessao, uint idDepositoNaoIdentificado, Pedido pedido, LiberarPedido liberarPedido, Acerto acerto, ContasReceber contaR, Obra obra, Sinal sinal, TrocaDevolucao trocaDevolucao, uint?idDevolucaoPagto, uint?idAcertoCheque) { uint?idPedido = pedido != null && pedido.IdPedido > 0 ? pedido.IdPedido : (uint?)null; uint?idLiberarPedido = liberarPedido != null ? liberarPedido.IdLiberarPedido : (uint?)null; uint?idAcerto = acerto != null ? acerto.IdAcerto : (uint?)null; uint?idContaR = contaR != null ? contaR.IdContaR : (uint?)null; uint?idObra = obra != null ? obra.IdObra : (uint?)null; uint?idSinal = sinal != null ? sinal.IdSinal : (uint?)null; uint?idTrocaDevolucao = trocaDevolucao != null ? trocaDevolucao.IdTrocaDevolucao : (uint?)null; if (idDepositoNaoIdentificado == 0) { throw new Exception("Depósito não informado."); } if (!idPedido.HasValue && !idLiberarPedido.HasValue && !idAcerto.HasValue && !idContaR.HasValue && !idObra.HasValue && !idSinal.HasValue && !idTrocaDevolucao.HasValue && !idDevolucaoPagto.HasValue && !idAcertoCheque.HasValue) { throw new Exception("Nenhuma conta para vínculo informada."); } DepositoNaoIdentificado dni = GetElement(sessao, idDepositoNaoIdentificado); if (dni == null) { throw new Exception("Depósito não encontrado."); } /* Chamado 56553. */ if (dni.Situacao != DepositoNaoIdentificado.SituacaoEnum.Ativo) { throw new Exception("Para que o DNI seja vinculado a um recebimento, ele deve estar na situação Ativo."); } dni.IdPedido = idPedido; dni.IdLiberarPedido = idLiberarPedido; dni.IdAcerto = idAcerto; dni.IdContaR = idContaR; dni.IdObra = idObra; dni.IdSinal = idSinal; dni.IdTrocaDevolucao = idTrocaDevolucao; dni.IdDevolucaoPagto = idDevolucaoPagto; dni.IdAcertoCheque = idAcertoCheque; dni.Situacao = !idDevolucaoPagto.HasValue ? DepositoNaoIdentificado.SituacaoEnum.EmUso : DepositoNaoIdentificado.SituacaoEnum.Ativo; Update(sessao, dni); uint?idCliente = null; // Atualiza o cliente do DNI if (idPedido > 0) { idCliente = pedido.IdCli; } else if (idLiberarPedido > 0) { idCliente = liberarPedido.IdCliente; } else if (idAcerto > 0) { idCliente = acerto.IdCli; } else if (idContaR > 0) { idCliente = contaR.IdCliente; } else if (idObra > 0) { idCliente = obra.IdCliente; } else if (idSinal > 0) { idCliente = sinal.IdCliente; } else if (idTrocaDevolucao > 0) { idCliente = trocaDevolucao.IdCliente; } if (idCliente > 0) { objPersistence.ExecuteCommand(sessao, "Update mov_banco Set idCliente=" + idCliente + " Where idDepositoNaoIdentificado=" + dni.IdDepositoNaoIdentificado); } }
/// <summary> /// (APAGAR: quando alterar para utilizar transação) /// </summary> public void VinculaDepositoNaoIdentificado(uint idDepositoNaoIdentificado, Pedido pedido, LiberarPedido liberarPedido, Acerto acerto, ContasReceber contaR, Obra obra, Sinal sinal, TrocaDevolucao trocaDevolucao, uint?idDevolucaoPagto, uint?idAcertoCheque) { VinculaDepositoNaoIdentificado(null, idDepositoNaoIdentificado, pedido, liberarPedido, acerto, contaR, obra, sinal, trocaDevolucao, idDevolucaoPagto, idAcertoCheque); }
/// <summary> /// Cria o Log de Cancelamento para a liberação de pedido. /// </summary> /// <param name="liberacaoPedido"></param> /// <param name="motivo"></param> /// <param name="manual"></param> public void LogLiberarPedido(GDASession sessao, LiberarPedido liberacaoPedido, string motivo, bool manual) { InserirLog(sessao, UserInfo.GetUserInfo.CodUser, LogCancelamento.TabelaCancelamento.LiberarPedido, liberacaoPedido.IdLiberarPedido, liberacaoPedido, motivo, manual); }
/// <summary> /// Faz o vinculo do deposito. /// </summary> public void VincularCartaoNaoIdentificado(GDASession sessao, uint idCartaoNaoIdentificado, Pedido pedido, LiberarPedido liberarPedido, Acerto acerto, ContasReceber contaR, Obra obra, Sinal sinal, TrocaDevolucao trocaDevolucao, uint?idDevolucaoPagto, uint?idAcertoCheque) { int?idPedido = pedido != null && pedido.IdPedido > 0 ? (int)pedido.IdPedido : (int?)null; int?idLiberarPedido = liberarPedido != null ? (int)liberarPedido.IdLiberarPedido : (int?)null; int?idAcerto = acerto != null ? (int)acerto.IdAcerto : (int?)null; int?idContaR = contaR != null ? (int)contaR.IdContaR : (int?)null; int?idObra = obra != null ? (int)obra.IdObra : (int?)null; int?idSinal = sinal != null ? (int)sinal.IdSinal : (int?)null; int?idTrocaDevolucao = trocaDevolucao != null ? (int)trocaDevolucao.IdTrocaDevolucao : (int?)null; if (idCartaoNaoIdentificado == 0) { throw new Exception("Cartão não identificado não informado."); } if (!idPedido.HasValue && !idLiberarPedido.HasValue && !idAcerto.HasValue && !idContaR.HasValue && !idObra.HasValue && !idSinal.HasValue && !idTrocaDevolucao.HasValue && !idDevolucaoPagto.HasValue && !idAcertoCheque.HasValue) { throw new Exception("Nenhuma conta para vínculo informada."); } var cni = GetElement(sessao, idCartaoNaoIdentificado); if (cni == null) { throw new Exception("Cartão não identificado não encontrado."); } cni.IdPedido = idPedido; cni.IdLiberarPedido = idLiberarPedido; cni.IdAcerto = idAcerto; cni.IdContaR = idContaR; cni.IdObra = idObra; cni.IdSinal = idSinal; cni.IdTrocaDevolucao = idTrocaDevolucao; cni.IdDevolucaoPagto = (int?)idDevolucaoPagto; cni.IdAcertoCheque = (int?)idAcertoCheque; cni.Situacao = !idDevolucaoPagto.HasValue ? SituacaoCartaoNaoIdentificado.EmUso : SituacaoCartaoNaoIdentificado.Ativo; Update(sessao, cni); uint?idCliente = null; // Atualiza o cliente do DNI if (idPedido > 0) { idCliente = pedido.IdCli; } else if (idLiberarPedido > 0) { idCliente = liberarPedido.IdCliente; } else if (idAcerto > 0) { idCliente = acerto.IdCli; } else if (idContaR > 0) { idCliente = contaR.IdCliente; } else if (idObra > 0) { idCliente = obra.IdCliente; } else if (idSinal > 0) { idCliente = sinal.IdCliente; } else if (idTrocaDevolucao > 0) { idCliente = trocaDevolucao.IdCliente; } var contas = ContasReceberDAO.Instance.RecuperarContaspeloIdCartaoNaoIdentificado(sessao, cni.IdCartaoNaoIdentificado); foreach (var item in contas) { item.IdCliente = idCliente.GetValueOrDefault(); item.IdPedido = (uint?)idPedido; item.IdLiberarPedido = (uint?)idLiberarPedido; item.IdAcerto = (uint?)idAcerto; item.IdContaRRef = idContaR; item.IdObra = (uint?)idObra; item.IdSinal = (uint?)idSinal; item.IdTrocaDevolucao = (uint?)idTrocaDevolucao; item.IdDevolucaoPagto = idDevolucaoPagto; item.IdAcertoCheque = idAcertoCheque; ContasReceberDAO.Instance.Update(sessao, item); } var cxDiario = CaixaDiarioDAO.Instance.ObterMovimentacoesPorCartaoNaoIdentificado(sessao, cni.IdCartaoNaoIdentificado); foreach (var item in cxDiario) { item.IdCliente = idCliente.GetValueOrDefault(); item.IdPedido = (uint?)idPedido; item.IdLiberarPedido = (uint?)idLiberarPedido; item.IdAcerto = (uint?)idAcerto; item.IdContaR = (uint?)idContaR; item.IdObra = (uint?)idObra; item.IdSinal = (uint?)idSinal; item.IdTrocaDevolucao = (uint?)idTrocaDevolucao; item.IdDevolucaoPagto = idDevolucaoPagto; item.IdAcertoCheque = idAcertoCheque; CaixaDiarioDAO.Instance.Update(sessao, item); } var cxGeral = CaixaGeralDAO.Instance.ObterMovimentacoesPorCartaoNaoIdentificado(sessao, cni.IdCartaoNaoIdentificado); foreach (var item in cxGeral) { item.IdCliente = idCliente.GetValueOrDefault(); item.IdPedido = (uint?)idPedido; item.IdLiberarPedido = (uint?)idLiberarPedido; item.IdAcerto = (uint?)idAcerto; item.IdContaR = (uint?)idContaR; item.IdObra = (uint?)idObra; item.IdSinal = (uint?)idSinal; item.IdTrocaDevolucao = (uint?)idTrocaDevolucao; item.IdDevolucaoPagto = idDevolucaoPagto; item.IdAcertoCheque = idAcertoCheque; CaixaGeralDAO.Instance.Update(sessao, item); } var movs = MovBancoDAO.Instance.ObterMovimentacoesPorCartaoNaoIdentificado(sessao, cni.IdCartaoNaoIdentificado); foreach (var item in movs) { item.IdCliente = idCliente.GetValueOrDefault(); item.IdPedido = (uint?)idPedido; item.IdLiberarPedido = (uint?)idLiberarPedido; item.IdAcerto = (uint?)idAcerto; item.IdContaR = (uint?)idContaR; item.IdObra = (uint?)idObra; item.IdSinal = (uint?)idSinal; item.IdTrocaDevolucao = (uint?)idTrocaDevolucao; item.IdDevolucaoPagto = idDevolucaoPagto; item.IdAcertoCheque = idAcertoCheque; MovBancoDAO.Instance.Update(sessao, item); } }
protected override Colosoft.Reports.IReportDocument LoadReport(ref LocalReport report, ref List <ReportParameter> lstParam, HttpRequest PageRequest, System.Collections.Specialized.NameValueCollection Request, object[] outrosParametros, LoginUsuario login, string diretorioLogotipos) { Glass.Data.RelModel.Recibo recibo; // Verifica qual relatório será chamado switch (Request["rel"]) { case "recibo": if (string.IsNullOrEmpty(outrosParametros[0].ToString()) || string.IsNullOrEmpty(outrosParametros[1].ToString())) { return(null); } var idOrcamento = Request["idOrcamento"] != "0" && Request["idOrcamento"] != "" ? Request["idOrcamento"].StrParaUint() : 0; var idPedido = Request["idPedido"] != "0" && Request["idPedido"] != "" ? Request["idPedido"].StrParaUint() : 0; var idLiberacao = Request["idLiberacao"] != "0" && Request["idLiberacao"] != "" ? Request["idLiberacao"].StrParaUint() : 0; var idsContaR = outrosParametros[1].ToString(); if (idsContaR == null || idsContaR == "0") { if (PedidoConfig.LiberarPedido) { var contasRec = ContasReceberDAO.Instance.GetByLiberacaoPedido(idLiberacao, true); if (contasRec != null && contasRec.Count > 0) { idsContaR = string.Join(",", contasRec.Select(f => f.IdContaR.ToString())); } } else { var contasRec = ContasReceberDAO.Instance.GetByPedido(null, idPedido, false, true); if (contasRec != null && contasRec.Count > 0) { idsContaR = string.Join(",", contasRec.Select(f => f.IdContaR.ToString())); } } } var orcamento = new Data.Model.Orcamento(); var pedido = new Data.Model.Pedido(); var liberacao = new LiberarPedido(); var nomeCliente = string.Empty; var nomeVendedor = string.Empty; var idLoja = new uint(); var total = new decimal(); #region Orçamento // Recupera os dados do orçamento. if (idOrcamento > 0) { orcamento = OrcamentoDAO.Instance.GetElementByPrimaryKey(idOrcamento); if (orcamento.IdCliente > 0) { nomeCliente = ClienteDAO.Instance.GetNome(orcamento.IdCliente.Value); } else { nomeCliente = orcamento.NomeCliente; } nomeVendedor = orcamento.IdFuncionario > 0 ? FuncionarioDAO.Instance.GetNome(orcamento.IdFuncionario.Value) : login.Nome; idLoja = orcamento.IdLoja > 0 ? orcamento.IdLoja.Value : login.IdLoja; total = orcamento.Total; idPedido = 0; idLiberacao = 0; } #endregion #region Pedido // Recupera os dados do pedido. else if (idPedido > 0) { pedido = PedidoDAO.Instance.GetElementByPrimaryKey(idPedido); nomeCliente = ClienteDAO.Instance.GetNome(pedido.IdCli); nomeVendedor = pedido.IdFunc > 0 ? FuncionarioDAO.Instance.GetNome(pedido.IdFunc) : login.Nome; idLoja = pedido.IdPedido > 0 ? pedido.IdLoja : login.IdLoja; total = pedido.Total; // Se houver pcp, usa o total do mesmo var totalEspelho = PedidoEspelhoDAO.Instance.ObtemTotal(idPedido); if (totalEspelho > 0) { total = totalEspelho; } idLiberacao = 0; } #endregion #region Liberação // Recupera os dados da liberação. else if (idLiberacao > 0) { liberacao = LiberarPedidoDAO.Instance.GetElement(idLiberacao); nomeCliente = ClienteDAO.Instance.GetNome(liberacao.IdCliente); nomeVendedor = !string.IsNullOrEmpty(liberacao.NomeFunc) ? liberacao.NomeFunc : login.Nome; idLoja = (uint)FuncionarioDAO.Instance.GetElementByPrimaryKey(liberacao.IdFunc).IdLoja; total = liberacao.Total; } #endregion recibo = new Data.RelModel.Recibo(); recibo.Tipo = Conversoes.StrParaInt(Request["referente"]); recibo.IdOrcamento = orcamento.IdOrcamento; recibo.IdPedido = pedido.IdPedido; recibo.IdLiberarPedido = liberacao.IdLiberarPedido; recibo.Cliente = nomeCliente; recibo.IdLoja = idLoja; recibo.SinalPedido = pedido.IdPedido > 0 ? pedido.ValorEntrada + pedido.ValorPagamentoAntecipado : 0; recibo.Total = total; recibo.Vendedor = nomeVendedor; recibo.Items = outrosParametros[0].ToString(); recibo.NumParcelas = idsContaR; recibo.ValorReferente = Request["valorRef"]; recibo.MotivoReferente = Request["motivoRef"]; report.ReportPath = Data.Helper.Utils.CaminhoRelatorio("Relatorios/Genericos/ModeloRecibo/rptRecibo{0}.rdlc"); if (report.ReportPath == "Relatorios/Genericos/ModeloRecibo/rptReciboVidrosEVidros.rdlc") { lstParam.Add(new ReportParameter("ImagemCabecalho", "file:///" + PageRequest.PhysicalApplicationPath.Replace('\\', '/') + "Images/cabecalhoOrcamentoVivrosEVidros.jpg")); } if (ReciboConfig.Relatorio.UsarParcelasPedido && pedido.IdPedido > 0) { report.DataSources.Add(new ReportDataSource("ParcelasPedido", pedido.NumParc > 0 ? ParcelasPedidoDAO.Instance.GetByPedido(pedido.IdPedido) : new ParcelasPedido[0])); } report.DataSources.Add(new ReportDataSource("Recibo", new Data.RelModel.Recibo[] { recibo })); break; case "reciboPgAntec": Sinal sinal = SinalDAO.Instance.GetSinalDetails(Glass.Conversoes.StrParaUint(Request["idPgAntecipado"])); Cliente clientePgto = ClienteDAO.Instance.GetElementByPrimaryKey(sinal.IdCliente); recibo = new Data.RelModel.Recibo(); recibo.Tipo = Glass.Conversoes.StrParaInt(Request["referente"]); recibo.IdSinal = sinal.IdSinal; recibo.Cliente = clientePgto.Nome; recibo.IdLoja = (uint)FuncionarioDAO.Instance.GetElementByPrimaryKey(sinal.UsuCad).IdLoja; recibo.Total = sinal.TotalSinal; recibo.Vendedor = FuncionarioDAO.Instance.GetNome(sinal.UsuCad); recibo.Items = outrosParametros[0].ToString(); recibo.NumParcelas = outrosParametros[1].ToString(); recibo.ValorReferente = Request["valorRef"]; recibo.MotivoReferente = Request["motivoRef"]; report.ReportPath = Glass.Data.Helper.Utils.CaminhoRelatorio("Relatorios/Genericos/ModeloRecibo/rptRecibo{0}.rdlc"); report.DataSources.Add(new ReportDataSource("Recibo", new Data.RelModel.Recibo[] { recibo })); break; case "reciboAcerto": uint idAcerto = Request["idAcerto"] != "0" && Request["idAcerto"] != "" ? Glass.Conversoes.StrParaUint(Request["idAcerto"]) : 0; if (idAcerto > 0 && !AcertoDAO.Instance.Exists(idAcerto)) { Response.Write("O acerto informado não existe."); return(null); } Acerto acerto = AcertoDAO.Instance.GetByCliList(Convert.ToInt32(idAcerto), 0, 0, 0, null, null, 0, 0, 0, 0, null, 0, 10)[0]; recibo = new Data.RelModel.Recibo(); recibo.Tipo = Glass.Conversoes.StrParaInt(Request["referente"]); recibo.IdAcerto = acerto.IdAcerto; recibo.Cliente = ClienteDAO.Instance.GetNome(acerto.IdCli); recibo.IdLoja = (uint)FuncionarioDAO.Instance.GetElementByPrimaryKey(acerto.UsuCad).IdLoja; recibo.Total = acerto.TotalAcerto; recibo.Vendedor = FuncionarioDAO.Instance.GetNome(acerto.UsuCad); recibo.Items = outrosParametros[0].ToString(); recibo.NumParcelas = outrosParametros[1].ToString(); recibo.ValorReferente = Request["valorRef"]; recibo.MotivoReferente = Request["motivoRef"]; report.ReportPath = Glass.Data.Helper.Utils.CaminhoRelatorio("Relatorios/Genericos/ModeloRecibo/rptRecibo{0}.rdlc"); report.DataSources.Add(new ReportDataSource("Recibo", new Data.RelModel.Recibo[] { recibo })); break; case "termoaceitacao": if (!PedidoDAO.Instance.PedidoExists(Glass.Conversoes.StrParaUint(Request["ped"]))) { Response.Write("O pedido informado não existe."); return(null); } Glass.Data.Model.Pedido pedTermo = PedidoDAO.Instance.GetElement(Glass.Conversoes.StrParaUint(Request["ped"])); if (pedTermo.IdOrcamento == null) { pedTermo.IdOrcamento = 0; } pedTermo.InfoAdicional = Request["infAdic"]?.Replace("\\n", "\n") ?? string.Empty; report.ReportPath = Data.Helper.Utils.CaminhoRelatorio("Relatorios/Genericos/rptAceitacao{0}.rdlc"); report.DataSources.Add(new ReportDataSource("PedidoRpt", PedidoRptDAL.Instance.CopiaLista(new Glass.Data.Model.Pedido[] { pedTermo }, PedidoRpt.TipoConstrutor.TermoAceitacao, false, login))); break; case "riscoquebra": // Verifica se pedido passado existe if (!PedidoDAO.Instance.PedidoExists(Glass.Conversoes.StrParaUint(Request["idPedido"]))) { Response.Write("O pedido informado não existe."); return(null); } var risco = new Data.RelModel.RiscoQuebra(); Glass.Data.Model.Pedido ped = PedidoDAO.Instance.GetElementByPrimaryKey(Glass.Conversoes.StrParaUint(Request["idPedido"])); Cliente cli = ClienteDAO.Instance.GetElementByPrimaryKey(ped.IdCli); cli.Cidade = CidadeDAO.Instance.GetNome((uint?)cli.IdCidade); risco.IdPedido = ped.IdPedido; risco.NomeLoja = LojaDAO.Instance.GetElementByPrimaryKey(ped.IdLoja).NomeFantasia; risco.CidadeData = LojaDAO.Instance.GetElement(ped.IdLoja).Cidade + " " + Formatacoes.DataExtenso(DateTime.Now); risco.Cliente = cli.Nome; risco.Endereco = !string.IsNullOrEmpty(ped.LocalizacaoObra) ? ped.LocalizacaoObra : cli.EnderecoCompleto; risco.Telefone = cli.Telefone; risco.Texto = Request["texto"]; report.ReportPath = Data.Helper.Utils.CaminhoRelatorio("Relatorios/Genericos/rptRiscoQuebra{0}.rdlc"); report.DataSources.Add(new ReportDataSource("RiscoQuebra", new Data.RelModel.RiscoQuebra[] { risco })); break; case "reciboContaPagar": { var idContaPagar = Request["idContaPagar"] != "0" && Request["idContaPagar"] != "" ? Glass.Conversoes.StrParaInt(Request["idContaPagar"]) : 0; var contaPg = ContasPagarDAO.Instance.GetPagasForRpt(idContaPagar, 0, null, 0, 0, 0, 0, null, null, null, null, null, null, null, null, 0, 0, 0, false, true, false, null, false, false, 0, 0, null, null); if (contaPg.Length == 0) { throw new Exception("A conta a pagar informada não existe ou não está paga."); } recibo = new Data.RelModel.Recibo(); recibo.IdContaPagar = idContaPagar; recibo.IdLoja = contaPg[0].IdLoja.GetValueOrDefault(0); recibo.Total = contaPg[0].ValorPago; recibo.Cliente = FornecedorDAO.Instance.GetElementByPrimaryKey(contaPg[0].IdFornec.GetValueOrDefault(0)).Nome; recibo.MotivoReferente = contaPg[0].DescrPlanoConta; report.ReportPath = Glass.Data.Helper.Utils.CaminhoRelatorio("Relatorios/Genericos/ModeloRecibo/rptRecibo{0}.rdlc"); recibo.Tipo = Glass.Conversoes.StrParaInt(Request["referente"]); report.DataSources.Add(new ReportDataSource("Recibo", new Data.RelModel.Recibo[] { recibo })); break; } } // Atribui parâmetros ao relatório lstParam.Add(new ReportParameter("Logotipo", Logotipo.GetReportLogoColor(PageRequest))); lstParam.Add(new ReportParameter("TextoRodape", Geral.TextoRodapeRelatorio(login.Nome))); lstParam.Add(new ReportParameter("CorRodape", "DimGray")); return(null); }