コード例 #1
0
        public async Task UpdateServiceRequestResponseAsync(string id, ServiceRequestResponse response)
        {
            var filterById = Builders <ServiceRequestResponse> .Filter.Eq("Id", id);

            await campingTripContext.ServiceRequestResponses
            .ReplaceOneAsync(filterById, response, new UpdateOptions { IsUpsert = true });
        }
コード例 #2
0
        public async void Put(string id, [FromBody] ServiceRequestResponse response)
        {
            var identity = (ClaimsIdentity)User.Identity;

            IEnumerable <Claim> claims = identity.Claims;

            var userIdClaim = claims.Where(claim => claim.Type == "user_id").First();

            if (userIdClaim == null)
            {
                throw new Exception("user_id claim not found");
            }

            if (!int.TryParse(userIdClaim.Value, out int userId))
            {
                throw new Exception("Invalid value for user_id in users claims");
            }

            if (userId != response.ProviderId)
            {
                return;
            }

            await campingTripRepository.UpdateServiceRequestResponseAsync(id, response);
        }
コード例 #3
0
        public async Task AddServiceRequestResponceAsync(ServiceRequestResponse response)
        {
            await campingTripContext.ServiceRequestResponses.InsertOneAsync(response);

            var filter = Builders <ServiceRequest> .Filter.Where(request => request.CampingTripId == response.CampingTripId);


            var filter1 = Builders <ServiceRequest> .Filter.Where(request => request.ProviderId == response.ProviderId);

            await campingTripContext.ServiceRequests.DeleteOneAsync <ServiceRequest>(
                request => request.CampingTripId == response.CampingTripId && request.ProviderId == response.ProviderId);
        }
コード例 #4
0
        public void AcceptRequest(object request)
        {
            var tokenResponse = tokenClient.RequestRefreshTokenAsync(ConfigurationManager.AppSettings["refreshToken"]).Result;

            httpClient.SetBearerToken(tokenResponse.AccessToken);

            var tripRequest = request as CampingTripRequests;

            var serviceRequestResponse = new ServiceRequestResponse()
            {
                CampingTripId          = tripRequest.ID,
                Price                  = tripRequest.Price,
                ProviderRole           = ConfigurationManager.AppSettings["role"],
                ProviderId             = int.Parse(ConfigurationManager.AppSettings["userId"]),
                ResponseValidityPeriod = tripRequest.ArrivalDate
            };

            var response = httpClient.PostAsync("api/ServiceRequestResponses", new StringContent(JsonConvert.SerializeObject(serviceRequestResponse), Encoding.UTF8, "application/json")).Result;

            if (response.IsSuccessStatusCode)
            {
                this.CampingTripRequests.Remove(request as CampingTripRequests);
            }
        }
コード例 #5
0
 public void Post([FromBody] ServiceRequestResponse response)
 {
     campingTripRepository.AddServiceRequestResponceAsync(response);
 }