private string ObterCorLinha(Data.Model.Pedido pedido) { Color?cor = null; if (PedidoConfig.TelaListagem.ExibirLinhaAzulSePedidoPronto && pedido.SituacaoProducao == (int)Data.Model.Pedido.SituacaoProducaoEnum.Pronto) { cor = Color.Blue; } else if (PedidoConfig.TelaListagem.ExibirLinhaPretaSeRevenda && pedido.TipoPedido == (int)Data.Model.Pedido.TipoPedidoEnum.Revenda) { cor = Color.Black; } else if (PedidoConfig.TelaListagem.ExibirLinhaVermelhaSePendenteOuTemAlteracaoPCP && (pedido.SituacaoProducao == (int)Data.Model.Pedido.SituacaoProducaoEnum.Pendente || pedido.TemAlteracaoPcp)) { cor = Color.Red; } else if (pedido.GeradoParceiro || pedido.Importado) { cor = Color.FromName(PedidoConfig.TelaListagem.CorLinhaSeImportadoOuGeradoParceiro); } return(cor.HasValue ? ColorTranslator.ToHtml(cor.Value) : null); }
/// <summary> /// Inicia uma nova instância da classe <see cref="ListaDto"/>. /// </summary> /// <param name="pedido">A model de pedidos.</param> internal ListaDto(Data.Model.Pedido pedido) { this.Id = (int)pedido.IdPedido; this.IdProjeto = (int)(pedido.IdProjeto ?? 0); this.IdOrcamento = (int)(pedido.IdOrcamento ?? 0); this.Cliente = new IdNomeDto { Id = (int)pedido.IdCli, Nome = pedido.NomeCli, }; this.Loja = pedido.NomeLoja; this.Funcionario = pedido.NomeFunc; this.Total = pedido.Total; this.TipoVenda = pedido.DescrTipoVenda; this.TipoPedido = pedido.DescricaoTipoPedido; this.Datas = new DatasDto { Pedido = pedido.DataPedido, Entrega = pedido.DataEntrega, }; this.Situacoes = new SituacoesDto { Pedido = pedido.DescrSituacaoPedido, Exportacao = pedido.DescricaoSituacaoExportacao, }; this.Permissoes = new PermissoesDto { ConsultarSituacao = pedido.SituacaoExportacao != 0, }; }
private void ConverterDadosFormaPagamento(Data.Model.Pedido destino) { if (this.cadastro.FormaPagamento != null) { destino.IdFormaPagto = (uint?)this.cadastro.FormaPagamento.Id ?? destino.IdFormaPagto; destino.IdTipoCartao = (uint?)this.cadastro.FormaPagamento.IdTipoCartao ?? destino.IdTipoCartao; if (this.cadastro.FormaPagamento.Parcelas != null) { destino.IdParcela = (uint?)this.cadastro.FormaPagamento.Parcelas.Id ?? destino.IdParcela; destino.NumParc = this.cadastro.FormaPagamento.Parcelas.NumeroParcelas ?? destino.NumParc; if (this.cadastro.FormaPagamento.Parcelas.Detalhes != null) { destino.DatasParcelas = this.cadastro.FormaPagamento.Parcelas.Detalhes .OrderBy(d => d.Data) .Select(d => d.Data) .ToArray(); destino.ValoresParcelas = this.cadastro.FormaPagamento.Parcelas.Detalhes .OrderBy(d => d.Data) .Select(d => d.Valor) .ToArray(); } } } }
private void ConverterDtoParaModelo(Data.Model.Pedido destino) { destino.IdCli = (uint)this.cadastro.ObterValorNormalizado(c => c.IdCliente, (int)destino.IdCli); destino.IdLoja = (uint)this.cadastro.ObterValorNormalizado(c => c.IdLoja, (int)destino.IdLoja); destino.IdObra = (uint?)this.cadastro.ObterValorNormalizado(c => c.IdObra, (int?)destino.IdObra); destino.DataPedido = this.cadastro.ObterValorNormalizado(c => c.DataPedido, destino.DataPedido); destino.FastDelivery = this.cadastro.ObterValorNormalizado(c => c.FastDelivery, destino.FastDelivery); destino.CodCliente = this.cadastro.ObterValorNormalizado(c => c.CodigoPedidoCliente, destino.CodCliente); destino.DeveTransferir = this.cadastro.ObterValorNormalizado(c => c.DeveTransferir, destino.DeveTransferir); destino.TipoPedido = (int)this.cadastro.ObterValorNormalizado(c => c.Tipo, (Data.Model.Pedido.TipoPedidoEnum)destino.TipoPedido); destino.TipoVenda = (int)this.cadastro.ObterValorNormalizado(c => c.TipoVenda, (Data.Model.Pedido.TipoVendaPedido?)destino.TipoVenda); destino.IdFunc = (uint)this.cadastro.ObterValorNormalizado(c => c.IdVendedor, (int)destino.IdFunc); destino.IdMedidor = (uint?)this.cadastro.ObterValorNormalizado(c => c.IdMedidor, (int?)destino.IdMedidor); destino.IdFuncVenda = (uint?)this.cadastro.ObterValorNormalizado(c => c.IdFuncionarioComprador, (int?)destino.IdFuncVenda); destino.IdTransportador = this.cadastro.ObterValorNormalizado(c => c.IdTransportador, destino.IdTransportador); destino.IdPedidoRevenda = this.cadastro.ObterValorNormalizado(c => c.IdPedidoRevenda, destino.IdPedidoRevenda); destino.GerarPedidoProducaoCorte = this.cadastro.ObterValorNormalizado(c => c.GerarPedidoCorte, destino.GerarPedidoProducaoCorte); destino.Obs = this.cadastro.ObterValorNormalizado(c => c.Observacao, destino.Obs); destino.ObsLiberacao = this.cadastro.ObterValorNormalizado(c => c.ObservacaoLiberacao, destino.ObsLiberacao); this.ConverterDadosEntrega(destino); this.ConverterDadosFormaPagamento(destino); this.ConverterDadosDesconto(destino); this.ConverterDadosAcrescimo(destino); this.ConverterDadosComissionado(destino); this.ConverterDadosEnderecoObra(destino); this.ConverterDadosSinal(destino); }
private void ConverterDadosSinal(Data.Model.Pedido destino) { if (this.cadastro.Sinal != null) { destino.ValorEntrada = this.cadastro.Sinal.Valor.GetValueOrDefault(); } }
private void ConverterDadosComissionado(Data.Model.Pedido destino) { if (this.cadastro.Comissionado != null) { destino.IdComissionado = (uint?)this.cadastro.Comissionado.Id; destino.PercComissao = (float)this.cadastro.Comissionado.PercentualComissao; } }
private void ConverterDadosAcrescimo(Data.Model.Pedido destino) { if (this.cadastro.Acrescimo != null) { destino.TipoAcrescimo = (int)(this.cadastro.Acrescimo.Tipo ?? TipoValor.Valor); destino.Acrescimo = this.cadastro.Acrescimo.Valor.GetValueOrDefault(); } }
private void ConverterDadosEntrega(Data.Model.Pedido destino) { if (this.cadastro.Entrega != null) { destino.TipoEntrega = this.cadastro.Entrega.Tipo ?? destino.TipoEntrega; destino.DataEntrega = this.cadastro.Entrega.Data ?? destino.DataEntrega; destino.ValorEntrega = this.cadastro.Entrega.Valor ?? destino.ValorEntrega; } }
private void ConverterDadosEnderecoObra(Data.Model.Pedido destino) { if (this.cadastro.EnderecoObra != null) { destino.EnderecoObra = this.cadastro.EnderecoObra.Logradouro; destino.BairroObra = this.cadastro.EnderecoObra.Bairro; destino.CidadeObra = this.cadastro.EnderecoObra.Cidade.Nome; destino.CepObra = this.cadastro.EnderecoObra.Cep; } }
/// <summary> /// Construtor padrão. /// </summary> /// <param name="pedido"></param> /// <param name="cliente"></param> /// <param name="loja"></param> /// <param name="itens"></param> public PedidoImpostoContainer( Data.Model.Pedido pedido, Global.Negocios.Entidades.Cliente cliente, Global.Negocios.Entidades.Loja loja, IEnumerable <IItemImposto> itens) { Pedido = pedido; Cliente = cliente; Loja = loja; Itens = itens; }
/// <summary> /// Inicia uma nova instância da classe <see cref="ListaDto"/>. /// </summary> /// <param name="pedido">A model de pedidos.</param> internal ListaDto(Data.Model.Pedido pedido) { this.Id = (int)pedido.IdPedido; this.Cliente = new IdNomeDto { Id = (int)pedido.IdCli, Nome = pedido.NomeCli, }; this.Importado = pedido.Importado; this.Loja = pedido.NomeLoja; this.Funcionario = pedido.NomeFunc; this.DataEntrega = pedido.DataEntrega; this.DataEntregaOriginal = pedido.DataEntregaOriginal; this.Rota = pedido.CodRota; this.QuantidadePecasPedido = (int)pedido.QtdePecas; this.PedidoExterno = new PedidoExternoDto { Id = (int?)pedido.IdPedidoExterno, Rota = pedido.RotaExterna, Cliente = new IdNomeDto { Id = (int)pedido.IdClienteExterno, Nome = pedido.ClienteExterno, }, }; this.DadosVolume = new DadosVolumeDto { QuantidadePecas = (decimal)pedido.QtdePecasVolume, QuantidadePecasPendentes = (decimal)pedido.QtdePecasPendenteVolume, MetroQuadrado = (decimal)pedido.TotMVolume, Peso = (decimal)pedido.PesoVolume, Situacao = Colosoft.Translator.Translate(pedido.SituacaoVolume).Format(), }; this.CorLinha = this.ObterCorLinha(pedido.SituacaoVolume); this.Permissoes = new PermissoesDto { GerarVolume = pedido.GerarVolumeVisible, ExibirRelatorioVolume = pedido.RelatorioVolumeVisible, }; }
/// <summary> /// Inicia uma nova instância da classe <see cref="ListaDto"/>. /// </summary> /// <param name="pedido">A model de pedidos.</param> internal ListaDto(Data.Model.Pedido pedido) { this.Id = (int)pedido.IdPedido; this.IdProjeto = (int?)pedido.IdProjeto; this.IdOrcamento = (int?)pedido.IdOrcamento; this.CodigoPedidoCliente = pedido.CodCliente; this.Cliente = new IdNomeDto { Id = (int)pedido.IdCli, Nome = pedido.NomeCli, }; this.Loja = new IdNomeDto { Id = (int)pedido.IdLoja, Nome = pedido.NomeLoja, }; this.Vendedor = new IdNomeDto { Id = (int)pedido.IdFunc, Nome = pedido.NomeFunc, }; this.DataEntrega = new DatasEntregaDto { Atual = pedido.DataEntrega, Original = pedido.DataEntregaOriginal, }; this.Total = pedido.ExibirTotalEspelho ? pedido.TotalEspelho : pedido.Total; this.TipoVenda = pedido.DescrTipoVenda; this.DataPedido = pedido.DataPedido; this.Finalizacao = this.DataEFuncionarioOperacao(pedido.DataFin, pedido.NomeUsuFin); this.Confirmacao = this.DataEFuncionarioOperacao(pedido.DataConf, pedido.NomeUsuConf); this.DataPronto = pedido.DataPronto; this.Liberacao = !pedido.IdLiberarPedido.HasValue || !pedido.DataLiberacao.HasValue ? null : new LiberacaoDto { Id = (int)pedido.IdLiberarPedido.Value, Observacao = pedido.ObsLiberacao, Data = pedido.DataLiberacao.Value, Funcionario = pedido.NomeUsuLib, }; this.Situacao = pedido.DescrSituacaoPedido; this.Producao = new ProducaoDto { Situacao = pedido.DescrSituacaoProducao, Pronto = pedido.SituacaoProducao == (int)Data.Model.Pedido.SituacaoProducaoEnum.Pronto, Pendente = pedido.SituacaoProducao == (int)Data.Model.Pedido.SituacaoProducaoEnum.Pendente, }; this.Tipo = pedido.DescricaoTipoPedido; this.LiberadoFinanceiro = pedido.LiberadoFinanc; this.UsarControleReposicao = pedido.UsarControleReposicao; this.Permissoes = new PermissoesDto { Editar = pedido.EditVisible, ImprimirPcp = pedido.ExibirImpressaoPcp, Imprimir = pedido.ExibirRelatorio, ImprimirMemoriaCalculo = pedido.ExibirRelatorioCalculo, ImprimirNotaPromissoria = pedido.ExibirNotaPromissoria, ImprimirProjeto = pedido.ExibirImpressaoProjeto, TemAlteracaoPcp = pedido.TemAlteracaoPcp, Cancelar = pedido.CancelarVisible, Desconto = pedido.DescontoVisible, ImagemPeca = pedido.ExibirImagemPeca, ImpressaoItensLiberar = pedido.ExibirImpressaoItensLiberar, AlterarProcessoEAplicacao = pedido.AlterarProcessoAplicacaoVisible, Reabrir = pedido.ExibirReabrir, AnexosLiberacao = pedido.Situacao == Data.Model.Pedido.SituacaoPedido.Confirmado && PedidoConfig.LiberarPedido, FinalizacoesFinanceiro = pedido.ExibirFinalizacoesFinanceiro, LogAlteracoes = LogAlteracaoDAO.Instance.TemRegistro(LogAlteracao.TabelaAlteracao.Pedido, pedido.IdPedido, null), AlterarObservacoes = (pedido.TipoVenda == 3 || pedido.TipoVenda == 4) && (UserInfo.GetUserInfo.IsAdministrador || UserInfo.GetUserInfo.CodUser == pedido.Usucad), }; this.SinalEPagamentoAntecipado = new SinalEPagamentoAntecipadoDto { IdSinal = (int?)pedido.IdSinal, TemPagamentoAntecipado = pedido.PagamentoAntecipado, ValorSinal = pedido.ValorEntrada, ValorPagamentoAntecipado = pedido.ValorPagamentoAntecipado, }; this.IdsOrdensDeCarga = pedido.IdsOCs == null ? new int[0] : pedido.IdsOCs.Split(',') .Select(oc => oc.Trim().StrParaInt()) .Where(oc => oc > 0); this.Observacao = pedido.Obs; this.CorLinha = this.ObterCorLinha(pedido); }
/// <summary> /// Inicia uma nova instância da classe <see cref="ConverterCadastroAtualizacaoParaPedido"/>. /// </summary> /// <param name="cadastro">O DTO de cadastro, enviado para o endpoint.</param> /// <param name="atual">O pedido atual (opcional), para que sejam aproveitados os valores, se necessário.</param> public ConverterCadastroAtualizacaoParaPedido(CadastroAtualizacaoDto cadastro, Data.Model.Pedido atual = null) { this.cadastro = cadastro; this.pedido = new Lazy <Data.Model.Pedido>(() => { var destino = atual ?? new Data.Model.Pedido(); this.ConverterDtoParaModelo(destino); return(destino); }); }
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); }
/// <summary> /// Inicia uma nova instância da classe <see cref="DetalheDto"/>. /// </summary> /// <param name="pedido">A model de pedidos.</param> internal DetalheDto(Data.Model.Pedido pedido) { this.Id = (int)pedido.IdPedido; this.Cliente = new ClienteDto { Id = (int)pedido.IdCli, Nome = pedido.NomeCli, Revenda = pedido.CliRevenda, ExigePagamentoAntecipado = pedido.ClientePagaAntecipado, PercentualSinalMinimo = (decimal?)pedido.PercSinalMinCliente ?? 0, Telefone = pedido.RptTelContCli, Endereco = pedido.EnderecoCompletoCliente, Observacao = pedido.ObsCliente, }; this.PercentualComissao = (decimal)pedido.PercentualComissao; this.DataPedido = pedido.DataPedido; this.FastDelivery = new FastDeliveryDto { Aplicado = pedido.FastDelivery, Taxa = (decimal)pedido.TaxaFastDelivery, }; this.CodigoPedidoCliente = pedido.CodCliente; this.IdOrcamento = (int?)pedido.IdOrcamento; this.DeveTransferir = pedido.DeveTransferir; this.TipoVenda = !pedido.TipoVenda.HasValue ? null : new IdNomeDto { Id = pedido.TipoVenda.Value, Nome = pedido.DescrTipoVenda, }; this.Vendedor = new IdNomeDto { Id = (int)pedido.IdFunc, Nome = pedido.NomeFunc, }; this.FuncionarioComprador = !pedido.IdFuncVenda.HasValue ? null : new IdNomeDto { Id = (int)pedido.IdFuncVenda.Value, Nome = pedido.NomeFuncVenda, }; this.IdPedidoRevenda = pedido.IdPedidoRevenda; this.GerarPedidoCorte = pedido.GerarPedidoProducaoCorte; this.Entrega = new EntregaDto { Tipo = !pedido.TipoEntrega.HasValue ? null : new IdNomeDto { Id = pedido.TipoEntrega.Value, Nome = pedido.DescrTipoEntrega, }, Data = pedido.DataEntrega, Valor = pedido.ValorEntrega, }; this.TextoSinal = pedido.ConfirmouRecebeuSinal; this.Sinal = !pedido.IdSinal.HasValue ? null : new SinalDto { Id = (int)pedido.IdSinal.Value, Valor = pedido.ValorEntrada, }; this.Obra = !pedido.IdObra.HasValue ? null : new ObraDto { Id = (int)pedido.IdObra.Value, IdCliente = ObraDAO.Instance.ObtemIdCliente(null, (int)pedido.IdObra), Saldo = pedido.SaldoObra, TotalPedidosEmAberto = pedido.TotalPedidosAbertosObra, Descricao = pedido.DescrObra, }; var detalhesParcelas = new List <DetalheParcelaDto>(); if (pedido.DatasParcelas != null && pedido.ValoresParcelas != null) { for (int i = 0; i < pedido.DatasParcelas.Length; i++) { detalhesParcelas.Add(new DetalheParcelaDto { Data = pedido.DatasParcelas[i], Valor = pedido.ValoresParcelas[i], }); } } this.FormaPagamento = new FormaPagamentoDto { Id = (int)pedido.IdFormaPagto.GetValueOrDefault(), Nome = pedido.PagtoParcela, IdTipoCartao = (int?)pedido.IdTipoCartao, Parcelas = new ParcelasDto { Id = (int?)pedido.IdParcela, NumeroParcelas = pedido.NumParc, Dias = pedido.IdParcela > 0 ? ParcelasDAO.Instance.ObterDiasParcelas((int)pedido.IdParcela) : null, ParcelaAVista = ParcelasDAO.Instance.ObterParcelaAVista(null, (int)pedido.IdParcela.GetValueOrDefault()), Detalhes = detalhesParcelas, }, }; this.Desconto = new AcrescimoDescontoDto { Tipo = pedido.TipoDesconto, Valor = pedido.Desconto, }; this.Acrescimo = new AcrescimoDescontoDto { Tipo = pedido.TipoAcrescimo, Valor = pedido.Acrescimo, }; this.Total = pedido.Total; this.Transportador = !pedido.IdTransportador.HasValue ? null : new IdNomeDto { Id = (int)pedido.IdTransportador.Value, Nome = pedido.NomeTransportador, }; this.Comissionado = !pedido.IdComissionado.HasValue ? null : new ComissionadoDto { Id = (int)pedido.IdComissionado.Value, Nome = pedido.NomeComissionado, Comissao = new PercentualValorDto { Percentual = (decimal)pedido.PercComissao, Valor = pedido.ValorComissao, }, }; this.Medidor = !pedido.IdMedidor.HasValue ? null : new IdNomeDto { Id = (int)pedido.IdMedidor.Value, Nome = pedido.NomeMedidor, }; this.Observacao = pedido.Obs; this.ObservacaoLiberacao = pedido.ObsLiberacao; this.Situacao = new IdNomeDto { Id = (int)pedido.Situacao, Nome = pedido.DescrSituacaoPedido, }; this.Icms = pedido.AliquotaIcms == 0 && !Glass.Configuracoes.PedidoConfig.Impostos.CalcularIcmsPedido ? null : new ImpostoDto { Aliquota = (decimal)pedido.AliquotaIcms, Valor = pedido.ValorIcms, }; this.Ipi = pedido.AliquotaIpi == 0 && !Glass.Configuracoes.PedidoConfig.Impostos.CalcularIpiPedido ? null : new ImpostoDto { Aliquota = (decimal)pedido.AliquotaIpi, Valor = pedido.ValorIpi, }; this.Importado = pedido.Importado; this.Tipo = new IdNomeDto { Id = pedido.TipoPedido, Nome = pedido.DescricaoTipoPedido, }; this.Loja = new IdNomeDto { Id = (int)pedido.IdLoja, Nome = pedido.NomeLoja, }; this.EnderecoObra = new EnderecoDto { Logradouro = pedido.EnderecoObra, Bairro = pedido.BairroObra, Cep = pedido.CepObra, Cidade = new CidadeDto { Nome = pedido.CidadeObra, }, }; this.TotalBruto = pedido.TotalBruto; this.Rentabilidade = pedido.PercentualRentabilidade == 0 || pedido.RentabilidadeFinanceira == 0 ? null : new PercentualValorDto { Percentual = (decimal)pedido.PercentualRentabilidade, Valor = pedido.RentabilidadeFinanceira, }; this.Permissoes = new PermissoesDto { ColocarEmConferencia = pedido.ConferenciaVisible, AlterarCliente = pedido.ClienteEnabled, AlterarTipoVenda = !(pedido.IdSinal > 0) || Glass.Configuracoes.PedidoConfig.LiberarPedido, AlterarVendedor = pedido.SelVendEnabled, AlterarDesconto = pedido.DescontoEnabled, PodeEditar = pedido.EditVisible, }; }