コード例 #1
0
        public async Task <Response <object> > UpdateAsync(UpdateExerciseBindingModel bindingModel)
        {
            var response = await ValidateUpdateViewModel(bindingModel);

            if (response.ErrorOccurred)
            {
                return(response);
            }

            var exercise = await _exerciseRepository.GetByAsync(x => x.Id == bindingModel.Id);

            _exerciseRepository.Detach(exercise);

            var updatedExercise = _mapper.Map <Exercise>(bindingModel);

            updatedExercise.UserId = exercise.UserId;
            updatedExercise.User   = exercise.User;
            updatedExercise.Id     = exercise.Id;
            bool updateSucceed = await _exerciseRepository.UpdateAsync(updatedExercise);

            if (!updateSucceed)
            {
                response.AddError(Key.Exercise, Error.UpdateError);
            }
            response.SuccessResult = bindingModel;
            return(response);
        }
コード例 #2
0
        public async Task <IActionResult> UpdateAsync(UpdateExerciseBindingModel bindingModel)
        {
            var result = await _exerciseService.UpdateAsync(bindingModel);

            if (result.ErrorOccurred)
            {
                return(BadRequest(result));
            }
            return(Ok(result));
        }
コード例 #3
0
        private async Task <Response <object> > ValidateUpdateViewModel(UpdateExerciseBindingModel bindingModel)
        {
            var  response       = new Response <object>();
            bool exerciseExists = await _exerciseRepository.ExistAsync(x => x.Id == bindingModel.Id);

            if (!exerciseExists)
            {
                response.AddError(Key.Exercise, Error.NotExist);
            }
            return(response);
        }