Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }