Пример #1
0
        public FileDownloadDTO ExportarRelStatusVenda(RelStatusVendaFiltro filtro,
                                                      int?usuarioId,
                                                      FormatoExportacaoArquivo formato)
        {
            if (!UsuarioLogado.IsInRole(Funcionalidade.RelStatusVendaImprimir))
            {
                messageQueue.Add(Resource.Sigim.ErrorMessages.PrivilegiosInsuficientes, TypeMessage.Error);
                return(null);
            }

            var specification = MontarSpecificationRelStatusVenda(filtro);

            var lista = vendaRepository.ListarPeloFiltro(
                specification,
                l => l.Contrato,
                l => l.Contrato.ListaVendaParticipante.Select(c => c.Cliente),
                l => l.Contrato.Unidade,
                l => l.Contrato.Unidade.Bloco,
                l => l.Contrato.Unidade.Empreendimento,
                l => l.Contrato.Unidade.Empreendimento.Incorporador,
                l => l.TabelaVenda,
                l => l.IndiceFinanceiro
                ).To <List <Venda> >();

            relStatusVenda objRel = new relStatusVenda();

            objRel.SetDataSource(RelStatusVendaToDataTable(lista));

            var   parametros     = parametrosRepository.Obter();
            Moeda moedaPadrao    = new Moeda();
            Moeda moedaConversao = new Moeda();

            if (parametros.MoedaPadraoId.HasValue && parametros.MoedaPadraoId.Value > 0)
            {
                moedaPadrao = moedaRepository.ObterPeloId(parametros.MoedaPadraoId.Value);
            }

            if (filtro.MoedaConversao != 0)
            {
                moedaConversao = moedaRepository.ObterPeloId(filtro.MoedaConversao);
            }

            var caminhoImagem  = PrepararIconeRelatorio(null, parametros);
            var descricaoMoeda = ObterDescricaoMoeda(moedaPadrao, moedaConversao);

            objRel.SetParameterValue("descricaoMoeda", descricaoMoeda);
            objRel.SetParameterValue("caminhoImagem", caminhoImagem);

            FileDownloadDTO arquivo = new FileDownloadDTO(
                "Rel. Status da Venda",
                objRel.ExportToStream((ExportFormatType)formato),
                formato);

            if (System.IO.File.Exists(caminhoImagem))
            {
                System.IO.File.Delete(caminhoImagem);
            }

            return(arquivo);
        }
Пример #2
0
        private Specification <Venda> MontarSpecificationRelStatusVenda(RelStatusVendaFiltro filtro)
        {
            var specification = (Specification <Venda>) new TrueSpecification <Venda>();

            specification &= VendaSpecification.IgualAoIncorporadorId(filtro.IncorporadorId);
            specification &= VendaSpecification.IgualAoEmpreendimentoId(filtro.EmpreendimentoId);
            specification &= VendaSpecification.IgualAoBlocoId(filtro.BlocoId);
            specification &= VendaSpecification.EhTipoParticipanteTitular();
            if (filtro.Aprovado.HasValue)
            {
                if (filtro.Aprovado.Value == 1)
                {
                    specification &= VendaSpecification.EhAprovado();
                }
                else
                {
                    if (filtro.Aprovado.Value == 2)
                    {
                        specification &= VendaSpecification.NaoEhAprovado();
                    }
                }
            }

            if (filtro.SituacaoTodas)
            {
                specification &= (
                    (VendaSpecification.EhProposta()) ||
                    (VendaSpecification.EhAssinada()) ||
                    (VendaSpecification.EhCancelada()) ||
                    (VendaSpecification.EhRescindida()) ||
                    (VendaSpecification.EhQuitada()) ||
                    (VendaSpecification.EhEscriturada())
                    );
            }
            else
            {
                specification &= (
                    (filtro.SituacaoProposta ? VendaSpecification.EhProposta() : new FalseSpecification <Venda>()) ||
                    (filtro.SituacaoAssinada ? VendaSpecification.EhAssinada() : new FalseSpecification <Venda>()) ||
                    (filtro.SituacaoCancelada ? VendaSpecification.EhCancelada() : new FalseSpecification <Venda>()) ||
                    (filtro.SituacaoRescindida ? VendaSpecification.EhRescindida() : new FalseSpecification <Venda>()) ||
                    (filtro.SituacaoQuitada ? VendaSpecification.EhQuitada() : new FalseSpecification <Venda>()) ||
                    (filtro.SituacaoEscriturada ? VendaSpecification.EhEscriturada() : new FalseSpecification <Venda>())
                    );
            }

            return(specification);
        }
Пример #3
0
        public List <RelStatusVendaDTO> ListarPeloFiltroRelStatusVenda(RelStatusVendaFiltro filtro, out int totalRegistros)
        {
            var specification = MontarSpecificationRelStatusVenda(filtro);

            var lista = vendaRepository.ListarPeloFiltroComPaginacao(
                specification,
                filtro.PaginationParameters.PageIndex,
                filtro.PaginationParameters.PageSize,
                filtro.PaginationParameters.OrderBy,
                filtro.PaginationParameters.Ascending,
                out totalRegistros,
                l => l.Contrato,
                l => l.Contrato.ListaVendaParticipante.Select(c => c.Cliente),
                l => l.Contrato.Unidade,
                l => l.Contrato.Unidade.Bloco,
                l => l.Contrato.Unidade.Empreendimento,
                l => l.Contrato.Unidade.Empreendimento.Incorporador,
                l => l.TabelaVenda,
                l => l.IndiceFinanceiro
                );

            return(lista.To <List <RelStatusVendaDTO> >());
        }
Пример #4
0
 public RelStatusVendaViewModel()
 {
     Filtro = new RelStatusVendaFiltro();
 }