Ejemplo n.º 1
0
        //==================================================================================
        // 私廚{ [私廚販售項目清單] [(新增)(編輯)販售項目] [(新增)(編輯)菜色] [設定可預訂時間] }
        //
        //==================================================================================

        // === [設定可預訂時間] ===
        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));
        }
Ejemplo n.º 2
0
        [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"));
        }