public void Handle(AtualizarEventoCommand message) { if (!EventoExistente(message.Id, message.MessageType)) { return; } var evento = EventoModel.EventoFactory.NovoEventoCompleto(message.Id, message.Nome, message.DescricaoCurta, message.DescricaoLonga, message.DataInicio, message.DataFim, message.Gratuito, message.Valor, message.Online, message.NomeEmpresa, null); if (!EventoValido(evento)) { return; } _eventoRepository.Update(evento); if (Commit()) { _bus.RaiseEvent(new EventoAtualizadoEvent(evento.Id, evento.Nome, evento.DescricaoCurta, evento.DescricaoLonga, evento.DataInicio, evento.DataFim, evento.Gratuito, evento.Valor, evento.Online, evento.NomeEmpresa)); } }
public void Handle(AtualizarEventoCommand message) { var eventoAtual = _eventoRepository.ObterPorId(message.Id); if (!EventoExistente(message.Id, message.MessageType)) { return; } //TODO: Validar se o evento pertence a pessoa que esta editando. var evento = Evento.EventoFactory.NovoEventoCompleto(message.Id, message.Nome, message.DescricaoCurta, message.DescricaoLonga, message.DataInicio, message.DataFim, message.Gratuito, message.Valor, message.Online, message.NomeEmpresa, message.OrganizadorId, eventoAtual.Endereco, message.CategoriaId); if (!EventoValido(evento)) { return; } _eventoRepository.Atualizar(evento); if (Commit()) { _bus.RaiseEvent(new EventoAtualizadoEvent(evento.Id, evento.Nome, evento.DescricaoCurta, evento.DescricaoLonga, evento.DataInicio, evento.DataFim, evento.Gratuito, evento.Valor, evento.Online, evento.NomeEmpresa)); } }
public void Handle(AtualizarEventoCommand message) { //verifica se evento existe if (!EventoExistente(message.Id, message.MessageType)) { return; } //recebe o comando e tranforma na entidade //trabalhar com Factory pois permite melhor flexibilização na construção da classe var evento = Evento.EventoFactory.NovoEventoCompleto(message.Id, message.Nome, message.DescricaoCurta, message.DescricaoLonga, message.DataInicio, message.DataFim, message.Gratuito, message.Valor, message.OnLine, message.NomeEmpresa, null); if (!EventoValido(evento)) { return; } _eventoRepository.Atualizar(evento); //se evento foi atualizado com sucesso if (Commit()) { _bus.RaiseEvent(new EventoAtualizadoEvent(evento.Id, evento.Nome, evento.DescricaoCurta, evento.DescricaoLonga, evento.DataInicio, evento.DataFim, evento.Gratuito, evento.Valor, evento.Online, evento.NomeEmpresa)); } }
public Task Handle(AtualizarEventoCommand Message, CancellationToken cancellationToken) { var eventoAtual = _eventoRepository.ObterPorId(Message.Id); if (!EventoExistente(Message.Id, Message.MessageType)) { return(Task.FromResult(Unit.Value)); } if (eventoAtual.OrganizadorId != _user.GetUserId()) { _mediator.PublicarEvento(new DomainNotification(Message.MessageType, "Evento não pertence ao Organizador")); return(Task.FromResult(Unit.Value)); } var evento = Evento.EventoFactory.NovoEventoCompleto(Message.Id, Message.Nome, Message.DescricaoCurta, Message.DescricaoLonga, Message.DataInicio, Message.DataFim, Message.Gratuito, Message.Valor, Message.Online, Message.NomeEmpresa, Message.OrganizadorId, eventoAtual.Endereco, Message.CategoriaId); if (!evento.Online && evento.Endereco == null) { _mediator.PublicarEvento(new DomainNotification(Message.MessageType, "Não é possível atualizar um evento sem informar um endereço")); return(Task.FromResult(Unit.Value)); } if (!EventoValido(evento)) { return(Task.FromResult(Unit.Value)); } _eventoRepository.Atualizar(evento); if (Commit()) { _mediator.PublicarEvento(new EventoAtualizadoEvent(evento.Id, evento.Nome, evento.DescricaoCurta, evento.DescricaoLonga, evento.DataInicio, evento.DataFim, evento.Gratuito, evento.Valor, evento.Online, evento.NomeEmpresa)); } return(Task.FromResult(Unit.Value)); }
public void Handle(AtualizarEventoCommand message) { var eventoAtual = _eventoRepository.ObterPorId(message.Id); if (!EventoExistente(message.Id, message.MessageType)) { return; } if (eventoAtual.OrganizadorId != _user.GetUserId()) { _bus.RaiseEvent(new DomainNotification(message.MessageType, "Evento não pertence ao Organizador.")); return; } var evento = Evento.EventoFactory.NovoEventoCompleto(message.Id, message.Nome, message.DescricaoCurta, message.DescricaoLonga, message.DataInicio, message.DataFim, message.Gratuito, message.Valor, message.Online, message.NomeEmpresa, message.OrganizadorId, eventoAtual.Endereco, message.CategoriaId); if (!evento.Online && evento.Endereco == null) { _bus.RaiseEvent(new DomainNotification(message.MessageType, "Não é possível atualizar um evento online sem informar o endereço.")); } if (!EventoValido(evento)) { return; } _eventoRepository.Atualizar(evento); if (Commit()) { _bus.RaiseEvent(new EventoAtualizadoEvent(evento.Id, evento.Nome, evento.DescricaoCurta, evento.DescricaoLonga, evento.DataInicio, evento.DataFim, evento.Gratuito, evento.Valor, evento.Online, evento.NomeEmpresa)); } }
public Task Handle(AtualizarEventoCommand message, CancellationToken cancellationToken) { var eventoAtual = _eventoRepository.ObterPorId(message.Id); if (!EventoExistente(message.Id, message.MessageType)) { return(Task.CompletedTask); } // To Do: Validar se o evento pertence a pessoa que está editando. Usuário logado é diferente do usuário criador do evento, portanto não posso alterar // Com o GetUserId vc garante pegar o usuário que está de fato conectado no momento if (eventoAtual.OrganizadorId != _user.GetUserId()) { _mediator.PublicarEvento(new DomainNotification(message.MessageType, "Evento não pertence ao Organizador")); return(Task.CompletedTask); } var evento = Evento.EventoFactory.NovoEventoCompleto(message.Id, message.Nome, message.DescricaoCurta, message.DescricaoLonga, message.DataInicio, message.DataFim, message.Gratuito, message.Valor, message.Online, message.NomeEmpresa, message.OrganizadorId, eventoAtual.Endereco, message.CategoriaId); if (!evento.Online && evento.Endereco == null) { _mediator.PublicarEvento(new DomainNotification(message.MessageType, "Não é possível atualizar um evento sem informar o endereço")); return(Task.CompletedTask); } if (!EventoValido(evento)) { return(Task.CompletedTask); } _eventoRepository.Atualizar(evento); if (Commit()) { _mediator.PublicarEvento(new EventoAtualizadoEvent(evento.Id, evento.Nome, evento.DescricaoCurta, evento.DescricaoLonga, evento.DataInicio, evento.DataFim, evento.Gratuito, evento.Valor, evento.Online, evento.NomeEmpresa)); } return(Task.CompletedTask); }
public Task <bool> Handle(AtualizarEventoCommand message, CancellationToken cancellationToken) { var eventoAtual = _eventoRepository.ObterPorId(message.Id); if (!EventoExiste(message.Id, message.MessageType)) { return(Task.FromResult(false)); } if (eventoAtual.OrganizadorId != _user.GetUserId()) // Recupera o usuário logado { _mediator.PublicarEvento(new DomainNotification(message.MessageType, "Evento não pertence ao Organizador!")); return(Task.FromResult(false)); } var evento = Evento.EventoFactory.NovoEvento(message.Id, message.Nome, message.DescricaoCurta, message.DescricaoLonga, message.DataInicio, message.DataFim, message.Gratuito, message.Valor, message.Online, message.NomeEmpresa, message.OrganizadorId, eventoAtual.Endereco, message.CategoriaId); if (!evento.Online && evento.Endereco == null) { _mediator.PublicarEvento(new DomainNotification(message.MessageType, "Não é possível atualizar um evento presencial sem informar o endereço!")); return(Task.FromResult(false)); } if (!EventoValido(evento)) { return(Task.FromResult(false)); } _eventoRepository.Atualizar(evento); if (Commit()) { _mediator.PublicarEvento(new EventoAtualizadoEvent(evento.Id, evento.Nome)); } return(Task.FromResult(true)); }
public void Handle(AtualizarEventoCommand message) { throw new NotImplementedException(); }
public void Handle(AtualizarEventoCommand message) { var eventoAtual = _eventoRepository.ObterPorId(message.Id); // Verifica se há evento com o ID informado if (!EventoExistente(message.Id, message.MessageType)) { return; } // Verifica se o evento que estou editando é meu mesmo if (eventoAtual.OrganizadorId != _user.GetUserId()) { _bus.RaiseEvent(new DomainNotification(message.MessageType, "Evento não pertence ao Organizador!")); return; } var evento = Evento.EventoFactory.NovoEventoCompleto( message.Id, message.Nome, message.DescricaoCurta, message.DescricaoLonga, message.DataInicio, message.DataFim, message.Gratuito, message.Valor, message.Online, message.NomeEmpresa, message.OrganizadorId, eventoAtual.Endereco, message.CategoriaId ); if (!evento.Online && evento.Endereco.Equals(null)) { _bus.RaiseEvent(new DomainNotification(message.MessageType, "Não é possível atualizar o evento sem informar o endereço.")); return; } // Valida evento if (!EventoValido(evento)) { return; } // Faz o update(atualização) do evento _eventoRepository.Atualizar(evento); // Lança o evento se tudo estiver correto if (Commit()) { _bus.RaiseEvent(new EventoAtualizadoEvent( evento.Id, evento.Nome, evento.DescricaoCurta, evento.DescricaoLonga, evento.DataInicio, evento.DataFim, evento.Gratuito, evento.Valor, evento.Online, evento.NomeEmpresa )); } }