public CommandStatus Handle(StorePersonCommand request)
        {
            var stored = _person_repo.Load().ToList();

            var persons = Update_or_crate_Person(stored, request);

            _person_repo.Save(persons);

            return(new Success());
        }
Exemple #2
0
        private Event Map(StorePersonCommand cmd)
        {
            var person_avatar_data = new PersonAvatarData()
            {
                Person_Id = cmd.Id,
                Avatar    = cmd.Avatar
            };

            var person_context = new PersonsContext(cmd.Id, nameof(PersonsContext));

            return(new PersonAvatarStored(nameof(PersonAvatarStored), person_context, person_avatar_data));
        }
Exemple #3
0
        private Event Map(StorePersonCommandContextModel cmd_model, StorePersonCommand cmd)
        {
            var person_data = new PersonData()
            {
                Person = new Person()
                {
                    Id         = cmd.Id,
                    First_name = cmd.FirstName,
                    Last_name  = cmd.LastName
                }
            };

            var person_context = new PersonsContext(person_data.Person.Id, nameof(PersonsContext));

            if (cmd_model.Person_existing)
            {
                return(new PersonUpdated(nameof(PersonUpdated), person_context, person_data));
            }

            return(new PersonStored(nameof(PersonStored), person_context, person_data));
        }
Exemple #4
0
        public IActionResult Store_person(StorePersonCommand store_person_command)
        {
            _logger.LogInformation($"store person command, id: { store_person_command.Id }");

            using (var msgpump = new MessagePump(_es))
            {
                var context_manager   = new StorePersonCommandContextManager(_es);
                var message_processor = new StorePersonCommandProcessor();
                msgpump.Register <StorePersonCommand>(context_manager, message_processor);

                var result = msgpump.Handle(store_person_command) as CommandStatus;
                if (result is Success)
                {
                    return(Ok());
                }
                else
                {
                    return(BadRequest());
                }
            }
        }
        private IEnumerable <Person> Update_or_crate_Person(List <Person> persons, StorePersonCommand request)
        {
            if (persons.Exists(person => person.Id.Equals(request.Id)))
            {
                var index = persons.FindIndex(pers => pers.Id.Equals(request.Id));
                persons.ElementAt(index).FirstName = request.FirstName;
                persons.ElementAt(index).LastName  = request.LastName;
            }
            else
            {
                var person = new Person()
                {
                    Id        = request.Id,
                    FirstName = request.FirstName,
                    LastName  = request.LastName,
                };

                persons.Add(person);
            }

            return(persons);
        }
 public CommandStatus New_person([Payload] StorePersonCommand storePersonCommand)
 {
     Console.WriteLine($"store person id: { storePersonCommand.Id }");
     return(_storePersonCommandHandler().Handle(storePersonCommand));
 }