Пример #1
0
        /// <summary>
        /// Retorna um objeto do tipo correto dependendo do tipo passado como parametro e ja adidiona o id
        /// </summary>
        /// <param name="tipo">tipo empresa, por exemplo</param>
        /// <param name="tipoid">id da empresa, por exemplo</param>
        /// <param name="perfilid">id d perfil</param>
        /// <param name="ids">id dos usuarios separados por virgula</param>
        /// <returns></returns>
        public IBaseLista TipoGenerico(int tipo, int tipoid, int perfilid, string ids)
        {
            IBaseLista lista;

            switch (tipo)
            {
            case PerfilTipo.CANAL:
                PerfilCanalLista canLista = new PerfilCanalLista(this.Perfil.Control.UsuarioID);
                canLista.FiltroSQL = "PerfilID=" + perfilid + " AND CanalID=" + tipoid + " AND UsuarioID in (" + ids + ")";
                lista = canLista;
                break;

            case PerfilTipo.EMPRESA:
                PerfilEmpresaLista empLista = new PerfilEmpresaLista(this.Perfil.Control.UsuarioID);
                empLista.FiltroSQL = "PerfilID=" + perfilid + " AND EmpresaID=" + tipoid + " AND UsuarioID in (" + ids + ")";
                lista = empLista;
                break;

            case PerfilTipo.ESPECIAL:
                PerfilEspecialLista espLista = new PerfilEspecialLista(this.Perfil.Control.UsuarioID);
                espLista.FiltroSQL = "PerfilID=" + perfilid + " AND UsuarioID in (" + ids + ")";
                lista = espLista;
                break;

            case PerfilTipo.EVENTO:
                PerfilEventoLista eveLista = new PerfilEventoLista(this.Perfil.Control.UsuarioID);
                eveLista.FiltroSQL = "PerfilID=" + perfilid + " AND EventoID=" + tipoid + " AND UsuarioID in (" + ids + ")";
                lista = eveLista;
                break;

            case PerfilTipo.LOCAL:
                PerfilLocalLista locLista = new PerfilLocalLista(this.Perfil.Control.UsuarioID);
                locLista.FiltroSQL = "PerfilID=" + perfilid + " AND LocalID=" + tipoid + " AND UsuarioID in (" + ids + ")";
                lista = locLista;
                break;

            case PerfilTipo.REGIONAL:
                PerfilRegionalLista regLista = new PerfilRegionalLista(this.Perfil.Control.UsuarioID);
                regLista.FiltroSQL = "PerfilID=" + perfilid + " AND RegionalID=" + tipoid + " AND UsuarioID in (" + ids + ")";
                lista = regLista;
                break;

            default:
                lista = null;
                break;
            }

            return(lista);
        }
Пример #2
0
        /// <summary>
        /// Retorna um objeto do tipo correto dependendo do tipo passado como parametro e ja adidiona o id
        /// </summary>
        /// <param name="tipo">tipo empresa, por exemplo</param>
        /// <param name="tipoid">id da empresa, por exemplo</param>
        /// <param name="perfilid">id d perfil</param>
        /// <param name="usuarioid">id do usuario</param>
        /// <returns></returns>
        public IBaseBD TipoGenerico(int tipo, int tipoid, int perfilid, int usuarioid)
        {
            IBaseBD perfil;

            //TODO: porque aqui as condicoes sao perfilCanalLista.Tamanho==0 ?????

            switch (tipo)
            {
            case PerfilTipo.CANAL:
                PerfilCanalLista perfilCanalLista = new PerfilCanalLista();
                perfilCanalLista.FiltroSQL = "PerfilID=" + perfilid;
                perfilCanalLista.FiltroSQL = "UsuarioID=" + usuarioid;
                perfilCanalLista.FiltroSQL = "CanalID=" + tipoid;
                perfilCanalLista.Carregar();
                if (perfilCanalLista.Tamanho == 0)
                {
                    PerfilCanal can = new PerfilCanal(this.Control.UsuarioID);
                    can.PerfilID.Valor  = perfilid;
                    can.UsuarioID.Valor = usuarioid;
                    can.CanalID.Valor   = tipoid;
                    perfil = can;
                }
                else
                {
                    perfil = null;
                }
                break;

            case PerfilTipo.EMPRESA:
                PerfilEmpresaLista perfilEmpresaLista = new PerfilEmpresaLista();
                perfilEmpresaLista.FiltroSQL = "PerfilID=" + perfilid;
                perfilEmpresaLista.FiltroSQL = "UsuarioID=" + usuarioid;
                perfilEmpresaLista.FiltroSQL = "EmpresaID=" + tipoid;
                perfilEmpresaLista.Carregar();
                if (perfilEmpresaLista.Tamanho == 0)
                {
                    PerfilEmpresa emp = new PerfilEmpresa(this.Control.UsuarioID);
                    emp.PerfilID.Valor  = perfilid;
                    emp.UsuarioID.Valor = usuarioid;
                    emp.EmpresaID.Valor = tipoid;
                    perfil = emp;
                }
                else
                {
                    perfil = null;
                }
                break;

            case PerfilTipo.ESPECIAL:
                PerfilEspecialLista perfilEspecialLista = new PerfilEspecialLista();
                perfilEspecialLista.FiltroSQL = "PerfilID=" + perfilid;
                perfilEspecialLista.FiltroSQL = "UsuarioID=" + usuarioid;
                perfilEspecialLista.Carregar();
                if (perfilEspecialLista.Tamanho == 0)
                {
                    PerfilEspecial esp = new PerfilEspecial(this.Control.UsuarioID);
                    esp.PerfilID.Valor  = perfilid;
                    esp.UsuarioID.Valor = usuarioid;
                    perfil = esp;
                }
                else
                {
                    perfil = null;
                }
                break;

            case PerfilTipo.EVENTO:
                PerfilEventoLista perfilEventoLista = new PerfilEventoLista();
                perfilEventoLista.FiltroSQL = "PerfilID=" + perfilid;
                perfilEventoLista.FiltroSQL = "UsuarioID=" + usuarioid;
                perfilEventoLista.FiltroSQL = "EventoID=" + tipoid;
                perfilEventoLista.Carregar();
                if (perfilEventoLista.Tamanho == 0)
                {
                    PerfilEvento eve = new PerfilEvento(this.Control.UsuarioID);
                    eve.PerfilID.Valor  = perfilid;
                    eve.UsuarioID.Valor = usuarioid;
                    eve.EventoID.Valor  = tipoid;
                    perfil = eve;
                }
                else
                {
                    perfil = null;
                }
                break;

            case PerfilTipo.LOCAL:
                PerfilLocalLista perfilLocalLista = new PerfilLocalLista();
                perfilLocalLista.FiltroSQL = "PerfilID=" + perfilid;
                perfilLocalLista.FiltroSQL = "UsuarioID=" + usuarioid;
                perfilLocalLista.FiltroSQL = "LocalID=" + tipoid;
                perfilLocalLista.Carregar();
                if (perfilLocalLista.Tamanho == 0)
                {
                    PerfilLocal loc = new PerfilLocal(this.Control.UsuarioID);
                    loc.PerfilID.Valor  = perfilid;
                    loc.UsuarioID.Valor = usuarioid;
                    loc.LocalID.Valor   = tipoid;
                    perfil = loc;
                }
                else
                {
                    perfil = null;
                }
                break;

            case PerfilTipo.REGIONAL:
                PerfilRegionalLista perfilRegionalLista = new PerfilRegionalLista();
                perfilRegionalLista.FiltroSQL = "PerfilID=" + perfilid;
                perfilRegionalLista.FiltroSQL = "UsuarioID=" + usuarioid;
                perfilRegionalLista.FiltroSQL = "RegionalID=" + tipoid;
                perfilRegionalLista.Carregar();
                if (perfilRegionalLista.Tamanho == 0)
                {
                    PerfilRegional loc = new PerfilRegional(this.Control.UsuarioID);
                    loc.PerfilID.Valor   = perfilid;
                    loc.UsuarioID.Valor  = usuarioid;
                    loc.RegionalID.Valor = tipoid;
                    perfil = loc;
                }
                else
                {
                    perfil = null;
                }
                break;

            default:
                perfil = null;
                break;
            }

            return(perfil);
        }
