Ejemplo n.º 1
0
        public VisitaViewModel()
        {
            Visita  Visita  = new Visita();
            Usuario Usuario = new Usuario();
            Cliente Cliente = new Cliente();
            Tipo    Tipo    = new Tipo();
            Status  Status  = new Status();

            Filtro         = new VisitaFiltro();
            VisitaConsulta = new VisitaConsulta();
            ListaConsulta  = new List <VisitaConsulta>();
            Campos         = new List <VisitaCamposPesquisaViewModel>();
        }
Ejemplo n.º 2
0
        public List <VisitaConsulta> Filtrar(int idUsuario, VisitaFiltro filtro)
        {
            var sb = new StringBuilder();

            sb.AppendLine(" SELECT");
            sb.AppendLine(" Vis_Id, Vis_Data, Vis_Dcto, Cli_Nome, Cli_Fantasia, Usu_Nome");
            sb.AppendLine(" FROM Visita");
            sb.AppendLine(" INNER JOIN Cliente ON Vis_Cliente = Cli_Id");
            sb.AppendLine(" LEFT JOIN Usuario ON Vis_Usuario = Usu_Id");

            if (filtro.Id == 0)
            {
                sb.AppendLine(" WHERE Vis_Id IS NOT NULL");
            }
            else
            {
                sb.AppendLine(" WHERE Vis_Id = " + filtro.Id);
            }

            sb.AppendLine(" AND EXISTS(");
            sb.AppendLine(" 	SELECT 1 FROM Usuario WHERE ((Cli_Revenda = Usu_Revenda) OR (Usu_Revenda IS NULL))");
            sb.AppendLine(" 	AND Usu_Id = "+ idUsuario + ")");

            sb.AppendLine(" AND EXISTS(");
            sb.AppendLine(" 	SELECT 1 FROM Usuario WHERE ((Cli_Id = Usu_Cliente) OR (Usu_Cliente IS NULL))");
            sb.AppendLine(" 	AND Usu_Id = "+ idUsuario + ")");

            if (!string.IsNullOrEmpty(filtro.RazaoSocial))
            {
                sb.AppendLine(" AND Cli_Nome like '%" + filtro.RazaoSocial + "%'");
            }

            if (filtro.ClienteId > 0)
            {
                sb.AppendLine(" AND Vis_Cliente = " + filtro.ClienteId);
            }

            if (filtro.DataInicial != null)
            {
                sb.AppendLine(" AND Vis_Data >= '" + filtro.DataInicial + "'");
            }

            if (filtro.DataFinal != null)
            {
                sb.AppendLine(" AND Vis_Data <= '" + filtro.DataFinal + "'");
            }

            if (filtro.RevendaId > 0)
            {
                sb.AppendLine(" AND Cli_Revenda = " + filtro.RevendaId);
            }

            if (filtro.StatusId > 0)
            {
                sb.AppendLine(" AND Vis_Status = " + filtro.StatusId);
            }

            if (filtro.TipoId > 0)
            {
                sb.AppendLine(" AND Vis_Tipo = " + filtro.TipoId);
            }

            if (filtro.UsuarioId > 0)
            {
                sb.AppendLine(" AND Vis_Usuario = " + filtro.UsuarioId);
            }
            sb.AppendLine(" ORDER BY Vis_Data");

            var lista = new List <VisitaConsulta>();

            using (var db = new BancoADO())
            {
                db.RetornoReader(sb.ToString());

                while (db.Read())
                {
                    var model = new VisitaConsulta
                    {
                        //Data = db.CampoData("Vis_Data").ToShortDateString(),
                        NomeCliente   = db.CampoStr("Cli_Nome"),
                        NomeFantasia  = db.CampoStr("Cli_Fantasia"),
                        Documento     = db.CampoStr("Vis_Dcto"),
                        Id            = db.CampoInt32("Vis_Id"),
                        NomeConsultor = db.CampoStr("Usu_Nome"),
                    };
                    lista.Add(model);
                }
                db.CloseReader();
            }
            return(lista);
        }