Example #1
0
        public SubmitResult UpdatePageRefeneces(long pageId, long tenantId)
        {
            IEnumerable <Page> ps = Unit.PageRepository.GetReferencing(pageId, tenantId);

            foreach (var p in ps)
            {
                PageParameterForJson[] pars = Unit.PageParameterRepository.FindForJsonByPage(p.Id).ToArray();
                PageRouteDTO           r    = Unit.PageRouteRepository.FindByPage(p.Id);
                var fs = Unit.CustomFieldRepository.FindAs(FieldDefinition.Expression, d => d.PageId == p.Id).ToArray();
                fs = fs.Any() ? fs : null;
                Unit.PageRepository.UpdatePageViewParamsJson(p, pars, r, fs);
            }
            return(Unit.SaveChanges());
        }
Example #2
0
        public void UpdatePageViewParamsJson(Page p, PageParameterForJson[] ps, PageRouteDTO r, FieldDefinition[] definitions)
        {
            var jsonParams = p.ViewParams == null ? new ViewParams() : p.ViewParams.FromJson <ViewParams>();

            if (r != null)
            {
                jsonParams.AddUrl     = r.AddUrlString != null ? "/" + r.AddUrlString : null;
                jsonParams.DetailsUrl = r.DetailsUrlString != null ? "/" + r.DetailsUrlString : null;
                jsonParams.EditUrl    = r.EditUrlString != null ? "/" + r.EditUrlString : null;
                jsonParams.ListUrl    = r.ListUrlString != null ? "/" + r.ListUrlString : null;
            }
            foreach (var pp in ps)
            {
                jsonParams.Other[pp.Name] = pp.Value;
            }
            if (definitions != null)
            {
                jsonParams.Fields = definitions;
            }
            p.ViewParams = jsonParams.ToJson();
            Update(p);
        }