internal override RESTarView <IEnumerable <object> > Populate(Request request, IEnumerable <object> data) { base.Populate(request, data); CanInsert = Resource.AvailableMethods.Contains(RESTarMethods.POST); if (data?.Any() != true) { return(this); } var template = request.Resource.MakeViewModelTemplate(); var jsonTemplate = $"[{template.SerializeVmJsonTemplate()}]"; Entities = new Arr <Json> { Template = Starcounter.Templates.Template.CreateFromJson(jsonTemplate) }; data.ForEach(e => Entities.Add().PopulateFromJson(e.SerializeStaticResourceToViewModel())); return(this); }
internal override RESTarView <object> Populate(Request request, object restarData) { var template = request.Resource.MakeViewModelTemplate(); var jsonTemplate = template.SerializeVmJsonTemplate(); Entity = new Json { Template = Starcounter.Templates.Template.CreateFromJson(jsonTemplate) }; if (restarData == null) { IsTemplate = true; base.Populate(request, template); } else { base.Populate(request, restarData); var json = restarData.SerializeStaticResourceToViewModel(); Entity.PopulateFromJson(json); } return(this); }
internal virtual RESTarView <TData> Populate(Request request, TData data) { Request = request; SetResourceName(Resource.Alias ?? Resource.Name); SetResourcePath($"/{Application.Current.Name}/{Resource.Alias ?? Resource.Name}"); var wd = Application.Current.WorkingDirectory; var exists = File.Exists($"{wd}/wwwroot/resources/{HtmlMatcher}"); if (!exists) { exists = File.Exists($"{wd}/../wwwroot/resources/{HtmlMatcher}"); } if (!exists) { throw new NoHtmlException(Resource, HtmlMatcher); } SetHtml($"/resources/{HtmlMatcher}"); if (data == null) { SetMessage("No entities found maching query", NoError, info); } RESTarData = data; return(this); }