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);
        }
Beispiel #2
0
        private static string GetAllVaccinationShots(VaccinationCenter center)
        {
            decimal totalShots = 0;

            foreach (Session session in center.Sessions)
            {
                totalShots += session.Available_Capacity;
            }
            return(totalShots.ToString());
        }
Beispiel #3
0
        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);
        }