示例#1
0
        public ModuloSistema PesquisarModuloSistema(int Codigo)
        {
            try
            {
                AbrirConexao();
                strSQL = "Select * from [MODULO_DO_SISTEMA] Where CD_MODULO_SISTEMA = @v1";
                Cmd    = new SqlCommand(strSQL, Con);
                Cmd.Parameters.AddWithValue("@v1", Codigo);

                Dr = Cmd.ExecuteReader();

                ModuloSistema p = null;

                if (Dr.Read())
                {
                    p = new ModuloSistema();

                    p.CodigoModulo    = Convert.ToInt32(Dr["CD_MODULO_SISTEMA"]);
                    p.DescricaoModulo = Convert.ToString(Dr["DS_MODULO_SISTEMA"]);
                }

                return(p);
            }
            catch (Exception ex)
            {
                throw new Exception("Erro ao Pesquisar Módulo: " + ex.Message.ToString());
            }
            finally
            {
                FecharConexao();
            }
        }
示例#2
0
        public void SalvarLicenca(long CodLicenca, DateTime DataValidade, string strMarcados)
        {
            ItemDaLicenca i = new ItemDaLicenca();

            //////////////////////////////////////////////////////////////////////
            i.CodigoDaLicenca     = CodLicenca;
            i.DataDeValidade      = DataValidade;
            i.Guid                = "12334567890";
            i.ChaveDeAutenticacao = "0987654321";

            InserirLicenca(i, strMarcados);
            //////////////////////////////////////////////////////////////////////

            ModuloSistema        m     = new ModuloSistema();
            List <ModuloSistema> lista = new List <ModuloSistema>();

            Char delimiter = ',';

            string[] substrings = strMarcados.Split(delimiter);
            int      numero     = 0;

            foreach (var substring in substrings)
            {
                if (int.TryParse(substring, out numero))
                {
                    m = new ModuloSistema();
                    m.CodigoModulo = Convert.ToInt32(substring);
                    m.Liberar      = true;
                    lista.Add(m);
                }
            }

            InserirLicencaModulos(i.CodigoDoItem, lista);
        }
        public bool ValidarUsuarioSistema(UsuarioSistema pUsuarioSistema,
                                          ModuloSistema pModuloSistema,
                                          string pClave)
        {
            bool esUsuarioSistemaValido = false;

            //Clave Invalida
            if (String.IsNullOrEmpty(pClave.Trim()))
            {
                throw new InvalidOperationException(Mensajes.validacion_ClaveNulaOVacia);
            }

            //Modulo sistema no existe
            if (pModuloSistema == null)
            {
                throw new InvalidOperationException(Mensajes.validacion_NoExistenModulosDeSistemaAsignadosAlUsuario);
            }


            var ventanaConDerechos = pModuloSistema.VentanasUsuario.FirstOrDefault(c => c.DerechosAccesoUsuario.Count > 0);

            if (pUsuarioSistema == null)
            {
                //Usuario no existe
                throw new InvalidOperationException(Mensajes.excepcion_VendedorsinUsuarioDeSistemaAsignado);
            }
            else
            {
                if (!(pUsuarioSistema.EsHabilitado))
                {
                    //Usuario Inactivo
                    throw new InvalidOperationException(Mensajes.excepcion_UsuarioDeSistemaDeVendedorInactivo);
                }

                if (pModuloSistema.VentanasUsuario.Count == 0)
                {
                    //Usuario de  sistema sin privilegios
                    throw new InvalidOperationException(Mensajes.excepcion_UsuarioDeSistemaDeVendedorSinPrivilegiosAsignados);
                }


                if (ventanaConDerechos == null)
                {
                    //Usuario de  sistema sin privilegios
                    throw new InvalidOperationException(Mensajes.excepcion_UsuarioDeSistemaDeVendedorSinPrivilegios);
                }
            }

            esUsuarioSistemaValido = true;

            return(esUsuarioSistemaValido);
        }
示例#4
0
        public List <ModuloSistema> ListarModulosSistemaPelaLicenca(long Codigo)
        {
            try
            {
                AbrirConexao();

                string strSQL = "Select MS.* ";
                strSQL = strSQL + ", ISNULL((Select Top 1 LMS.[CD_MODULO_DO_SISTEMA] FROM [LICENCA_DE_USO_POR_MODULO_DO_SISTEMA] AS LMS WHERE MS.[CD_MODULO_SISTEMA] = LMS.[CD_MODULO_DO_SISTEMA] AND LMS.[CD_LICENCA] = " + Codigo.ToString() + "),0) AS LIBERADO ";
                strSQL = strSQL + "from [MODULO_DO_SISTEMA] AS MS ";
                strSQL = strSQL + "Order By MS.[CD_MODULO_SISTEMA] ";

                Cmd = new SqlCommand(strSQL, Con);

                Dr = Cmd.ExecuteReader();

                List <ModuloSistema> lista = new List <ModuloSistema>();

                while (Dr.Read())
                {
                    ModuloSistema p = new ModuloSistema();

                    p.CodigoModulo    = Convert.ToInt32(Dr["CD_MODULO_SISTEMA"]);
                    p.DescricaoModulo = Convert.ToString(Dr["DS_MODULO_SISTEMA"]);
                    if (Dr["LIBERADO"].ToString().Equals("0"))
                    {
                        p.Liberar = false;
                    }
                    else
                    {
                        p.Liberar = true;
                    }

                    lista.Add(p);
                }

                return(lista);
            }
            catch (Exception ex)
            {
                throw new Exception("Erro ao Listar Todos Módulos: " + ex.Message.ToString());
            }
            finally
            {
                FecharConexao();
            }
        }
