Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Mar 24 18:06
    StevenLiekens commented #59
  • Mar 24 18:05
    StevenLiekens closed #59
  • Mar 24 18:05
    StevenLiekens commented #59
  • Mar 24 17:47
    StevenLiekens closed #58
  • Mar 24 17:47
    StevenLiekens commented #58
  • Mar 19 13:02
    Friesinator edited #59
  • Mar 19 13:01
    Friesinator opened #59
  • Mar 18 12:38
    StevenLiekens commented #58
  • Mar 15 15:19
    GHOSCHT commented #58
  • Mar 14 22:01
    Seeker1437 commented #58
  • Mar 14 20:08
    GHOSCHT commented #58
  • Mar 12 15:40
    StevenLiekens commented #58
  • Mar 10 15:46
    GHOSCHT opened #58
  • Apr 15 2018 16:43

    Ruhrpottpatriot on ServiceClient

    Remove superfluous compression … Add simple caching to Core proj… Move files into different folde… and 8 more (compare)

  • Apr 10 2018 21:09

    Ruhrpottpatriot on ServiceClient

    Add fluent api to create HttpRe… Fix Stylecop errors Remove dead code and 3 more (compare)

  • Mar 29 2018 13:11

    Ruhrpottpatriot on NetCore2.0

    Remove disabled and superseded … Delete unused leftover code fro… Move V1.Guild test to appropria… and 8 more (compare)

  • Mar 29 2018 12:17

    Ruhrpottpatriot on NetCore2.0

    Update .gitignore to exclude St… Add Api builder class (compare)

  • Feb 01 2018 09:33

    Ruhrpottpatriot on master

    Refactorize ServiceClient.GetHt… Merge pull request #57 from Kor… (compare)

  • Feb 01 2018 09:33
    Ruhrpottpatriot closed #57
  • Dec 27 2017 17:37
    Korjam opened #57
Darnell Williams
@Seeker1437
I guess it's time to wipe my dotnet stuff and try again :D
Robert Logiewa
@Ruhrpottpatriot
Ok
i fucking hate T4 templates
everything is correct, but there are errors
Steven Liekens
@StevenLiekens
haha
do you need me to get rid of them?
they are really not necessary except to speed up development
maybe we should just use automapper
Robert Logiewa
@Ruhrpottpatriot
I'm currently thinking about something other alongside that line
I wanted to move the actual Models from Core to their respective projects
this would give the user the ability to swap out everything he wants
Robert Logiewa
@Ruhrpottpatriot
So
I checked the HttpClient branch
everything seems to be in order and working
Except EventRotations
if someone could double check that, we could move to automapper as next step
Robert Logiewa
@Ruhrpottpatriot
I just realised I had many more leftovers from the old DNX stuff than I imagined.
Had to delete at least five folders manually.
Steven Liekens
@StevenLiekens
@Ruhrpottpatriot you can't move the Core models into separate libraries because they depend on eachother
sometimes in a circular way
like items and recipes
but that's okay because models don't contain complicated logic
Steven Liekens
@StevenLiekens
the only thing about their implementation that might cause friction is the IEquatable stuff
and tbh maybe it's better if we don't implement those interfaces
Steven Liekens
@StevenLiekens
I don't know where you would draw the line for two objects in the API to be equal or not
right now most models have an Equals implementation that returns true when their IDs are the same
which I think is a mistake
Darnell Williams
@Seeker1437
I would agree only if the api is async :O
Or if the information is contextual
But then if the information is contextual, youre making a mistake if they are the same object
Steven Liekens
@StevenLiekens
there's one other thing... build versioning
all information is contextual knowing that it can change between builds
Robert Logiewa
@Ruhrpottpatriot
Yeah, I gave up on moving models into the other libraries. But now I have another idea
Darnell Williams
@Seeker1437
Care to share?
Robert Logiewa
@Ruhrpottpatriot
Of course we want to offer caching to the user. Currently the cache implementation simply takes the items returned from the api and stores them.
But while I was working on it, I saw that the cache is really nothing more than another repository with just another data back end.
As you might know, I changed the repositories from a full blown implementation, where every repository had the query logic built in, to extension methods.
This means, a repository in core just looks like this now:


        /// <inheritdoc />
        public CultureInfo Culture { get; set; }


        /// <inheritdoc />
        public IConverter<int, int> IdentifiersConverter { get; }

        /// <inheritdoc />
        public IConverter<ItemDataModel, Item> ModelConverter { get; }

        /// <inheritdoc />
        public IParameterizedBuilder ServiceLocation
        {
            get
            {
                return ApiMessageBuilder.Init().Version(ApiVersion.V2).OnEndpoint("items");
            }
        }
The problem I was facing was that the base class of the repository relied on the HttpClient to make connections.
If I was to treat a cache as another repository I need to decouple both.
Darnell Williams
@Seeker1437
Ah I see :O
Robert Logiewa
@Ruhrpottpatriot
This also removes another problem. Currently the cache only works on endpoints which offer the "standard" endpoint scheme (i.e. a query against v2/items returns ids which you can query further).
So I introduced anotehr interface IConnector, which just offers one method currently Query and has a QueryBuilder property.
The QueryBuilder property offers a fluent interface to build query messages, which then can be used be the IConnector to query the data source.
Darnell Williams
@Seeker1437
Wow okay I
Steven Liekens
@StevenLiekens
@Ruhrpottpatriot I see that the sln file still includes GW2NET.Newtonsoft
I assume you forgot to save the sln file before comitting
so I'll fix it now
Steven Liekens
@StevenLiekens
man there's a lot of stuff missing