public JsonResult ShowTime(string date, int service_id)
        {
            var             zaft                 = int.Parse(Session["userid"].ToString());
            var             emp                  = db.user.SingleOrDefault(y => y.id == zaft);
            var             reqs                 = db.Emp_Org_Services.Where(c => c.emp_id == emp.id).ToList();
            var             branch_id            = reqs[0].branch_id;
            Services_       service              = db.Services_.SingleOrDefault(c => c.id == service_id);
            TimeSpan        workPeriod           = (TimeSpan)service.endtime - (TimeSpan)service.starttime;
            int             workPeriodMinutes    = (int)workPeriod.TotalMinutes;
            TimeSpan        period               = (TimeSpan)service.period;
            int             servicePeriodMinutes = (int)period.TotalMinutes;
            int             numRoles             = workPeriodMinutes / servicePeriodMinutes;
            List <TimeSpan> times                = new List <TimeSpan>();
            TimeSpan        start                = (TimeSpan)service.starttime;
            TimeSpan        breakStart           = (TimeSpan)service.breakStart;
            TimeSpan        breakPeriod          = (TimeSpan)service.breakPeriod;
            int             breakPeriodMinutes   = (int)breakPeriod.TotalMinutes;
            int             breakRoles           = breakPeriodMinutes / servicePeriodMinutes;
            TimeSpan        breakEnd             = breakStart + breakPeriod;

            for (int i = 0; i <= numRoles - breakRoles; i++)
            {
                if (start == breakStart)
                {
                    start = breakEnd;
                }
                else
                {
                    times.Add(start);
                    start = start + period;
                }
            }



            var service_emps = db.Emp_Org_Services.Where(c => c.service_id == service_id && c.branch_id == branch_id).ToList();

            int             emps     = service_emps.Count();
            List <TimeSpan> allTimes = new List <TimeSpan>();

            for (int i = 0; i < emps; i++)
            {
                foreach (var x in times)
                {
                    allTimes.Add(x);
                }
            }

            var appointments = db.Appointments_.Where(x => x.service_id == service_id && x.branch_id == branch_id).ToList();

            foreach (var x in appointments)
            {
                string dt = ((DateTime)x.time).ToString("yyyy-MM-dd");
                if (date.Equals(dt))
                {
                    string   t  = ((DateTime)x.time).ToString("H:mm:ss");
                    TimeSpan ts = TimeSpan.Parse(t);
                    allTimes.Remove(ts);
                }
            }
            List <string> AllTimes = new List <string>();

            foreach (var a in allTimes)
            {
                AllTimes.Add(a.ToString());
            }
            return(Json(AllTimes, JsonRequestBehavior.AllowGet));
        }
        public List <string> GetAvailableTime(int branch_id, int service_id, string date)
        {
            Services_     service              = db.Services_.SingleOrDefault(c => c.id == service_id);
            TimeSpan      workPeriod           = (TimeSpan)service.endtime - (TimeSpan)service.starttime;
            int           workPeriodMinutes    = (int)workPeriod.TotalMinutes;
            TimeSpan      period               = (TimeSpan)service.period;
            int           servicePeriodMinutes = (int)period.TotalMinutes;
            int           numRoles             = workPeriodMinutes / servicePeriodMinutes;
            List <string> times              = new List <string>();
            TimeSpan      start              = (TimeSpan)service.starttime;
            TimeSpan      breakStart         = (TimeSpan)service.breakStart;
            TimeSpan      breakPeriod        = (TimeSpan)service.breakPeriod;
            int           breakPeriodMinutes = (int)breakPeriod.TotalMinutes;
            int           breakRoles         = breakPeriodMinutes / servicePeriodMinutes;
            TimeSpan      breakEnd           = breakStart + breakPeriod;

            for (int i = 0; i <= numRoles - breakRoles; i++)
            {
                if (start == breakStart)
                {
                    start = breakEnd;
                }
                else
                {
                    string s = start.ToString();
                    times.Add(s);
                    start = start + period;
                }
            }



            var service_emps = db.Emp_Org_Services.Where(c => c.service_id == service_id && c.branch_id == branch_id).ToList();

            int           emps     = service_emps.Count();
            List <string> allTimes = new List <string>();

            for (int i = 0; i < emps; i++)
            {
                foreach (var x in times)
                {
                    allTimes.Add(x);
                }
            }

            var app = GetAppointments(branch_id, service_id);

            foreach (var x in app)
            {
                string d = x.dateTime.ToString("yyyy-MM-dd");
                if (date.Equals(d))
                {
                    string   t  = x.dateTime.ToString("H:mm:ss");
                    TimeSpan ts = TimeSpan.Parse(t);
                    allTimes.Remove(t);
                }
            }


            return(allTimes);
        }