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());
        }