public async Task <IActionResult> AddBodyWeight([Required] NewBodyWeightMeasurement bodyWeightModel) { var(isValid, reason) = bodyWeightModel.IsValid(); if (!isValid) { return(BadRequest(reason)); } var userId = httpContextAccessor.GetUserId(); var userProfile = await userProfileRepository.GetUserProfileAsync(userId); if (!userProfile.HasValue) { return(NotFound()); } if (userProfile.ValueOrFailure().BirthDate > bodyWeightModel.MeasuredOn) { return(BadRequest("Measure date must be greater than birth date.")); } var entity = new BodyWeight { UserId = userId, Weight = bodyWeightModel.Weight, MeasuredOn = bodyWeightModel.MeasuredOn }; await bodyInfoRepository.AddBodyWeightAsync(entity); var model = new BodyWeightModel(entity.ID, entity.Weight, entity.MeasuredOn); return(Ok(model)); }
public async Task <IActionResult> DeleteBodyWeight([Required] BodyWeightModel bodyWeightModel) { var userId = httpContextAccessor.GetUserId(); var entity = new BodyWeight { ID = bodyWeightModel.Id, UserId = userId, Weight = bodyWeightModel.Weight, MeasuredOn = bodyWeightModel.MeasuredOn }; await bodyInfoRepository.DeleteBodyWeightAsync(entity); return(NoContent()); }