示例#1
0
        public void Handle(OrganizerRegistrationCommand message)
        {
            var organizer = new Organizer(message.Id, message.SIN, message.Name, message.Email);

            if (!organizer.IsValid())
            {
                NotifyValidationError(organizer.ValidationResult);
                return;
            }

            var existOrganizer = _organizerRepository.Find(o => o.SIN == organizer.SIN || o.Email == organizer.Email);

            if (existOrganizer.Any())
            {
                _bus.RaiseEvent(new DomainNotification(message.MessageType, "SIN or E-mail already exists"));
            }

            _organizerRepository.Add(organizer);

            //TODO: Add to repository

            if (Commit())
            {
                _bus.RaiseEvent(new OrganizerRegisteredEvent(organizer.Id, organizer.SIN, organizer.Name, organizer.Email));
            }
        }
        public Task <Unit> Handle(RegisterOrganizerCommand message, CancellationToken cancellationToken)
        {
            var organizer = new Organizer(message.Id, message.Name, message.Email, message.DocumentId);

            if (!organizer.IsValid())
            {
                NotifyValidationError(organizer.ValidationResult);
                return(Task.FromResult(Unit.Value));
            }

            var organizerExists = _organizerRepository.Search(o => o.DocumentId == organizer.DocumentId || o.Email == organizer.Email);

            if (organizerExists.Any())
            {
                _mediator.PublishEvent(new DomainNotification(message.MessageType, "Document ID or Email already registered"));
            }

            _organizerRepository.Add(organizer);

            if (Commit())
            {
                _mediator.PublishEvent(new OrganizerRegisteredEvent(organizer.Id, organizer.Name, organizer.Email, organizer.DocumentId));
            }

            return(Task.FromResult(Unit.Value));
        }
示例#3
0
 public IActionResult Create(Organizer organizer)
 {
     if (ModelState.IsValid)
     {
         Organizer newOrganizer = _organizerRepository.Add(organizer);
         return(RedirectToAction("details", new { id = newOrganizer.Id }));
     }
     return(View());
 }
        public IHttpActionResult Post([FromBody] Organizer organizer)
        {
            var result = new Organizer();

            if (ModelState.IsValid)
            {
                result = organizerRepository.Add(organizer);
            }

            return(Json(result));
        }
        public Tournament Add(Tournament tournament)
        {
            Organizer organizer;

            if (tournament.Organizer == null)
            {
                organizer = organizerRepository.Add(tournament.Organizer);
            }
            else
            {
                organizer = organizerRepository.Get(tournament.Organizer.Id);
            }

            Venue venue;

            if (tournament.Venue == null)
            {
                venue = venueRepository.Add(tournament.Venue);
            }
            else
            {
                venue = venueRepository.Get(tournament.Venue.Id);
            }

            ICollection <Category> categories = new List <Category>();

            if (tournament.Categories != null && tournament.Categories.Count > 0)
            {
                foreach (Category category in tournament.Categories)
                {
                    var categoryFromDb = categoryRepository.Get(category.Id);

                    if (categoryFromDb == null)
                    {
                        categories.Add(categoryRepository.Add(category));
                    }
                    else
                    {
                        categories.Add(categoryFromDb);
                    }
                }
            }

            tournament.Organizer  = organizer;
            tournament.Venue      = venue;
            tournament.Categories = categories;

            var result = context.Tournaments.Add(tournament);

            Save();

            return(result);
        }
示例#6
0
        public void Handle(RegisterOrganizerCommand message)
        {
            var organizador = new Organizer(message.Id, message.Name, message.Document, message.Email);

            if (!organizador.IsValid())
            {
                NotificarValidacoesErro(organizador.ValidationResult);
                return;
            }

            var organizadorExistente = _organizadorRepository.Search(o => o.Document == organizador.Document || o.Email == organizador.Email);

            if (organizadorExistente.Any())
            {
                _bus.RaiseEvent(new DomainNotification(message.MessageType, "CPF ou e-mail já utilizados"));
            }

            _organizadorRepository.Add(organizador);

            if (Commit())
            {
                _bus.RaiseEvent(new OrganizerRegisteredEvent(organizador.Id, organizador.Name, organizador.Document, organizador.Email));
            }
        }