public async void SaveDeviceRuleAsyncTest()
        {
            var deviceId = fixture.Create <string>();
            var rules    = fixture.Create <List <DeviceRule> >();

            rules.ForEach(x => x.DeviceID = deviceId);
            _deviceRulesRepositoryMock.Setup(x => x.GetAllRulesForDeviceAsync(deviceId)).ReturnsAsync(rules);
            _deviceRulesRepositoryMock.Setup(x => x.SaveDeviceRuleAsync(It.IsNotNull <DeviceRule>()))
            .ReturnsAsync(new TableStorageResponse <DeviceRule>());

            var newRule = new DeviceRule();

            newRule.InitializeNewRule(deviceId);
            newRule.DataField = rules[0].DataField;
            var ret = await deviceRulesLogic.SaveDeviceRuleAsync(newRule);

            Assert.NotNull(ret.Entity);
            Assert.Equal(TableStorageResponseStatus.DuplicateInsert, ret.Status);

            newRule.InitializeNewRule(deviceId);
            newRule.DataField = "New data in DataField";
            ret = await deviceRulesLogic.SaveDeviceRuleAsync(newRule);

            Assert.NotNull(ret);
        }
コード例 #2
0
 public async Task <HttpResponseMessage> SaveDeviceRuleAsync(DeviceRule updatedRule)
 {
     return(await GetServiceResponseAsync <TableStorageResponse <DeviceRule> >(async() =>
     {
         return await _deviceRulesLogic.SaveDeviceRuleAsync(updatedRule);
     }));
 }
コード例 #3
0
        public async Task <ActionResult> UpdateRuleProperties(EditDeviceRuleModel model)
        {
            string errorMessage = model.CheckForErrorMessage();

            if (!string.IsNullOrWhiteSpace(errorMessage))
            {
                return(Json(new { error = errorMessage }));
            }

            DeviceRule rule = CreateDeviceRuleFromEditModel(model);
            TableStorageResponse <DeviceRule> response = await _deviceRulesLogic.SaveDeviceRuleAsync(rule);

            return(BuildRuleUpdateResponse(response));
        }