//================================================================================== // 私廚{ [私廚販售項目清單] [(新增)(編輯)販售項目] [(新增)(編輯)菜色] [設定可預訂時間] } // //================================================================================== // === [設定可預訂時間] === public ActionResult calendar() { // 取得此私廚 var chefId = (int)Session[CDictionary.SK_LOGINED_CHEF_ID]; // 取得此私廚可預訂時間 var table = (from t in (new Database1Entities()).t私廚可預訂時間 where t.fCID == chefId select t).ToList(); // 被預訂_不可修改 var listUnable = new List <string>(); // 可預定 var listEnable = new List <string>(); listUnable.AddRange( table .Where(t => t.f狀態 == e私廚可預訂_時段_狀態.被預訂_不可修改.GetHashCode()) .Select(x => x.f日期.ToString("d") + "-" + x.f時段.ToString()).ToList() ); listEnable.AddRange( table .Where(t => t.f狀態 == e私廚可預訂_時段_狀態.可預定.GetHashCode()) .Select(x => x.f日期.ToString("d") + "-" + x.f時段.ToString()).ToList() ); var vm = new v可預訂時間VM { fCID = chefId, ArrEnable = listEnable, ArrUnable = listUnable }; return(View(vm)); }
[ValidateAntiForgeryToken] // 防止 CSRF 跨域偽造請求, 只有從頁面來的才能通過 public ActionResult calendar(v可預訂時間VM vm) { // 新增 可預訂時間 string sCreate = vm.ArrGetNewTime; if (!string.IsNullOrEmpty(sCreate)) { // 拆解字串 string[] ArrSplit = sCreate.Split(','); foreach (string s1 in ArrSplit) { if (!string.IsNullOrEmpty(s1)) { string[] Arr = s1.Split('-'); t私廚可預訂時間 t = new t私廚可預訂時間(); t.fCID = vm.fCID; t.f日期 = Convert.ToDateTime(Arr[0]); t.f時段 = Convert.ToInt32(Arr[1]); t.f狀態 = e私廚可預訂_時段_狀態.可預定.GetHashCode(); db.t私廚可預訂時間.Add(t); } } // 儲存DB db.SaveChanges(); } // 刪除 可預定時間 string sDelete = vm.ArrGetDeletedTime; if (!string.IsNullOrEmpty(sDelete)) { // 拆解字串 string[] ArrSplitDelete = sDelete.Split(','); foreach (string s in ArrSplitDelete) { if (!string.IsNullOrEmpty(s)) { string[] Arr = s.Split('-'); DateTime time = Convert.ToDateTime(Arr[0]); int status = Convert.ToInt32(Arr[1]); var deleteTime = db.t私廚可預訂時間.FirstOrDefault(t => t.f日期 == time && t.f時段 == status); if (deleteTime != null) { db.t私廚可預訂時間.Remove(deleteTime); } } } db.SaveChanges(); } TempData[CDictionary.TK_Msg_SaveCalendar] = "儲存成功"; return(RedirectToAction("calendar")); }