Пример #3
0
        public int TipoID(int usuarioid)
        {
            if (tipoID != 0)
            {
                return(tipoID);
            }

            // *************************
            // Este método é falho
            //	Exemplo, posso ter Usuário com 2 perfis de Locais diferentes,
            // e o método retorna para LocalID =0 ??

            switch (this.PerfilTipoID.Valor)
            {
            case PerfilTipo.CANAL:
                PerfilCanalLista perfilCanalLista = new PerfilCanalLista();
                perfilCanalLista.FiltroSQL = "PerfilID=" + this.Control.ID;
                perfilCanalLista.FiltroSQL = "UsuarioID=" + usuarioid;
                perfilCanalLista.Carregar();
                if (perfilCanalLista.Tamanho == 1)
                {
                    perfilCanalLista.Primeiro();
                    tipoID = perfilCanalLista.PerfilCanal.CanalID.Valor;
                }
                else
                {
                    tipoID = 0;
                }
                break;

            case PerfilTipo.EMPRESA:
                PerfilEmpresaLista perfilEmpresaLista = new PerfilEmpresaLista();
                perfilEmpresaLista.FiltroSQL = "PerfilID=" + this.Control.ID;
                perfilEmpresaLista.FiltroSQL = "UsuarioID=" + usuarioid;
                perfilEmpresaLista.Carregar();
                if (perfilEmpresaLista.Tamanho == 1)
                {
                    perfilEmpresaLista.Primeiro();
                    tipoID = perfilEmpresaLista.PerfilEmpresa.EmpresaID.Valor;
                }
                else
                {
                    tipoID = 0;
                }
                break;

            case PerfilTipo.ESPECIAL:
            case PerfilTipo.REGIONAL:
                tipoID = 0;
                break;

            case PerfilTipo.EVENTO:
                PerfilEventoLista perfilEventoLista = new PerfilEventoLista();
                perfilEventoLista.FiltroSQL = "PerfilID=" + this.Control.ID;
                perfilEventoLista.FiltroSQL = "UsuarioID=" + usuarioid;
                perfilEventoLista.Carregar();
                if (perfilEventoLista.Tamanho == 1)
                {
                    perfilEventoLista.Primeiro();
                    tipoID = perfilEventoLista.PerfilEvento.EventoID.Valor;
                }
                else
                {
                    tipoID = 0;
                }
                break;

            case PerfilTipo.LOCAL:
                PerfilLocalLista perfilLocalLista = new PerfilLocalLista();
                perfilLocalLista.FiltroSQL = "PerfilID=" + this.Control.ID;
                perfilLocalLista.FiltroSQL = "UsuarioID=" + usuarioid;
                perfilLocalLista.Carregar();
                if (perfilLocalLista.Tamanho == 1)
                {
                    perfilLocalLista.Primeiro();
                    tipoID = perfilLocalLista.PerfilLocal.LocalID.Valor;
                }
                else
                {
                    tipoID = 0;
                }
                break;

            default:
                tipoID = 0;
                break;
            }

            return(tipoID);
        }