/// <param name='operations'> /// The operations group for this extension method. /// </param> /// <param name='request'> /// </param> /// <param name='cancellationToken'> /// The cancellation token. /// </param> public static async Task <object> SetNewGoalAsync(this IGoals operations, SetNewGoalRequest request, CancellationToken cancellationToken = default(CancellationToken)) { using (var _result = await operations.SetNewGoalWithHttpMessagesAsync(request, null, cancellationToken).ConfigureAwait(false)) { return(_result.Body); } }
public async Task <ActionResult <GoalModel> > SetNewGoal([FromBody] SetNewGoalRequest request) { if (!ModelState.IsValid) { return(BadRequest(ModelState.GetErrorMessages())); } try { var result = await _repository.SetNewGoal( new GoalEntity { UserId = User.Claims.GetUserId(), Weight = request.Weight, WeightGoal = request.WeightGoal, StartDate = request.StartDate, Height = request.Height }); var response = new GoalModel { GoalId = result.GoalId, Weight = result.Weight, WeightGoal = result.WeightGoal, Height = result.Height, StartDate = result.StartDate, IsCompleted = result.IsCompleted, }; return(CreatedAtAction(nameof(GetGoal), new { goalId = response.GoalId }, response)); } catch (DbException ex) { return(BadRequest(ex.Message)); } catch (Exception) { return(StatusCode(500)); } }
/// <param name='operations'> /// The operations group for this extension method. /// </param> /// <param name='request'> /// </param> public static object SetNewGoal(this IGoals operations, SetNewGoalRequest request) { return(Task.Factory.StartNew(s => ((IGoals)s).SetNewGoalAsync(request), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult()); }