Ejemplo n.º 1
0
        public async Task <PerfilViewModel> Handle(BuscarPorId <PerfilViewModel> request, CancellationToken cancellationToken)
        {
            using (var connection = _context.Database.GetDbConnection())
            {
                var sql = @"SELECT [perfis].[Id]
                              ,[Nome]
                              ,[Descricao]
                              ,[DeletadoEm]
                              ,[atribuicoes_perfil].[Id] as AtribuicaoId
                              ,[atribuicoes_perfil].[Ativo]
                              ,[atribuicoes_perfil].[PermissaoId]
                          FROM [perfis] LEFT JOIN [atribuicoes_perfil] ON [atribuicoes_perfil].[PerfilId] = [perfis].[Id]
                          WHERE [perfis].[Id] = @uid AND [DeletadoEm] IS NULL";

                var result = await connection.QueryAsync <PerfilViewModel, AtribuicaoDTO,
                                                          PerfilViewModel>(sql, (p, a) =>
                {
                    if (a.PermissaoId != Guid.Empty)
                    {
                        p.Atribuicoes.Add(a);
                    }

                    return(p);
                }, new { uid = request.Id }, splitOn : "AtribuicaoId");

                if (result.ToList().Count == 0)
                {
                    throw new KeyNotFoundException("Perfil não encontrado");
                }


                return(MapResult(result.ToList()));
            }
        }
Ejemplo n.º 2
0
        public async Task <PermissaoViewModel> Handle(BuscarPorId <PermissaoViewModel> request, CancellationToken cancellationToken)
        {
            using (var connection = _context.Database.GetDbConnection())
            {
                var sql    = @"SELECT [Id]
                              ,[Atribuicao_Valor] as Valor
                              ,[Atribuicao_Tipo] as Tipo
                FROM [permissoes] WHERE [Id] = @uid AND [DeletadoEm] IS NULL";
                var result = await connection.QueryFirstOrDefaultAsync <PermissaoViewModel>(sql, new { uid = request.Id });

                if (result == null)
                {
                    throw new KeyNotFoundException("Permissão não encontrada");
                }


                return(result);
            }
        }
Ejemplo n.º 3
0
        public async Task <UsuarioViewModel> Handle(BuscarPorId <UsuarioViewModel> request, CancellationToken cancellationToken)
        {
            using (var connection = _context.Database.GetDbConnection())
            {
                var sql = @"SELECT
                               [Id]
                              ,[PrimeiroNome] AS Nome
                              ,[Sobrenome]
                              ,[Sexo]
                              ,[Email]
                              ,[CPF]
                              ,[DataDeNascimento_Data] AS DataDeNascimento
                              ,[Celular]
                              ,[Status]
                              ,[DeletadoEm]
                              ,[PerfilId]
                              ,[Telefone]
	                          ,[Logradouro]
                              ,[Numero]
                              ,[Complemento]
                              ,[Bairro]
                              ,[Cep] AS CEP
                              ,[Cidade]
                              ,[Estado]
                          FROM [usuarios] LEFT JOIN [usuario_endereco] ON [usuario_endereco].[UsuarioId] = [Id] WHERE [Id] = @uid AND [DeletadoEm] IS NULL";

                var query = await connection.QuerySingleOrDefaultAsync <UsuarioViewModel>(sql, new { uid = request.Id });

                if (query == null)
                {
                    throw new KeyNotFoundException("Usuário não encontrado");
                }

                return(query);
            }
        }