public static async Task <List <T> > GetAsync(CancellationToken cancellationToken = default)
        {
            RouteAttribute routeAttribute = typeof(T).GetCustomAttributes(false).FirstOrDefault(x => x.GetType() == typeof(RouteAttribute)) as RouteAttribute;

            string url = routeAttribute.GetIndexRoute();

            RestRequest request = new RestRequest(url, Method.GET, DataFormat.Json);

            IRestResponse <List <T> > restResponse = await DataConnection.RequestAsync <List <T> >(request, cancellationToken);

            return(restResponse.Data);
        }
        public virtual async Task <T> CreateAsync(CancellationToken cancellationToken = default)
        {
            RouteAttribute routeAttribute = this.GetType().GetCustomAttributes(false).FirstOrDefault(x => x.GetType() == typeof(RouteAttribute)) as RouteAttribute;

            string url = routeAttribute.GetIndexRoute();

            RestRequest request = new RestRequest(url, Method.POST, DataFormat.Json);

            request.AddJsonBody(this);

            IRestResponse <T> restResponse = await DataConnection.RequestAsync <T>(request, cancellationToken);

            this.ID        = (restResponse.Data as DataPacket <T>).ID;
            this.CreatedAt = (restResponse.Data as DataPacket <T>).CreatedAt;
            this.UpdatedAt = (restResponse.Data as DataPacket <T>).UpdatedAt;

            return(restResponse.Data);
        }