Example #1
0
        public async Task <ActionResult> UpdateRuleProperties(EditLocationRuleModel editModel)
        {
            LocationRule updatedRule = CreateLocationRuleFromEditModel(editModel);
            TableStorageResponse <LocationRule> result = await _locationRulesLogic.SaveLocationRuleAsync(updatedRule);

            return(BuildRuleUpdateResponse(result));
        }
Example #2
0
        public async Task <ActionResult> GetRuleProperties(string regionId, string ruleId)
        {
            LocationRule rule = await _locationRulesLogic.GetLocationRuleAsync(regionId, ruleId);

            EditLocationRuleModel editModel = CreateEditModelFromLocationRule(rule);

            editModel.IsCreateRequest = false;
            return(PartialView("_LocationRuleProperties", editModel));
        }
Example #3
0
        public async Task <ActionResult> UpdateRuleEnabledState(EditLocationRuleModel ruleModel)
        {
            TableStorageResponse <LocationRule> response = await _locationRulesLogic.UpdateLocationRuleEnabledStateAsync(
                ruleModel.RegionId,
                ruleModel.RuleId,
                ruleModel.EnabledState);

            return(BuildRuleUpdateResponse(response));
        }
Example #4
0
        public async Task <ActionResult> Default()
        {
            LocationRule rule = await _locationRulesLogic.GetDefaultLocationRuleAsync();

            EditLocationRuleModel editModel = CreateEditModelFromLocationRule(rule);

            editModel.IsCreateRequest = false;

            return(View("EditLocationRuleProperties", editModel));
        }
Example #5
0
        public async Task <ActionResult> CreateOrUpdate(double lat, double lng)
        {
            var          regionId = $"{Math.Truncate(lat * 10)/10}_{Math.Truncate(lng*10)/10}";
            LocationRule rule     = await _locationRulesLogic.GetLocationRuleOrDefaultAsync(regionId, lat, lng);

            EditLocationRuleModel editModel = CreateEditModelFromLocationRule(rule);

            if (string.IsNullOrWhiteSpace(rule.RuleId))
            {
                editModel.IsCreateRequest = true;
            }
            else
            {
                editModel.IsCreateRequest = false;
            }

            return(View("EditLocationRuleProperties", editModel));
        }
Example #6
0
        private LocationRule CreateLocationRuleFromEditModel(EditLocationRuleModel editModel)
        {
            LocationRule rule = new LocationRule()
            {
                EnabledState      = editModel.EnabledState,
                RegionId          = editModel.RegionId,
                RegionLatitude    = editModel.RegionLatitude,
                RegionLongitude   = editModel.RegionLongitude,
                Region            = editModel.Region,
                RuleId            = editModel.RuleId,
                VerticalThreshold = editModel.VerticalThreshold,
                LateralThreshold  = editModel.LateralThreshold,
                ForwardThreshold  = editModel.ForwardThreshold,
                RuleOutput        = editModel.RuleOutput,
                Etag = editModel.Etag
            };

            return(rule);
        }
Example #7
0
        private EditLocationRuleModel CreateEditModelFromLocationRule(LocationRule rule)
        {
            EditLocationRuleModel model = new EditLocationRuleModel()
            {
                RegionId          = rule.RegionId,
                Region            = rule.Region,
                RuleId            = rule.RuleId,
                RegionLatitude    = rule.RegionLatitude,
                RegionLongitude   = rule.RegionLongitude,
                VerticalThreshold = rule.VerticalThreshold,
                LateralThreshold  = rule.LateralThreshold,
                ForwardThreshold  = rule.ForwardThreshold,
                EnabledState      = rule.EnabledState,
                RuleOutput        = rule.RuleOutput,
                Etag = rule.Etag
            };

            return(model);
        }