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())); } }
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); } }
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); } }