示例#1
0
        public async Task <ActionResult <PersonModel> > Put(PersonPutModel personPutModel)
        {
            var response = await _personService.PutAsync(personPutModel);

            if (response.IsError)
            {
                return(StatusCode((int)response.ErrorCode, response.ErrorDescription));
            }

            return(Ok(response.Data));
        }
示例#2
0
        public async Task <ServiceResponse <PersonModel> > PutAsync(PersonPutModel personPutModel)
        {
            try
            {
                var person = await _context.People.AsNoTracking().FirstOrDefaultAsync(f => f.Id == personPutModel.Id);

                if (person == null)
                {
                    return(new ServiceResponse <PersonModel>
                    {
                        ErrorCode = HttpStatusCode.NotFound,
                        ErrorDescription = "Person does not exist"
                    });
                }

                var updatedPerson = _mapper.Map <Person>(personPutModel);

                _context.Entry(updatedPerson).State = EntityState.Modified;

                if (await _context.SaveChangesAsync() > 0)
                {
                    return(new ServiceResponse <PersonModel>
                    {
                        Data = _mapper.Map <PersonModel>(updatedPerson)
                    });
                }

                return(new ServiceResponse <PersonModel>
                {
                    ErrorCode = HttpStatusCode.InternalServerError,
                    ErrorDescription = "Internal Server Error"
                });
            }
            catch (Exception e)
            {
                Debug.WriteLine(e);
                return(new ServiceResponse <PersonModel>
                {
                    ErrorCode = HttpStatusCode.InternalServerError,
                    ErrorDescription = "Internal Server Error"
                });
            }
        }