public IEnumerable <AvailabilityVM> GetDoctorsAvailability([FromBody] DateTime date) { List <AvailabilityVM> result = new List <AvailabilityVM>(); List <Appointment> apps = db.Appointments.Where(a => DbFunctions.TruncateTime(a.Date) == date.Date && a.Status != (int)AppointmentStatus.Canceled).ToList(); List <Doctor> docs = db.Doctors.ToList(); AvailabilityVM availability = null; SlotAvailabilityVM slotAvail = null; foreach (Doctor doc in docs) { availability = new AvailabilityVM(); availability.DoctorID = doc.ID.Value; availability.Date = date.Date; for (int i = 0; i < 12; i++) { slotAvail = new SlotAvailabilityVM(); slotAvail.Index = i; slotAvail.Period = GetAppointmentSlotByClinic(1, i); slotAvail.isAvailable = apps.Where(app => app.DoctorID == doc.ID.Value && app.TimeSlot == i).FirstOrDefault() == null; availability.SlotsAvailability.Add(slotAvail); } result.Add(availability); } return(result); }
public ActionResult Create(AvailabilityVM ivm) { Availability Availabilitydomain = new Availability() { AvailabilityId = ivm.AvailabilityId, Representator_Id = 1, Availability_Date_Begin = ivm.Availability_Date_Begin, Availability_Date_End = ivm.Availability_Date_Begin }; Service.Add(Availabilitydomain); Service.Commit(); // Service.Dispose(); return(View()); }