public ActionResult Edit(Location location,int[] time_id, int[] weekday)
        {
            if ( !User.IsInRole("社联") && RoleHelper.GetRoleClub(User.Identity.Name, "会长").Count == 0 )
            {
                return View("PermissionDeniedError");
            }
            location = unitOfWork.Locations.Find(location.Id);

            if (ModelState.IsValid)
            {

                if (time_id != null)
                {
                    for (int i = 0; i < time_id.Length; ++i)
                    {
                        if (location.UnAvailableTimes.All(t => t.TimeId != time_id[i] || t.WeekDayId != weekday[i]))
                        {
                            var temp_time = new LocationUnavailableTime
                                {
                                    WeekDayId = weekday[i],
                                    TimeId = time_id[i],
                                    LocationId = location.Id
                                };

                            location.UnAvailableTimes.Add(temp_time);
                        }
                    }
                    foreach(var item in location.UnAvailableTimes.ToList())
                    {
                        bool del_mark = true;
                        for (int i = 0; i < time_id.Length; ++i)
                        {
                            if (item.TimeId == time_id[i] && item.WeekDayId == weekday[i])
                            {
                                del_mark = false;
                            }
                        }
                        if (del_mark == true)
                        {
                            unitOfWork.LocationUnAvailableTimes.Delete(item);
                        }

                    }
                }
                unitOfWork.Locations.Update(location);
                unitOfWork.SaveChanges();

                ViewBag.Time = unitOfWork.Times.ToList();
                return RedirectToAction("Index");
            }
            ViewBag.Time = new SelectList(unitOfWork.Times.ToList(), "Id", "TimeName");
            ViewBag.UnavailableTimes = location.UnAvailableTimes;
            return View(location);
        }
        public ActionResult Create( Location location,int[] weekday, int[] time_id)
        {
            if ( !User.IsInRole("社联") && RoleHelper.GetRoleClub(User.Identity.Name, "会长").Count == 0 )
            {
                return View("PermissionDeniedError");
            }
            if (ModelState.IsValid)
            {
                if (weekday != null)
                {
                    location.UnAvailableTimes = new List<LocationUnavailableTime>();
                    int i=0;
                    foreach (var week_day in weekday)
                    {
                        location.UnAvailableTimes.Add(new LocationUnavailableTime
                        {
                            Time = unitOfWork.Times.Find(time_id[i]),
                            WeekDayId = week_day
                        });
                    i++;
                    }
                }
                unitOfWork.Locations.Add(location);
                unitOfWork.SaveChanges();
                return RedirectToAction("Index");
            }

            return View(location);
        }