private CalendarResponse FilterResults(CalendarResponse response, CalendarRequest request)
        {
            IEnumerable <Center> filteredCenters = response.centers;

            foreach (var center in filteredCenters)
            {
                center.sessions = center.sessions.Where(session => session.available_capacity > 0);

                if (request.min_age_limit != 0)
                {
                    center.sessions = center.sessions.Where(session => session.min_age_limit <= request.min_age_limit);
                }
                if (!string.IsNullOrEmpty(request.vaccine))
                {
                    center.sessions = center.sessions.Where(session => session.vaccine == request.vaccine);
                }
            }
            filteredCenters = filteredCenters.Where(center => center.sessions.Any());

            if (!string.IsNullOrEmpty(request.fee_type))
            {
                filteredCenters = filteredCenters.Where(center => center.fee_type == request.fee_type);
            }

            return(new CalendarResponse {
                centers = filteredCenters
            });
        }
 public IActionResult GetCalendarWithAvailableTimeSlots([FromBody] CalendarRequest calendarRequest)
 {
     return(Ok(new Calendar(
                   calendarRequest.From,
                   calendarRequest.To,
                   GetAvailableSlotsFromService().ToList()
                   )));
 }
        public async Task <CalendarResponse> PostAsync(CalendarRequest request)
        {
            CalendarResponse apiResponse = await apiHandler.CalendarDistrictSearchAsync(request.state_name, request.district_name, request.date);

            CalendarResponse filtered = FilterResults(apiResponse, request);
            CalendarResponse sorted   = SortResults(filtered);

            return(sorted);
        }
        private void CalendarInfoWriteRequest(IAsyncResult ar)
        {
            var requestStream = Request.EndGetRequestStream(ar);

            CalendarRequest.WriteCalendarRequest(requestStream);

            requestStream.Close();

            Request.BeginGetResponse(CalendarInfoGetResponse, null);
        }
示例#5
0
        public async Task <List <EconomicCalendarResponse> > DurableGoods(CalendarRequest payload)
        {
            HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, "/api/Ptm/DurableGoods");

            request.Content    = new StringContent(JsonConvert.SerializeObject(payload), Encoding.UTF8, "application/json");
            using var response = await _httpClient.SendAsync(request, HttpCompletionOption.ResponseHeadersRead);

            var result = await response.Content.ReadAsAsync <List <EconomicCalendarResponse> >();

            return(result);
        }
 public void InsertRequest(CalendarRequest calendarRequest)
 {
     try
     {
         _dbContext.CalendarRequest.Add(calendarRequest);
         Save();
     }catch (Exception err)
     {
         throw err;
     }
 }
示例#7
0
        public async Task <List <EconomicCalendarResponse> > GetEconomicCalendar(CalendarRequest request)
        {
            var client      = _httpClientFactory.CreateClient();
            var httpRequest = new HttpRequestMessage(HttpMethod.Get, GetEconomicCalendarUrl(request));

            using var response = await client.SendAsync(httpRequest, HttpCompletionOption.ResponseHeadersRead);

            var result = await response.Content.ReadAsAsync <List <EconomicCalendarResponse> >();

            return(result);
        }
        public async Task <ActionResult <CalendarResponse> > GetCalendarLink(CalendarRequest calendarRequest)
        {
            CalendarDto calendarDto = _mapper.Map <CalendarDto>(calendarRequest);
            string      link        = await _calendarService.GetGoogleCalendarLinkAsync(calendarDto);

            var response = new CalendarResponse
            {
                Link = link
            };

            return(Ok(response));
        }
示例#9
0
        public async Task <List <EconomicCalendarResponse> > NonfarmPayrolls(CalendarRequest request)
        {
            var requestResult = await _calendarService.GetEconomicCalendar(request);

            return(requestResult.Where(x => x._event == "Nonfarm Payrolls").ToList());
        }
示例#10
0
        public async Task <List <EconomicCalendarResponse> > ConsumerSentimentMichigan(CalendarRequest request)
        {
            var requestResult = await _calendarService.GetEconomicCalendar(request);

            return(requestResult.Where(x => x._event == "Michigan Consumer Sentiment Index").ToList());
        }
示例#11
0
        public async Task <List <EconomicCalendarResponse> > BuildingPermits(CalendarRequest request)
        {
            var requestResult = await _calendarService.GetEconomicCalendar(request);

            return(requestResult.Where(x => x._event == "Building Permits (MoM)" && x.country == "US").ToList());
        }
示例#12
0
        public async Task <List <EconomicCalendarResponse> > ConsumerConfidenceEU(CalendarRequest request)
        {
            var requestResult = await _calendarService.GetEconomicCalendar(request);

            return(requestResult.Where(x => x._event == "Consumer Confidence" && x.country == "EU").ToList());
        }
