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);
        }
예제 #2
0
        public static UsuarioSistema CrearUsuarioSistema(string pUsuarioDeSistema, DateTime pFechaExpiracion,
                                                         //int pEstadoUsuario,
                                                         string pDescripcionUsuario, string pContraseña)
        {
            var usuarioSistema = new UsuarioSistema();

            usuarioSistema.GenerarNuevaIdentidad();

            usuarioSistema.CodigoUsuarioDeSistema = pUsuarioDeSistema;
            usuarioSistema.FechaExpiracion        = pFechaExpiracion;
            //usuarioSistema.EstadoUsuario = pEstadoUsuario;
            usuarioSistema.DescripcionUsuario = pDescripcionUsuario;
            usuarioSistema.Contraseña         = pContraseña;

            usuarioSistema.Habilitar();


            return(usuarioSistema);
        }