public async Task StartSearchAsync() { var cancellationToken = new CancellationTokenSource().Token; string date = DateTime.Now.ToString("dd-MM-yyyy"); var sessionsResponse = await coWINAppointmentService.FetchSessionsByDistrictIdAndDate( DistrictsDTO.Where(x => x.DistrictName == District).FirstOrDefault().DistrictId.ToString(), date, cancellationToken); foreach (var center in sessionsResponse.Centers) { if (center != null) { foreach (var session in center.Sessions) { if (session != null) { var vaccineCenter = new VaccineCenter(); vaccineCenter.CenterName = center.Name; vaccineCenter.Availability = session.AvailableCapacity; vaccineCenter.AvailabilityDose1 = session.AvailableCapacityDose1; vaccineCenter.AvailabilityDose2 = session.AvailableCapacityDose2; vaccineCenter.MinimumAgeLimit = session.MinAgeLimit; vaccineCenter.VaccineType = session.Vaccine; AvailableVaccineCenters.Add(vaccineCenter); } } } } HideSearchResults = false; StateHasChangedDelegate?.Invoke(); }
private string CompactNotification(VaccineCenter vc) { var sb = new StringBuilder(); double totalAvailable = 0; foreach (var session in vc.Sessions) { //sb.AppendLine($" - {session.AvailableCapacity} available on {session.Date}, age limit {session.MinAgeLimit} for {session.VaccineName} vaccine "); totalAvailable += session.AvailableCapacity; } sb.Append($"- {vc.Name} | {vc.PinCode} | {vc.StartTime} - {vc.EndTime} | {vc.BillType} | {totalAvailable} slots available"); return(sb.ToString()); }