public async Task <ActionResult> SavePerson([FromBody] SavePersonDto person)
        {
            var newPerson = _mapper.Map <Person>(person);
            await _service.SavePerson(newPerson);

            return(Created(string.Empty, newPerson.Id));
        }
Example #2
0
        public PersonDto UpdatePerson(SavePersonDto savePersonDto)
        {
            var sameNamePerson = _repository.GetByName(savePersonDto.Name);

            var sameNamePersonIsExists = sameNamePerson != null && sameNamePerson.Id != savePersonDto.Id;

            if (sameNamePersonIsExists)
            {
                throw new InvalidOperationException("Database already contains a person with the same name");
            }

            long id     = (long)savePersonDto.Id;
            var  person = _repository.GetById(id);

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

            _mapper.Map(savePersonDto, person);

            _repository.Update(person);
            _repository.Save();

            return(CreatePersonDto(person));
        }
Example #3
0
        public async Task <string> SavePersonAsync(SavePersonDto person)
        {
            var personJson  = JsonConvert.SerializeObject(person);
            var buffer      = System.Text.Encoding.UTF8.GetBytes(personJson);
            var byteContent = new ByteArrayContent(buffer);

            byteContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");
            var response = await _httpClient.PostAsync($"person/", byteContent);

            return(await Task.Run(() => string.Empty));
        }
Example #4
0
 public IActionResult Post([FromBody] SavePersonDto savePersonDto)
 {
     if (savePersonDto.Id == null)
     {
         var personDto = _personService.CreatePerson(savePersonDto);
         return(Ok(personDto));
     }
     else
     {
         return(BadRequest());
     }
 }
Example #5
0
        public PersonDto CreatePerson(SavePersonDto savePersonDto)
        {
            var sameNamePerson = _repository.GetByName(savePersonDto.Name);

            var sameNamePersonIsExists = sameNamePerson != null;

            if (sameNamePersonIsExists)
            {
                throw new InvalidOperationException("Database already contains a person with the same name");
            }

            var person = _mapper.Map <SavePersonDto, Person>(savePersonDto);

            _repository.Create(person);
            _repository.Save();

            return(CreatePersonDto(person));
        }
Example #6
0
        public IActionResult Put(int id, [FromBody] SavePersonDto savePersonDto)
        {
            if (savePersonDto.Id == null)
            {
                savePersonDto.Id = id;
                var personDto = _personService.UpdatePerson(savePersonDto);

                if (personDto != null)
                {
                    return(Ok(personDto));
                }
                else
                {
                    return(NotFound());
                }
            }
            else
            {
                return(BadRequest());
            }
        }