Esempio n. 1
0
 /// <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);
     }
 }
Esempio n. 2
0
        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));
            }
        }
Esempio n. 3
0
 /// <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());
 }