Пример #1
0
        /// <summary>
        /// <inheritdoc />
        /// </summary>
        /// <param name="id"></param>
        /// <param name="model"></param>
        /// <param name="cancellationToken"></param>
        /// <returns></returns>
        public async Task <Hobby> EditHobbyAsync(int id, EditHobbyViewModel model, CancellationToken cancellationToken = default(CancellationToken))
        {
            //Find hobby by id
            var hobbies = _unitOfWork.Hobbies.Search();
            var hobby   = await hobbies.FirstOrDefaultAsync(x => x.Id == id, cancellationToken);

            if (hobby == null)
            {
                throw new HttpException((int)HttpStatusCode.NotFound, HttpMessages.HobbyNotFound);
            }

            //Update hobby
            if (!string.IsNullOrEmpty(model.Name))
            {
                hobby.Name = model.Name;
            }

            if (!string.IsNullOrEmpty(model.Description))
            {
                hobby.Description = model.Description;
            }

            //Save change to database
            await _unitOfWork.CommitAsync();

            return(hobby);
        }
Пример #2
0
        public async Task <IHttpActionResult> EditHobby([FromUri] int id, [FromBody] EditHobbyViewModel model)
        {
            //Check null for model
            if (model == null)
            {
                model = new EditHobbyViewModel();
                Validate(model);
            }

            //Validate model
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var hobby = await _hobbyService.EditHobbyAsync(id, model, CancellationToken.None);

            return(Ok(hobby));
        }
Пример #3
0
        public async Task <IHttpActionResult> EditHobby([FromUri] int id, [FromBody] EditHobbyViewModel model)
        {
            //Check null for model
            if (model == null)
            {
                model = new EditHobbyViewModel();
                Validate(model);
            }

            //Validate model
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            //Find hobby by id
            var hobbies = _unitOfWork.Hobbies.Search();
            var hobby   = await hobbies.FirstOrDefaultAsync(x => x.Id == id);

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

            //Update hobby
            if (!string.IsNullOrEmpty(model.Name))
            {
                hobby.Name = model.Name;
            }

            if (!string.IsNullOrEmpty(model.Description))
            {
                hobby.Description = model.Description;
            }

            //Save change to database
            await _unitOfWork.CommitAsync();

            return(Ok(hobby));
        }