示例#5
0
        public List <ModuloSistema> ListarModulosSistema(string strNomeCampo, string strTipoCampo, string strValor, string strOrdem)
        {
            try
            {
                AbrirConexao();

                string strSQL = "Select * from [MODULO_DO_SISTEMA]";

                if (strValor != "")
                {
                    strSQL = strSQL + " Where " + MontaFiltro(strNomeCampo, strTipoCampo, strValor);
                }

                if (strOrdem != "")
                {
                    strSQL = strSQL + "Order By " + strOrdem;
                }

                Cmd = new SqlCommand(strSQL, Con);

                Dr = Cmd.ExecuteReader();

                List <ModuloSistema> lista = new List <ModuloSistema>();

                while (Dr.Read())
                {
                    ModuloSistema p = new ModuloSistema();

                    p.CodigoModulo    = Convert.ToInt32(Dr["CD_MODULO_SISTEMA"]);
                    p.DescricaoModulo = Convert.ToString(Dr["DS_MODULO_SISTEMA"]);
                    lista.Add(p);
                }

                return(lista);
            }
            catch (Exception ex)
            {
                throw new Exception("Erro ao Listar Todos Módulos: " + ex.Message.ToString());
            }
            finally
            {
                FecharConexao();
            }
        }
示例#6
0
        public void Atualizar(ModuloSistema p)
        {
            try
            {
                AbrirConexao();
                strSQL = "update [MODULO_DO_SISTEMA] set [DS_MODULO_SISTEMA] = @v2 Where [CD_MODULO_SISTEMA] = @v1";
                Cmd    = new SqlCommand(strSQL, Con);

                Cmd.Parameters.AddWithValue("@v1", p.CodigoModulo);
                Cmd.Parameters.AddWithValue("@v2", p.DescricaoModulo);
                Cmd.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                throw new Exception("Erro ao atualizar Módulo: " + ex.Message.ToString());
            }
            finally
            {
                FecharConexao();
            }
        }
示例#7
0
        public void Inserir(ModuloSistema p)
        {
            try
            {
                AbrirConexao();

                strSQL = "insert into [MODULO_DO_SISTEMA] (CD_MODULO_SISTEMA, DS_MODULO_SISTEMA) values (@v1, @v2)";
                Cmd    = new SqlCommand(strSQL, Con);

                Cmd.Parameters.AddWithValue("@v1", p.CodigoModulo);
                Cmd.Parameters.AddWithValue("@v2", p.DescricaoModulo);

                Cmd.ExecuteNonQuery();
            }
            catch (SqlException ex)
            {
                if (ex.Errors.Count > 0) // Assume the interesting stuff is in the first error
                {
                    switch (ex.Errors[0].Number)
                    {
                    case 2601:     // Primary key violation
                        throw new DuplicateNameException("Inclusão não Permitida!!! Chave já consta no Banco de Dados. Mensagem :" + ex.Message.ToString(), ex);

                    case 2627:     // Primary key violation
                        throw new DuplicateNameException("Inclusão não Permitida!!! Chave já consta no Banco de Dados. Mensagem :" + ex.Message.ToString(), ex);

                    default:
                        throw new Exception("Erro ao Incluir Módulo: " + ex.Message.ToString());
                    }
                }
            }
            catch (Exception ex)
            {
                throw new Exception("Erro ao gravar Módulo: " + ex.Message.ToString());
            }
            finally
            {
                FecharConexao();
            }
        }
