コード例 #1
0
ファイル: ListaDto.cs プロジェクト: ertprs/Estudo
        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);
        }
コード例 #2
0
        /// <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,
            };
        }
コード例 #3
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();
                    }
                }
            }
        }
コード例 #4
0
        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);
        }
コード例 #5
0
 private void ConverterDadosSinal(Data.Model.Pedido destino)
 {
     if (this.cadastro.Sinal != null)
     {
         destino.ValorEntrada = this.cadastro.Sinal.Valor.GetValueOrDefault();
     }
 }
コード例 #6
0
 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;
     }
 }
コード例 #7
0
 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();
     }
 }
コード例 #8
0
 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;
     }
 }
コード例 #9
0
 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;
     }
 }
コード例 #10
0
 /// <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;
 }
コード例 #11
0
        /// <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,
            };
        }
コード例 #12
0
ファイル: ListaDto.cs プロジェクト: ertprs/Estudo
        /// <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);
        }
コード例 #13
0
        /// <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);
            });
        }
コード例 #14
0
        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);
        }
コード例 #15
0
        /// <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,
            };
        }