示例#1
0
        public IHttpActionResult ObterListaClientes([FromUri] Models.Clientes.V1.Lista.FiltroDto filtro)
        {
            using (var sessao = new GDATransaction())
            {
                filtro = filtro ?? new Models.Clientes.V1.Lista.FiltroDto();

                var clientes = Microsoft.Practices.ServiceLocation.ServiceLocator
                               .Current.GetInstance <Global.Negocios.IClienteFluxo>()
                               .PesquisarClientes(
                    filtro.Id,
                    filtro.NomeCliente,
                    filtro.CpfCnpj,
                    filtro.IdLoja,
                    filtro.Telefone,
                    filtro.Endereco,
                    filtro.Bairro,
                    filtro.IdCidade,
                    filtro.Tipo,
                    filtro.Situacao != null ? filtro.Situacao.Select(f => (int)f).ToArray() : null,
                    filtro.CodigoRota,
                    filtro.IdVendedor,
                    filtro.TipoFiscal != null ? filtro.TipoFiscal.ToArray() : null,
                    filtro.FormasPagamento,
                    filtro.PeriodoCadastroInicio,
                    filtro.PeriodoCadastroFim,
                    filtro.PeriodoSemCompraInicio,
                    filtro.PeriodoSemCompraFim,
                    filtro.PeriodoInativadoInicio,
                    filtro.PeriodoInativadoFim,
                    null,
                    null,
                    filtro.IdTabelaDescontoAcrescimo,
                    filtro.ApenasSemRota,
                    0,
                    filtro.Uf,
                    null,
                    false);

                ((Colosoft.Collections.IVirtualList)clientes).Configure(filtro.NumeroRegistros);
                ((Colosoft.Collections.ISortableCollection)clientes).ApplySort(filtro.ObterTraducaoOrdenacao());

                return(this.ListaPaginada(
                           clientes
                           .Skip(filtro.ObterPrimeiroRegistroRetornar())
                           .Take(filtro.NumeroRegistros)
                           .Select(c => new Models.Clientes.V1.Lista.ListaDto(c)),
                           filtro,
                           () => clientes.Count));
            }
        }
示例#2
0
        public IHttpActionResult AlterarRota([FromBody] Models.Clientes.V1.Lista.FiltroDto filtro)
        {
            try
            {
                var resultado = ServiceLocator.Current
                                .GetInstance <Global.Negocios.IClienteFluxo>()
                                .AlterarRotaClientes(
                    filtro.Id,
                    filtro.NomeCliente,
                    filtro.CpfCnpj,
                    filtro.IdLoja,
                    filtro.Telefone,
                    filtro.Endereco,
                    filtro.Bairro,
                    filtro.IdCidade,
                    filtro.Tipo,
                    filtro.Situacao != null ? filtro.Situacao.Select(f => (int)f).ToArray() : null,
                    filtro.CodigoRota,
                    filtro.IdVendedor,
                    filtro.TipoFiscal != null ? filtro.TipoFiscal.ToArray() : null,
                    filtro.FormasPagamento,
                    filtro.PeriodoCadastroInicio,
                    filtro.PeriodoCadastroFim,
                    filtro.PeriodoSemCompraInicio,
                    filtro.PeriodoSemCompraFim,
                    filtro.PeriodoInativadoInicio,
                    filtro.PeriodoInativadoFim,
                    filtro.IdTabelaDescontoAcrescimo,
                    filtro.ApenasSemRota,
                    filtro.IdRotaNova.GetValueOrDefault(),
                    filtro.Uf);

                if (!resultado)
                {
                    return(this.ErroValidacao(resultado.Message.ToString()));
                }

                return(this.Aceito("Rota alterada com sucesso."));
            }
            catch (Exception ex)
            {
                return(this.ErroValidacao(ex.Message, ex));
            }
        }