public async Task <TModelBase> GetEntityAsync(TModelBase filter, string resourcepath)
        {
            var request = RestSharpExt.PrepareRequestJson(_apiPath + resourcepath, Method.POST);

            request.AddJsonBody(filter);
            var response = await request.ExecuteAsync <TModelBase>(_currentUser, _authorization);

            return(response);
        }
        public async Task <bool> DeleteAsync(TModelBase model)
        {
            var request = RestSharpExt.PrepareRequestJson(_apiPath + "id/{id}", Method.DELETE);
            var m       = model as ModelBase;

            request.AddUrlSegment("id", m.id.ToString());
            request.AddJsonBody(model);
            var response = await request.ExecuteAsync <ResponseModel>(_currentUser, _authorization);

            return(!response.isError);
        }
        public async Task <TModelBase> AddOrUpdateAsync(TModelBase model)
        {
            var request = RestSharpExt.PrepareRequestJson(_apiPath + "id/{id}", Method.PUT);
            var m       = model as ModelBase;

            request.AddUrlSegment("id", m.id.ToString());
            request.AddJsonBody(model);
            var response = await request.ExecuteAsync <TModelBase>(_currentUser, _authorization);

            return(response);
        }
        public async Task <List <TModelBase> > GetCollectionAsync(TModelBase filter, string resourcepath, Method methodrest = Method.POST)
        {
            var request = RestSharpExt.PrepareRequestJson(_apiPath + resourcepath, methodrest);

            if (filter != null)
            {
                request.AddJsonBody(filter);
            }

            var response = await request.ExecuteAsync <List <TModelBase> >(_currentUser, _authorization);

            return(response);
        }