public async Task Change_static_sensor_visibility_and_response_ok_status_code(bool isVisible)
        {
            //Arrange
            var currentSensor = Defaults.ActiveStaticSensor;

            using var server = await GetDefaultTestServerBuilder()
                               .UseSensors(currentSensor)
                               .UseDefaultAuth()
                               .BuildAsync();

            var client = server.CreateClient();

            var changeVisibilitySensor = new ChangeVisibilityStaticSensorModel
            {
                Id = currentSensor.Id, IsVisible = isVisible
            };
            var changeVisibilitySensorJsonStr = JsonConvert.SerializeObject(changeVisibilitySensor);

            //Act
            var response = await client.PostAsync("api/admin/sensors/static/changeVisibility",
                                                  new StringContent(changeVisibilitySensorJsonStr, Encoding.UTF8, "application/json"));

            //Assert
            response.EnsureSuccessStatusCode();
        }
        public async Task Change_static_sensor_visibility_and_response_not_found_status_code()
        {
            //Arrange
            using var server = new TestServerBuilder()
                               .UseDefaultAuth()
                               .Build();
            var client = server.CreateClient();

            var changeVisibilityStaticSensor = new ChangeVisibilityStaticSensorModel {
                Id = 1
            };
            var changeVisibilityStaticSensorJsonStr = JsonConvert.SerializeObject(changeVisibilityStaticSensor);

            //Act
            var response = await client.PostAsync("api/admin/sensors/changeActivation",
                                                  new StringContent(changeVisibilityStaticSensorJsonStr, Encoding.UTF8, "application/json"));

            //Assert
            Assert.Equal(HttpStatusCode.NotFound, response.StatusCode);
        }
        public async Task <ActionResult> ChangeVisibilityStaticSensor(
            ChangeVisibilityStaticSensorModel model)
        {
            if (!ModelState.IsValid)
            {
                return(ValidationProblem());
            }

            try
            {
                var command =
                    _mapper.Map <ChangeVisibilityStaticSensorModel, ChangeStaticSensorVisibilityStateCommand>(model);
                await _mediator.Send(command);
            }
            catch (SensorNotFoundException ex)
            {
                return(NotFound(ex.Message));
            }

            return(Ok());
        }
        public async Task <ActionResult> ChangeVisibilityStaticSensor(
            [Bind(Prefix = nameof(ChangeVisibilityStaticSensorViewModel.Model))]
            [BindRequired]
            ChangeVisibilityStaticSensorModel model)
        {
            if (!ModelState.IsValid)
            {
                return(await BuildChangeVisibilityStaticSensorResultAsync(model.Id, model));
            }

            try
            {
                var command =
                    _mapper.Map <ChangeVisibilityStaticSensorModel, ChangeStaticSensorVisibilityStateCommand>(model);
                await _mediator.Send(command);
            }
            catch (SensorNotFoundException ex)
            {
                return(NotFound(ex));
            }

            return(RedirectToAction("Index"));
        }
        private async Task <ActionResult> BuildChangeVisibilityStaticSensorResultAsync(int?sensorId, ChangeVisibilityStaticSensorModel model = null)
        {
            if (!sensorId.HasValue)
            {
                return(this.StatusCodeView(HttpStatusCode.BadRequest, "Id is required"));
            }

            var sensor = await _readingsQueries.GetStaticSensorByIdAsync(sensorId.Value);

            if (sensor == null)
            {
                return(this.StatusCodeView(HttpStatusCode.NotFound, "Static Sensor not found"));
            }

            var detailsVM = _mapper.Map <SensorDTO, SensorDetailsViewModel>(sensor);
            var vm        = new ChangeVisibilityStaticSensorViewModel(model ?? new ChangeVisibilityStaticSensorModel
            {
                Id        = sensor.Id,
                IsVisible = sensor.IsVisible
            }, detailsVM);

            return(View(vm));
        }
Ejemplo n.º 6
0
 public ChangeVisibilityStaticSensorViewModel(ChangeVisibilityStaticSensorModel model, SensorDetailsViewModel details)
 {
     Model   = model;
     Details = details;
 }