public void ChangeFacePart(CharacterConstants.FacePart part, string materialName) { if (materialName != null && materialName != "") { if (_mapFaceRequestElements.ContainsKey(part) == false) { RequestElement reqEl = new RequestElement(PopBloopSettings.MaterialsBundleBaseURL, materialName); _mapFaceRequestElements.Add(part, reqEl); } else { _mapFaceRequestElements[part].Reset(materialName); } } }
private static Func <IOwinContext, object> Getter(RequestElement element, string name, Type type) { switch (element) { case RequestElement.Route: return(ctx => ctx.GetRouteValue(name).ToType(type)); case RequestElement.Query: return(ctx => ctx.Request.Query.Get(name).ToType(type)); case RequestElement.Header: return(ctx => ctx.Request.Headers.Get(name).ToType(type)); case RequestElement.Body: return(ctx => ctx.JsonBody().Value <object>(name).ToType(type)); default: throw new ArgumentOutOfRangeException(); } }
private static object MapParameter(IOwinContext ctx, RequestElement source, string parameterName, Type type) { switch (source) { case RequestElement.Route: return(ctx.GetRouteValue(parameterName).UnescapeUriString().ToType(type)); case RequestElement.Query: return(ctx.Request.Query.Get(parameterName).UnescapeUriString().ToType(type)); case RequestElement.Header: return(ctx.Request.Headers.Get(parameterName).ToType(type)); case RequestElement.Body: return(ctx.GetBodyValue(parameterName).ToType(type)); default: throw new NotSupportedException(); } }
public async Task <(IList <PendingRideRequestCenter.MatchableRideRequest>, RideInfo)> GetRide( UserRideOffer offer, ConcurrentGeoQuadtree <PendingRideRequestCenter.MatchableRideRequest> origins, ConcurrentGeoQuadtree <PendingRideRequestCenter.MatchableRideRequest> destinations) { if (origins.Count == 0) { return( new List <PendingRideRequestCenter.MatchableRideRequest>(), new RideInfo(offer.User.UserInfo.UserId, offer.RideOffer.Car, new Route(new Route.Stop[] { new Route.Stop(offer.RideOffer.Trip.Source), new Route.Stop(offer.RideOffer.Trip.Destination) })) ); } RequestElement element = origins.GetElementsInside((r) => true).First(); UserInfo passenger = element.Data.Request.User.UserInfo; GeoCoordinates passengerPickUp = element.Coordinates; GeoCoordinates passengerDropOff = element.Data.DestinationElement.Coordinates; return( new List <PendingRideRequestCenter.MatchableRideRequest> { element.Data }, new RideInfo(offer.User.UserInfo.UserId, offer.RideOffer.Car, new Route(new Route.Stop[] { new Route.Stop(offer.RideOffer.Trip.Source), new Route.Stop(passengerPickUp, passenger, true), new Route.Stop(passengerDropOff, passenger), new Route.Stop(offer.RideOffer.Trip.Destination) })) ); }