public static List <VaccinationCenter> GetAllVaccinationCentersWithSlotsAvailable(VaccinationCenters vaccinationCenters) { List <VaccinationCenter> centerWithSlots = new List <VaccinationCenter>(); foreach (var center in vaccinationCenters.Centers) { VaccinationCenter tempCenter = new VaccinationCenter(); List <Session> sessions = new List <Session>(); foreach (var session in center.Sessions) { if (session.Min_Age_Limit == 18 && session.Available_Capacity > 0) { sessions.Add(session); } } if (sessions.Count > 0) { tempCenter = center; center.Sessions = sessions; centerWithSlots.Add(tempCenter); } } return(centerWithSlots); }
private static string GetAllVaccinationShots(VaccinationCenter center) { decimal totalShots = 0; foreach (Session session in center.Sessions) { totalShots += session.Available_Capacity; } return(totalShots.ToString()); }
private static string GetAllVaccinesAvailableAtCenter(VaccinationCenter center) { string vaccines = ""; foreach (Session session in center.Sessions) { if (!vaccines.Contains(session.Vaccine)) { vaccines += session.Vaccine + ","; } } return(vaccines); }
public async Task AddAppointmentAsync(int userId, int vaccineId) { Vaccine vaccine = await _vaccineRepo.GetAsync(vaccineId); DateTime date = await _dateService.GetAppointmentDateAsync(userId); VaccinationCenter center = await _dateService.GetVaccinationCenterAsync(userId); Appointment appointment = new Appointment { Vaccination = vaccine, UserId = userId, Date = date, LocationId = center.Id, StatusId = 1 }; await _appointmentRepo.AddAsync(appointment); }