示例#13
0
        public async Task <List <EconomicCalendarResponse> > GetIsmPmisServices(CalendarRequest request)
        {
            var requestResult = await _calendarService.GetEconomicCalendar(request);

            return(requestResult.Where(x => x._event == "ISM Services PMI").ToList());
        }
示例#14
0
        public async Task <List <EconomicCalendarResponse> > LeadingIndicatorsCh(CalendarRequest request)
        {
            var requestResult = await _calendarService.GetEconomicCalendar(request);

            return(requestResult.Where(x => x._event == "KOF Leading Indicator" && x.country == "CH").ToList());
        }
示例#15
0
        public async Task <IActionResult> IsmPmisManufacturing(CalendarRequest request)
        {
            var result = await _ptmProvider.GetIsmPmisManufacturing(request);

            return(Ok(result));
        }
示例#16
0
        public async Task <List <EconomicCalendarResponse> > DurableGoods(CalendarRequest request)
        {
            var requestResult = await _calendarService.GetEconomicCalendar(request);

            return(requestResult.Where(x => x._event.Contains("Durable Goods Orders")).ToList());
        }
示例#17
0
        public async Task <List <EconomicCalendarResponse> > PmiCH(CalendarRequest request)
        {
            var requestResult = await _calendarService.GetEconomicCalendar(request);

            return(requestResult.Where(x => x._event.Contains("Purchasing Managers") && x.country == "CH").ToList());
        }
示例#18
0
        public async Task <IActionResult> Gdp(CalendarRequest request)
        {
            var result = await _ptmProvider.Gdp(request);

            return(Ok(result));
        }
示例#19
0
        public async Task <IActionResult> UnemploymentRateCH(CalendarRequest request)
        {
            var result = await _ptmProvider.UnemploymentRateCH(request);

            return(Ok(result));
        }
示例#20
0
        public async Task <IActionResult> DurableGoods(CalendarRequest request)
        {
            var result = await _ptmProvider.DurableGoods(request);

            return(Ok(result));
        }
示例#21
0
        public async Task <IActionResult> NonfarmPayrolls(CalendarRequest request)
        {
            var result = await _ptmProvider.NonfarmPayrolls(request);

            return(Ok(result));
        }
示例#22
0
        public async Task <IActionResult> BuildingPermits(CalendarRequest request)
        {
            var result = await _ptmProvider.BuildingPermits(request);

            return(Ok(result));
        }
示例#23
0
        public async Task <IActionResult> ConsumerSentimentMichigan(CalendarRequest request)
        {
            var result = await _ptmProvider.ConsumerSentimentMichigan(request);

            return(Ok(result));
        }
示例#24
0
        public async Task <IActionResult> IsmPmisServices(CalendarRequest request)
        {
            var result = await _ptmProvider.GetIsmPmisServices(request);

            return(Ok(result));
        }
示例#25
0
        public async Task <List <EconomicCalendarResponse> > UnemploymentRateCH(CalendarRequest request)
        {
            var requestResult = await _calendarService.GetEconomicCalendar(request);

            return(requestResult.Where(x => x._event.Contains("Unemployment Rate") && x.country == "CH").ToList());
        }
示例#26
0
        public async Task <IActionResult> M3MoneySupplyEU(CalendarRequest request)
        {
            var result = await _ptmProvider.M3MoneySupplyEU(request);

            return(Ok(result));
        }
示例#27
0
        public async Task <List <EconomicCalendarResponse> > GdpCH(CalendarRequest request)
        {
            var requestResult = await _calendarService.GetEconomicCalendar(request);

            return(requestResult.Where(x => x._event.Contains("Gross Domestic Product") && x.country == "CH").ToList());
        }
示例#28
0
        public async Task <List <EconomicCalendarResponse> > MarkitManufacturingPmiEU(CalendarRequest request)
        {
            var requestResult = await _calendarService.GetEconomicCalendar(request);

            return(requestResult.Where(x => x._event == "Markit Manufacturing PMI" && x.country == "EU").ToList());
        }
示例#29
0
        public async Task <List <EconomicCalendarResponse> > M3MoneySupplyEU(CalendarRequest request)
        {
            var requestResult = await _calendarService.GetEconomicCalendar(request);

            return(requestResult.Where(x => x._event.Contains("M3 Money Supply") && x.country == "EU").ToList());
        }
示例#30
0
        public async Task <IActionResult> ConsumerConfidenceEU(CalendarRequest request)
        {
            var result = await _ptmProvider.ConsumerConfidenceEU(request);

            return(Ok(result));
        }