Пример #1
0
        public void SaveHealthScoreTest_GivenValidHealthScore_ExpectSuccess()
        {
            string url = "api/SaveHealthScore";

            var healthScore = new HealthScoreDetails
            {
                UserId        = "*****@*****.**",
                BloodPressure = "1",
                Weight        = 150,
                Id            = 1
            };

            var json = JsonConvert.SerializeObject(healthScore);

            var content = new StringContent(json, Encoding.UTF8, "application/json");

            var httpResponse = _fixture.Client.PostAsync(url, content).Result;

            httpResponse.StatusCode.Should().Be(HttpStatusCode.OK);

            var jsonResponse = httpResponse.Content.ReadAsStringAsync().Result;

            var details = JsonConvert.DeserializeObject <Status>(jsonResponse);

            details.Should().NotBeNull();
            details.StatusCode.Should().Be(Status.SUCCESS_STATUS_CODE);
            details.StatusDesc.Should().Be(Status.SUCCESS_STATUS_TEXT);
        }
Пример #2
0
        public async Task <IActionResult> SaveHealthScore(
            [HttpTrigger(AuthorizationLevel.Anonymous, "post")] HealthScoreDetails details,
            HttpRequest req,
            ILogger log)
        {
            log.LogInformation($"C# HTTP {nameof(SaveHealthScore)} trigger function processed a request.");

            var result = await _manager.SaveAsync(details);

            return(new OkObjectResult(result));
        }
Пример #3
0
        public async Task <Status> SaveAsync(HealthScoreDetails details)
        {
            //details invalid..missing something
            if (!details.IsValid())
            {
                //return error
                return(details.status);
            }

            HealthScore savedEntity;
            Status      result;

            //look for the exisitng
            var existing = (await _repository.AsQueryAsync()).FirstOrDefault(p => p.Id == details.Id);

            //no exisiting found..so we add him
            if (existing == null)
            {
                savedEntity = Mapper.Map <HealthScore>(details);

                _repository.AddAsync(savedEntity);

                //success
                result = Status.SUCCESS;
                return(result);
            }

            //update the exisiting
            savedEntity = Mapper.Map <HealthScoreDetails, HealthScore>(details, existing);
            savedEntity.DateModified = DateTime.UtcNow;
            await _repository.UpdateAsync(savedEntity);

            //success
            result = Status.SUCCESS;
            return(result);
        }