public async Task RemoverTipoPagamentoDoColaborador(Guid id, IEnumerable <TipoPagamentoViewModel> tiposPagamento) { var colaborador = _colaboradorRepository.GetById(id); var listaTiposPagamento = new List <TipoPagamento>(tiposPagamento.Select(s => _mapper.Map <TipoPagamento>(s))); var removerTipoPagamentoColaboradorCommand = new RemoverTipoPagamentoColaboradorCommand(colaborador, listaTiposPagamento); await _mediator.EnviarComando(removerTipoPagamentoColaboradorCommand); }
public async Task RemoverTipoPagamentoDoColaborador(Guid id, TipoPagamentoViewModel tipoPagamento) { var colaborador = _colaboradorRepository.GetById(id); var listaTiposPagamento = new List <TipoPagamento> { _mapper.Map <TipoPagamento>(tipoPagamento) }; var adicionarTipoPagamentoCommand = new RemoverTipoPagamentoColaboradorCommand(colaborador, listaTiposPagamento); await _mediator.EnviarComando(adicionarTipoPagamentoCommand); }
public async Task <bool> Handle(RemoverTipoPagamentoColaboradorCommand message, CancellationToken cancellationToken) { var success = await Validar(message); if (!success) { return(success); } var colaboradorDb = ObterColaboradorPorId(message, ref success); if (success) { if (await TipoPagamentoExiste(message.TiposPagamentoRemover, message)) { try { message.TiposPagamentoRemover.ForEach(item => { colaboradorDb.RemoverTipoPagamento(item); }); if (await AlterarColaborador(colaboradorDb, message.MessageType)) { await _mediatorHandler.PublicarEvento(new Events.Colaborador.ColaboradorTipoPagamentoRemovidoEvent(colaboradorDb)); } else { success = false; } } catch (DomainException ex) { await _mediatorHandler.PublicarNotificacao(new DomainNotification(message.MessageType, ex.Message)); success = false; } } } return(success); }