示例#8
0
        public List <ModuloSistema> ListarModulosPermitidos(string CodigoPerfil)
        {
            try
            {
                AbrirConexao();

                string strSQL = "Select distinct MOD.*" +
                                "from[MODULO_DO_SISTEMA] AS MOD INNER JOIN " +
                                "MENU_DO_SISTEMA AS MENU ON MENU.CD_MODULO_SISTEMA = MOD.CD_MODULO_SISTEMA INNER JOIN " +
                                "PERMISSAO_DO_USUARIO AS PERMISSAO ON PERMISSAO.CD_MENU_SISTEMA = MENU.CD_MENU_SISTEMA INNER JOIN " +
                                "USUARIO ON USUARIO.CD_PFL_USUARIO = PERMISSAO.CD_PFL_USUARIO " +
                                "WHERE USUARIO.CD_PFL_USUARIO = " + CodigoPerfil;

                Cmd = new SqlCommand(strSQL, Con);

                Dr = Cmd.ExecuteReader();

                List <ModuloSistema> lista = new List <ModuloSistema>();

                while (Dr.Read())
                {
                    ModuloSistema p = new ModuloSistema();

                    p.CodigoModulo    = Convert.ToInt32(Dr["CD_MODULO_SISTEMA"]);
                    p.DescricaoModulo = Convert.ToString(Dr["DS_MODULO_SISTEMA"]);
                    lista.Add(p);
                }

                return(lista);
            }
            catch (Exception ex)
            {
                throw new Exception("Erro ao Listar Todos Módulos: " + ex.Message.ToString());
            }
            finally
            {
                FecharConexao();
            }
        }
        public ResultadoServicio <ModuloSistemaDTO> GestionInicioSesion(string pUsuario, string pClave, string pCodigoModuloSistema)
        {
            UsuarioSistema usuarioSistemaAcceso;
            ModuloSistema  accesosModuloSistema         = null;
            bool           esUsuarioSistemaAccesoValido = false;
            bool           esUsuarioDelVendedorValido   = false;
            string         mensajeValidacion            = string.Empty;

            if (string.IsNullOrEmpty(pUsuario.Trim()) || string.IsNullOrEmpty(pClave.Trim()))
            {
                throw new ArgumentException(Mensajes.advertencia_UsuarioOClaveNula);
            }

            //Validamos Usuario Vendedor
            Vendedor vendedorLogueado = _IRepositorioVendedor.ObtenerVendedorPorUsuario(pUsuario);

            if (vendedorLogueado != null)
            {
                //Desecriptar clave
                var claveDesencriptada = EncriptacionBasica.EncriptarYDesencriptar(pClave.Trim().ToUpper());
                esUsuarioDelVendedorValido = _IServicioDominioValidarUsuarioVendedor
                                             .ValidarUsuarioVendedor(vendedorLogueado, claveDesencriptada.Trim());

                if (esUsuarioDelVendedorValido)
                {
                    usuarioSistemaAcceso = vendedorLogueado.UsuarioSistemaAcceso;
                }
                else
                {
                    usuarioSistemaAcceso = null;
                    mensajeValidacion    = Mensajes.advertencia_UsuarioVendedorInvalido;
                }
            }
            else
            {
                //Para los que inician session como otros usuarios diferentes a Vendedores
                usuarioSistemaAcceso = _IRepositorioUsuarioSistema.ObtenerUsuarioSistemaPorUsuario(pUsuario, pClave);
            }


            //Usaurio Sistema Valido
            if (usuarioSistemaAcceso != null)
            {
                //Obtenemos privilegios del usuario
                accesosModuloSistema = _IRepositorioModuloSistema
                                       .ObtenerDerechosAccesosUsuario(usuarioSistemaAcceso.CodigoUsuarioDeSistema.Trim(), pCodigoModuloSistema.Trim());

                esUsuarioSistemaAccesoValido = _IServicioDominioValidarUsuarioSistema
                                               .ValidarUsuarioSistema(usuarioSistemaAcceso, accesosModuloSistema, pClave.Trim());

                if (!(esUsuarioSistemaAccesoValido))
                {
                    mensajeValidacion = Mensajes.advertencia_UsuarioSistemaDeVendedorInvalido;
                }
            }
            else
            {
                mensajeValidacion = Mensajes.advertencia_UsuarioSistemaInvalido;
            }


            //Validamos usuario en el dominio (PENDIENTE de implementar de una manera orientada a objetos), ej. Active Directory
            // if (esUsuarioSistemaAccesoValido)
            //     esInicioSesionValido = _IAutenticacion.ValidarInicioSesion(string.Empty, string.Empty);


            //Devolucion
            if ((esUsuarioSistemaAccesoValido == true) &&
                (accesosModuloSistema != null))
            {
                mensajeValidacion = Mensajes.advertencia_UsuarioValido;
                // LogFactory.CrearLog().LogError(mensajeValidacion);

                return(new ResultadoServicio <ModuloSistemaDTO>(7, mensajeValidacion,
                                                                string.Empty, accesosModuloSistema.ProyectadoComo <ModuloSistemaDTO>(), null));
            }
            else
            {
                mensajeValidacion = Mensajes.advertencia_UsuarioSistemaInvalidoYSinDerechos;
                LogFactory.CrearLog().LogError(mensajeValidacion);

                return(new ResultadoServicio <ModuloSistemaDTO>(6, mensajeValidacion,
                                                                string.Empty, null, null));
            }
        }