public async Task <IActionResult> Post([FromBody] PersonGeneralViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(HttpBadRequest(ModelState));
            }

            var person = await _servicePerson.CreatePerson(model.FirstName, model.Surname, model.DoB, model.Email, String.Empty);

            model.Identity = person.Identity;

            // TODO: Look at how we want to have global identity for the person domain concept
            return(Created(Request.GetEncodedUrl() + model.GetHashCode(), model));
        }
        public IActionResult Put(int id, [FromBody] PersonGeneralViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(HttpBadRequest(ModelState));
            }

            var person = _repoPerson.GetById(id.ToString());

            if (person == null)
            {
                return(HttpNotFound());
            }

            person.FirstName = model.FirstName;
            person.Surname   = model.Surname;
            person.Dob       = model.DoB;
            person.Email     = model.Email;

            _repoPerson.Update(person);

            return(Ok(model));
        }