예제 #1
0
        public async Task <ActionResult <PersonResource> > UpdatePerson(int id, [FromBody] SavePersonResource savePersonResource)
        {
            var validator        = new SavePersonResourceValidator();
            var validationResult = await validator.ValidateAsync(savePersonResource);

            var requestIsInvalid = id == 0 || !validationResult.IsValid;

            if (requestIsInvalid)
            {
                return(BadRequest(validationResult.Errors)); // this needs refining, but for demo it is ok
            }
            var personToBeUpdate = await _personService.GetById(id);

            if (personToBeUpdate == null)
            {
                return(NotFound());
            }

            var person = _mapper.Map <SavePersonResource, Person>(savePersonResource);

            await _personService.Update(personToBeUpdate, person);

            var updatedPerson = await _personService.GetById(id);

            var updatedPersonResource = _mapper.Map <Person, PersonResource>(updatedPerson);

            return(Ok(updatedPersonResource));
        }
        public async Task <ActionResult <PersonResource> > UpdatePerson([FromBody] SavePersonResource savePersonResource)
        {
            //Model dogrulama kontrolü yapılıyor.
            var validator        = new SavePersonResourceValidator();
            var validationResult = await validator.ValidateAsync(savePersonResource);

            if (!validationResult.IsValid)
            {
                return(BadRequest(validationResult.Errors)); // this needs refining, but for demo it is ok
            }
            //güncellenecek kişi bulunuyor
            var personToBeUpdated = await _personService.GetPersonById(savePersonResource.Id);

            //kişi bulunamadıysa hata dönüyor
            if (personToBeUpdated == null)
            {
                return(NotFound());
            }

            //AutoMapper
            var person = _mapper.Map <SavePersonResource, PersonInformation>(savePersonResource);
            //Kişi güncelleniyor
            await _personService.UpdatePerson(personToBeUpdated, person);

            //güncellenen kişi getiriliyor
            var updatedPerson = await _personService.GetPersonById(savePersonResource.Id);

            //Getirilen kisi autoMapper ile verileri esleniyor ve response'da bu veriler dönülüyor
            var updatedPersonResource = _mapper.Map <PersonInformation, PersonResource>(updatedPerson);

            return(Ok(updatedPersonResource));
        }
예제 #3
0
        public async Task <ActionResult <PersonResource> > CreatePerson([FromBody] SavePersonResource savePersonResource)
        {
            var validator        = new SavePersonResourceValidator();
            var validationResult = await validator.ValidateAsync(savePersonResource);

            if (!validationResult.IsValid)
            {
                return(BadRequest(validationResult.Errors)); // this needs refining, but for demo it is ok
            }
            var personToCreate = _mapper.Map <SavePersonResource, Person>(savePersonResource);

            var newPerson = await _personService.CreatePerson(personToCreate);

            var person = await _personService.GetById(newPerson.Id);

            var personResource = _mapper.Map <Person, PersonResource>(person);

            return(Ok(personResource));
        }
        public async Task <ActionResult <PersonResource> > CreatePerson([FromBody] SavePersonResource savePersonResource)
        {
            //Model dogrulama kontrolü yapılıyor.
            var validator        = new SavePersonResourceValidator();
            var validationResult = await validator.ValidateAsync(savePersonResource);

            if (!validationResult.IsValid)
            {
                return(BadRequest(validationResult.Errors));
            }

            //AutoMapper
            var personToCreate = _mapper.Map <SavePersonResource, PersonInformation>(savePersonResource);
            //kisi ekleniyor
            var newPerson = await _personService.CreatePerson(personToCreate);

            //eklenen kisi cagırılıyor
            var person = await _personService.GetPersonById(newPerson.Id);

            //Getirilen kisi autoMapper ile verileri esleniyor ve response'da bu veriler dönülüyor
            var personResource = _mapper.Map <PersonInformation, PersonResource>(person);

            return(Ok(personResource));
        }