public object Patch([FromBody] dynamic model, string id) { var outboundRuleId = new OutboundRuleId(id); Site site = outboundRuleId.SiteId == null ? null : SiteHelper.GetSite(outboundRuleId.SiteId.Value); if (outboundRuleId.SiteId != null && site == null) { return(NotFound()); } OutboundRulesSection section = OutboundRulesHelper.GetSection(site, outboundRuleId.Path); OutboundRule rule = (OutboundRule)section.Rules.FirstOrDefault(r => r.Name.Equals(outboundRuleId.Name, StringComparison.OrdinalIgnoreCase)); if (rule == null) { return(NotFound()); } OutboundRulesHelper.UpdateRule(model, rule, section); ManagementUnit.Current.Commit(); dynamic updatedRule = OutboundRulesHelper.RuleToJsonModel(rule, site, outboundRuleId.Path, Context.Request.GetFields(), true); if (updatedRule.id != id) { return(LocationChanged(OutboundRulesHelper.GetRuleLocation(updatedRule.id), updatedRule)); } return(updatedRule); }