Tabela de conteúdos

Especificação Funcional: Gestor x IdBanco

Resumo

É necessário ter uma relação dos clientes com as escolas e isso é feito através do gestor com o idbanco.

Descrição

Para criar uma relação entre o cliente e as escolas foi criado a combinação Gestor x IdBanco. Ela irá relacionar um gestor(ou o próprio administrador do cliente) a um idbanco, desta forma, será possível saber quais escolas o cliente terá acesso. Por exemplo, o cliente Conceição da Barra deseja ter acesso a um conjunto de escolas, para isso, ele vai relacionar um ou mais gestores a essas escolas. A divisão fica a critério do administrador do cliente, se ele quiser relacionar todas as escolas para um só gestor ele pode, assim como, pode relacionar cada escola a um gestor diferente.

Essa relação é usada por exemplo, para verificar qual é o cliente de uma escola durante o processo de uma rematrícula, quando o cliente é identificado podemos validar a rematrícula.

Sincronização dos dados

Assim que o gestor é relacionado a um idbanco, o serviço School.CRUD começa a sincronizar as escolas do School.Web, ou seja, todas os dados do idbanco relacionado são cadastrados no School.CRUD usando o Id(identityGuid) do gestor, criando uma relação escola(school web) x gestor x cliente.

Antes de realizar a sincronização o School.CRUD executa dois procedimentos, primeiro ele verifica se existe alguma alteração de gestor, caso exista, ele transfere todos os dados de um gestor para outro, após isso ele verifica se existe algum gestor para o idbanco, caso não exista, as informações não serão sincronizadas.

Impacto nas permissões

As informações vinculadas a um gestor só podem ser vistas e alteradas pelo próprio gestor ou pelo administrador(futuramente o administrador só poderá visualizar os dados). Ou seja, o gestor ao acessar as configurações do pré-matrícula só terá acesso as escolas no qual ele está vinculado.

Definir e alterar o gestor do idbanco

Para definir ou alterar um gestor de um determinado idbanco é necessário inserir manualmente via insert SQL no banco de dados do School.CRUD, por isso, somente o desenvolvedor poderá fazer isso.