Ejemplo n.º 1
0
        public async Task <Response> Handle(Request request, CancellationToken cancellationToken)
        {
            var user = await _userReadRepository.GetAsync(request.Id);

            var UserEmailVerify = await _userReadRepository.GetByEmailAsync(request.Email);

            if (user.Id != UserEmailVerify.Id)
            {
                return(new Response().AddError("Email already registered"));
            }

            user.Update(request.Name, request.Email);
            _userWriteRepository.Update(user);
            await _uow.CommitAsync();

            var emailSubject = "Alteração de conta";

            var emailBody = $"<p>Olá, {user.Name}!</p>" +
                            "<p>Sua conta de usuário no sistema Calculador de Dívida alterada com sucesso!<p/>";

            List <string> emails = new List <string>();

            emails.Add(user.Email);

            await _mediator.Publish(new Notification(emailSubject, emailBody, emails));

            return(new Response(user));
        }
Ejemplo n.º 2
0
        public async Task <Response> Handle(Request request, CancellationToken cancellationToken)
        {
            var user = await _userReadRepository.GetAsync(request.Id);

            if (user == null)
            {
                return(new Response().AddError("User does not exists"));
            }

            _userWriteRepository.Delete(user);
            await _uow.CommitAsync();

            return(new Response());
        }
Ejemplo n.º 3
0
        public async Task <IActionResult> GetAllByClient(int skip, int take)
        {
            var user = await _userReadRepository.GetAsync(long.Parse(_dadosSessao.DadosDoUsuario.UsuarioId));

            if (user == null)
            {
                return(BadRequest());
            }

            var data = await _debtReadRepository.GetAllPaginatedByCPF(user.CPF, skip, take);

            return(Ok(
                       new
            {
                Data = data.Select(d => d.ToVMSimple()),
                Total = _debtReadRepository.Total
            }
                       ));
        }
Ejemplo n.º 4
0
        public async Task <Response> Handle(Request request, CancellationToken cancellationToken)
        {
            var user = await _userReadRepository.GetAsync(request.Id);

            user.TurnIntoAdmin();

            _userWriteRepository.Update(user);
            await _uow.CommitAsync();

            var emailSubject = "Você é um administrador";

            var emailBody = $"<p>Olá, {user.Name}!</p>" +
                            "<p>Sua conta no sistema Calculador de Dívida agora é um administrador!.<p/>";

            List <string> emails = new List <string>();

            emails.Add(user.Email);

            await _mediator.Publish(new Notification(emailSubject, emailBody, emails));

            return(new Response(user));
        }
Ejemplo n.º 5
0
        public async Task <IActionResult> GetAll()
        {
            var data = await _userReadRepository.GetAsync();

            return(Ok(data.Select(d => d.ToVM())));
        }