Пример #1
0
        public async Task <IActionResult> UpdateTraining(TrainingTemplateUpdateModel model)
        {
            RestRequest request;
            IRestResponse <TrainingTemplateDto> response;

            if (!ModelState.IsValid)
            {
                ViewBag.Categories = await trainingCategoryService.GetTrainingCategoriesAsync(
                    httpClientService.NewInstance(token));

                request = new RestRequest("training-template/id/" + model.Id, Method.GET);

                response = await httpClientService.NewInstance(token)
                           .ExecuteWithTimeoutExceptionAsync <TrainingTemplateDto>(request);

                ViewBag.Exercises = response.Data.Exercises;

                return(View(model));
            }

            request = new RestRequest("training-template/update", Method.PUT);
            request.AddJsonBody(model);

            response = await httpClientService.NewInstance(token)
                       .ExecuteWithTimeoutExceptionAsync <TrainingTemplateDto>(request);

            return(Redirect("update/" + response.Data.Id));
        }
        public async Task <TrainingTemplateDto> AddTrainingTemplateAsync(TrainingTemplateModel model, int userId)
        {
            TrainingTemplateUpdateModel updateModel =
                mapper.Map <TrainingTemplateModel, TrainingTemplateUpdateModel>(model);

            return(await UpsertTrainingTemplateAsync(updateModel, userId));
        }
        private async Task <TrainingTemplateDto> UpsertTrainingTemplateAsync(TrainingTemplateUpdateModel model, int userId)
        {
            if (await trainingCategoryService.GetCategoryByIdAsync(model.CategoryId) is null)
            {
                return(null);
            }

            TrainingTemplate trainingTemplate;

            if (model.Id.Equals(0))
            {
                trainingTemplate           = mapper.Map <TrainingTemplateUpdateModel, TrainingTemplate>(model);
                trainingTemplate.CreatorId = userId;

                trainingTemplate = await traingingTemplateRepository.AddAsync(trainingTemplate);
            }
            else
            {
                trainingTemplate = await traingingTemplateRepository.GetByIdAsync(model.Id);

                if (trainingTemplate is not null)
                {
                    mapper.Map(model, trainingTemplate);
                    trainingTemplate = await traingingTemplateRepository.UpdateAsync(trainingTemplate);
                }
                else
                {
                    return(null);
                }
            }

            await traingingTemplateRepository.SaveChangesAsync();

            return(mapper.Map <TrainingTemplate, TrainingTemplateDto>(trainingTemplate));
        }
Пример #4
0
 public async Task <IActionResult> UpdateTrainingTemplateAsync([FromBody] TrainingTemplateUpdateModel model)
 {
     return(this.ConvertResult(
                await trainingTemplateService.UpdateTrainingTemplateAsync(model, userResolverService.GetUserId())));
 }
 public async Task <TrainingTemplateDto> UpdateTrainingTemplateAsync(TrainingTemplateUpdateModel model, int userId)
 {
     return(await UpsertTrainingTemplateAsync(model, userId));
 }