예제 #1
0
        // 顯示目前已預約資料
        public ActionResult AdmBorrowIndex(string empid)
        {
            using (EasyCardEntities4 Data = new EasyCardEntities4())
            {
                var dept = Session["EmpDept"].ToString(); //各部門管理者只能看到自己部門資料
                List <RecordDataViewModel> RecData = new List <RecordDataViewModel>();
                var rdata = (from x in Data.EmpData
                             join y in Data.RecordData on x.EmpID equals y.EmpID
                             where x.EmpState == "已預約" && y.CardID == "0001" && y.RecordDisable == "False" //顯示目前未刪除的已預約
                             select new RecordDataViewModel
                {
                    RecordID = y.RecordID,
                    EmpID = x.EmpID,
                    EmpName = x.EmpName,
                    EmpDept = x.EmpDept,
                    TimeLend = y.TimeLend,
                    EmpState = x.EmpState,
                    UseDay = y.UseDay
                }).ToList();
                RecData = rdata;

                if (Session["EmpRole"].ToString() == "admin")  //各部門管理者只能看到自己部門資料
                {
                    RecData = RecData.Where(x => x.EmpDept == dept).ToList();
                }

                if (!string.IsNullOrWhiteSpace(empid)) //搜尋功能
                {
                    RecData = RecData.Where(x => x.EmpID == empid).ToList();
                }
                return(View(RecData));
            }
        }
예제 #2
0
        public ActionResult UserBorrow(RecordDataViewModel getrecorddata)
        {
            using (EasyCardEntities4 Data = new EasyCardEntities4())
            {
                if (getrecorddata.EmpID != Session["EmpID"].ToString() || getrecorddata.EmpName != Session["EmpName"].ToString())
                {
                    ModelState.AddModelError("UseDay", "請使用本人ID、姓名借用");
                    return(View(getrecorddata));
                }

                EmpData empdata = Data.EmpData.Where(x => x.EmpID == getrecorddata.EmpID).FirstOrDefault();
                if (empdata.EmpState == "已借用")//防止重複借卡
                {
                    ModelState.AddModelError("UseDay", "尚有未歸還或已預約卡片,請先歸還");
                    return(View(getrecorddata));
                }
                else
                {
                    empdata.EmpState = "已預約";
                    RecordData recorddata = new RecordData()
                    {
                        RecordID      = Data.RecordData.Count() + 1,
                        EmpID         = getrecorddata.EmpID,
                        TimeLend      = getrecorddata.TimeLend,
                        UseDay        = getrecorddata.UseDay,
                        CardID        = "0001", //預約時,預設卡號"0001"為預約卡
                        RecordDisable = "False",
                        RecordState   = "已預約",
                    };
                    Data.RecordData.Add(recorddata);
                    Data.SaveChanges();
                    return(RedirectToAction("UserRecord"));
                }
            }
        }
예제 #3
0
        public ActionResult Login(EmpData emplogin)
        {
            using (EasyCardEntities4 data = new EasyCardEntities4())
            {
                var obj = data.EmpData.Where(x => x.EmpID == emplogin.EmpID && x.EmpPwd == emplogin.EmpPwd).FirstOrDefault();
                if (obj != null)
                {
                    Session["EmpID"]    = obj.EmpID;
                    Session["EmpName"]  = obj.EmpName;
                    Session["EmpPwd"]   = obj.EmpPwd;
                    Session["EmpDept"]  = obj.EmpDept;
                    Session["EmpRole"]  = obj.Role;
                    Session["EmpState"] = obj.EmpState;

                    if (obj.Role == "admin" || obj.Role == "Superadmin")
                    {
                        return(RedirectToAction("AdmBorrowIndex", "AdminBorrow"));
                    }
                    else
                    {
                        return(RedirectToAction("UserBorrow", "UserBorrow"));
                    }
                }

                //密碼錯誤訊息
                ModelState.AddModelError("EmpPwd", "登入錯誤,請輸入正確帳號、密碼。");
                return(View(emplogin));
            }
        }
예제 #4
0
        // 使用者借用紀錄
        public ActionResult UserRecord()
        {
            using (EasyCardEntities4 Data = new EasyCardEntities4())
            {
                var userid = Session["EmpID"].ToString();
                List <RecordDataViewModel> userdata = new List <RecordDataViewModel>();
                var rdata = (from x in Data.EmpData
                             join y in Data.RecordData on x.EmpID equals y.EmpID
                             join z in Data.CardData on y.CardID equals z.CardID
                             where x.EmpID == userid && y.RecordDisable == "False"
                             orderby y.RecordID descending //降冪
                             select new RecordDataViewModel
                {
                    RecordID = y.RecordID,
                    CardID = y.CardID,
                    CardName = z.CardName,
                    TimeLend = y.TimeLend,
                    TimeReturn = y.TimeReturn,
                    UseDay = y.UseDay,
                    RecordState = y.RecordState
                }).ToList();

                userdata = rdata;

                return(View(userdata));
            }
        }
예제 #5
0
        // GET: Card
        /// <summary>
        /// 顯示所有資料
        /// </summary>
        /// <param name="cardid"></param>
        /// <returns></returns>
        public ActionResult CardIndex(string cardid)
        {
            using (EasyCardEntities4 Data = new EasyCardEntities4())
            {
                var             dept     = Session["EmpDept"].ToString();  //各部門管理者只能看到自己部門資料
                List <CardData> carddata = (from x in Data.CardData
                                            where x.CardDisable == "False" // 顯示未刪除的所有資料

                                            select x).ToList();

                if (Session["EmpRole"].ToString() == "admin")  //各部門管理者只能看到自己部門資料
                {
                    carddata = carddata.Where(x => x.CardDept == dept).ToList();
                }

                if (!string.IsNullOrWhiteSpace(cardid))//搜尋功能
                {
                    carddata = carddata.Where(x => x.CardID == cardid).ToList();
                }

                //if (carddata.Count() == 0)
                //{
                //    Response.Write("error");
                //}
                return(View(carddata));
            }
        }
예제 #6
0
        // 歸還畫面
        public ActionResult AdmReturnIndex(string cardname)
        {
            using (EasyCardEntities4 Data = new EasyCardEntities4())
            {
                var dept = Session["EmpDept"].ToString(); //各部門管理者只能看到自己部門資料
                List <RecordDataViewModel> RecData = new List <RecordDataViewModel>();
                var rdata = (from x in Data.EmpData
                             join y in Data.RecordData on x.EmpID equals y.EmpID
                             join z in Data.CardData on y.CardID equals z.CardID
                             where y.TimeReturn == null && y.CardID != "0001"     //顯示一筆
                             select new RecordDataViewModel
                {
                    RecordID = y.RecordID,
                    EmpID = x.EmpID,
                    EmpName = x.EmpName,
                    EmpDept = x.EmpDept,
                    CardName = z.CardName,
                    TimeLend = y.TimeLend,
                    EmpState = x.EmpState,
                    UseDay = y.UseDay
                }).ToList();
                RecData = rdata;

                if (Session["EmpRole"].ToString() == "admin")  //各部門管理者只能看到自己部門資料
                {
                    RecData = RecData.Where(x => x.EmpDept == dept).ToList();
                }

                if (!string.IsNullOrWhiteSpace(cardname)) //搜尋功能
                {
                    RecData = RecData.Where(x => x.CardName == cardname).ToList();
                }
                return(View(RecData));
            }
        }
예제 #7
0
        public ActionResult AdmEdit(RecordDataViewModel getrecorddata)
        {
            using (EasyCardEntities4 Data = new EasyCardEntities4())
            {
                CardData carddata = Data.CardData.Where(x => x.CardName == getrecorddata.CardName).FirstOrDefault();
                //if (carddata.CardState =="已借出")//防止選到已借出的卡片
                //{

                //}
                //else
                {
                    carddata.CardState = "已借出";
                }

                EmpData empdata = Data.EmpData.Where(x => x.EmpID == getrecorddata.EmpID).FirstOrDefault();
                empdata.EmpState = "已借用";

                //RecordData 儲存
                RecordData recorddata = Data.RecordData.Where(x => x.RecordID == getrecorddata.RecordID).FirstOrDefault();
                recorddata.EmpID       = getrecorddata.EmpID;
                recorddata.CardID      = carddata.CardID;
                recorddata.TimeLend    = getrecorddata.TimeLend;
                recorddata.UseDay      = getrecorddata.UseDay;
                recorddata.RecordState = "未歸還";
                Data.SaveChanges();
            }
            return(RedirectToAction("AdmReturnIndex"));
        }
예제 #8
0
 public ActionResult EmpCreate(EmpData empdata)
 {
     using (EasyCardEntities4 Data = new EasyCardEntities4())
     {
         empdata.EmpDisable = "False";
         Data.EmpData.Add(empdata);
         Data.SaveChanges();
     }
     return(RedirectToAction("EmployeeIndex"));
 }
예제 #9
0
 // GET: Card/Edit/5
 public ActionResult CardEdit(string cardid)
 {
     using (EasyCardEntities4 Data = new EasyCardEntities4())
     {
         var carddata = (from x in Data.CardData
                         where x.CardID == cardid
                         select x).FirstOrDefault();
         return(View(carddata));
     }
 }
예제 #10
0
 public ActionResult CardCreate(CardData createdata)
 {
     using (EasyCardEntities4 Data = new EasyCardEntities4())
     {
         createdata.CardDisable = "False";
         Data.CardData.Add(createdata);
         Data.SaveChanges();
     }
     return(RedirectToAction("CardIndex"));
 }
예제 #11
0
 // GET: Employee/Edit/5
 public ActionResult EmpEdit(string empid)
 {
     using (EasyCardEntities4 Data = new EasyCardEntities4())
     {
         var empdata = (from x in Data.EmpData
                        where x.EmpID == empid
                        select x).FirstOrDefault();
         return(View(empdata));
     }
 }
예제 #12
0
        // 使用者續借
        public ActionResult UserRenew(int recordid)
        {
            using (EasyCardEntities4 Data = new EasyCardEntities4())
            {
                var recdata = (from x in Data.RecordData
                               where x.RecordID == recordid
                               select x).FirstOrDefault();
                recdata.UseDay = recdata.UseDay + 5;
                Data.SaveChanges();

                return(RedirectToAction("UserRecord"));
            }
        }
예제 #13
0
 public ActionResult UserEdit(RecordDataViewModel editdata)
 {
     using (EasyCardEntities4 data = new EasyCardEntities4())
     {
         if (ModelState.IsValid)
         {
             RecordData recdata = data.RecordData.Where(x => x.RecordID == editdata.RecordID).FirstOrDefault();
             recdata.TimeLend = editdata.TimeLend;
             recdata.UseDay   = editdata.UseDay;
             data.SaveChanges();
         }
         return(RedirectToAction("UserRecord"));
     }
 }
예제 #14
0
        // GET: AllRecord
        public ActionResult AllRecordIndex(string empid, string cardname, string timelend)
        {
            using (EasyCardEntities4 Data = new EasyCardEntities4())
            {
                var dept = Session["EmpDept"].ToString(); //各部門管理者只能看到自己部門資料

                List <RecordDataViewModel> RecData = new List <RecordDataViewModel>();
                var rdata = (from x in Data.EmpData
                             join y in Data.RecordData on x.EmpID equals y.EmpID
                             join z in Data.CardData on y.CardID equals z.CardID
                             where y.RecordDisable == "False"
                             orderby y.RecordID descending //降冪
                             select new RecordDataViewModel
                {
                    RecordID = y.RecordID,
                    EmpID = x.EmpID,
                    EmpName = x.EmpName,
                    EmpDept = x.EmpDept,
                    EmpState = x.EmpState,
                    CardName = z.CardName,
                    TimeLend = y.TimeLend,
                    TimeReturn = y.TimeReturn,
                    CardState = z.CardState,
                    UseDay = y.UseDay,
                    CardAmount = z.CardAmount,
                    TotalSpent = y.TotalSpent
                }).ToList();
                RecData = rdata;

                if (Session["EmpRole"].ToString() == "admin")  //各部門管理者只能看到自己部門資料
                {
                    RecData = RecData.Where(x => x.EmpDept == dept).ToList();
                }


                if (!string.IsNullOrWhiteSpace(empid)) //搜尋功能
                {
                    RecData = RecData.Where(x => x.EmpID == empid).ToList();
                }
                if (!string.IsNullOrWhiteSpace(cardname)) //搜尋功能
                {
                    RecData = RecData.Where(z => z.CardName == cardname).ToList();
                }
                if (!string.IsNullOrWhiteSpace(timelend)) //搜尋功能
                {
                    RecData = RecData.Where(y => y.TimeLend == DateTime.Parse(timelend)).ToList();
                }
                return(View(RecData));
            }
        }
예제 #15
0
 public ActionResult CardEdit(CardData getdata)
 {
     using (EasyCardEntities4 Data = new EasyCardEntities4())
     {
         if (ModelState.IsValid)
         {
             CardData carddata = Data.CardData.Where(x => x.CardID == getdata.CardID).FirstOrDefault();
             carddata.CardID     = getdata.CardID;
             carddata.CardDept   = getdata.CardDept;
             carddata.CardName   = getdata.CardName;
             carddata.CardState  = getdata.CardState;
             carddata.CardAmount = getdata.CardAmount;
             Data.SaveChanges();
         }
         return(RedirectToAction("CardIndex"));
     }
 }
예제 #16
0
 // 預約確認 或 修改
 public ActionResult AdmEdit(int recorid)
 {
     using (EasyCardEntities4 Data = new EasyCardEntities4())
     {
         var recorddata = (from x in Data.EmpData
                           join y in Data.RecordData on x.EmpID equals y.EmpID
                           where y.RecordID == recorid
                           select new RecordDataViewModel
         {
             RecordID = y.RecordID,
             EmpID = x.EmpID,
             EmpName = x.EmpName,
             EmpDept = x.EmpDept,
             TimeLend = y.TimeLend,
             UseDay = y.UseDay
         }).FirstOrDefault();
         return(View(recorddata));
     };
 }
예제 #17
0
 // GET: Employee/Delete/5
 public ActionResult EmpDelete(string empid)
 {
     using (EasyCardEntities4 Data = new EasyCardEntities4())
     {
         var empddata = (from x in Data.EmpData
                         where x.EmpID == empid
                         select x).FirstOrDefault();
         if (empddata == null)
         {
             return(HttpNotFound());
         }
         else
         {
             empddata.EmpDisable = "True";
             Data.SaveChanges();
         }
         return(RedirectToAction("EmployeeIndex"));
     }
 }
예제 #18
0
 public ActionResult EmpEdit(EmpData getempdata)
 {
     using (EasyCardEntities4 Data = new EasyCardEntities4())
     {
         if (ModelState.IsValid)
         {
             EmpData empdata = Data.EmpData.Where(x => x.EmpID == getempdata.EmpID).FirstOrDefault();
             empdata.EmpID       = getempdata.EmpID;
             empdata.EmpCardCode = getempdata.EmpCardCode;
             empdata.EmpDept     = getempdata.EmpDept;
             empdata.EmpName     = getempdata.EmpName;
             empdata.Email       = getempdata.Email;
             empdata.EmpState    = getempdata.EmpState;
             empdata.Role        = getempdata.Role;
             Data.SaveChanges();
         }
         return(RedirectToAction("EmployeeIndex"));
     }
 }
예제 #19
0
 // GET: Card/Delete/5
 //[AcceptVerbs(HttpVerbs.Delete)] //有別於get post
 public ActionResult CardDelete(string cardid)
 {
     using (EasyCardEntities4 Data = new EasyCardEntities4())
     {
         var carddata = (from x in Data.CardData
                         where x.CardID == cardid
                         select x).FirstOrDefault();
         if (carddata == null)
         {
             return(HttpNotFound());
         }
         else
         {
             carddata.CardDisable = "True";
             Data.SaveChanges();
         }
         return(RedirectToAction("CardIndex"));
     }
 }
예제 #20
0
 // 使用者取消預約
 public ActionResult UserDelete(int recordid)
 {
     using (EasyCardEntities4 Data = new EasyCardEntities4())
     {
         var recdata = (from x in Data.RecordData
                        where x.RecordID == recordid
                        select x).FirstOrDefault();
         if (recdata == null)
         {
             return(HttpNotFound());
         }
         else
         {
             recdata.RecordDisable = "True";
             Data.SaveChanges();
         }
         return(RedirectToAction("UserRecord"));
     }
 }
예제 #21
0
        public ActionResult AdmBorrow(RecordDataViewModel getrecorddata)
        {
            using (EasyCardEntities4 Data = new EasyCardEntities4())
            {
                CardData carddata = Data.CardData.Where(x => x.CardName == getrecorddata.CardName).FirstOrDefault();
                //if (carddata.CardState == "已借出")//防止選到已借出的卡片
                //{
                //}
                //else
                {
                    carddata.CardState   = "已借出";
                    getrecorddata.CardID = carddata.CardID;
                }

                EmpData empdata = Data.EmpData.Where(x => x.EmpID == getrecorddata.EmpID).FirstOrDefault();
                //if (empdata.EmpState == "已借用")//防止重複借卡
                //{

                //}
                //else
                {
                    empdata.EmpState = "已借用";
                }

                RecordData recorddata = new RecordData()
                {
                    RecordID      = Data.RecordData.Count() + 1,
                    EmpID         = getrecorddata.EmpID,
                    CardID        = getrecorddata.CardID,
                    TimeLend      = getrecorddata.TimeLend,
                    UseDay        = getrecorddata.UseDay,
                    RecordDisable = "False",
                    RecordState   = "未歸還",
                };
                Data.RecordData.Add(recorddata);
                Data.SaveChanges();
            }
            return(RedirectToAction("AdmReturnIndex"));
        }
예제 #22
0
        // GET: Employee
        public ActionResult EmployeeIndex(string empid)
        {
            using (EasyCardEntities4 Data = new EasyCardEntities4())
            {
                var            dept    = Session["EmpDept"].ToString(); //各部門管理者只能看到自己部門資料
                List <EmpData> empdata = (from x in Data.EmpData
                                          where x.EmpDisable == "False"
                                          select x).ToList();

                if (Session["EmpRole"].ToString() == "admin")  //各部門管理者只能看到自己部門資料
                {
                    empdata = empdata.Where(x => x.EmpDept == dept).ToList();
                }

                if (!string.IsNullOrWhiteSpace(empid))//搜尋功能
                {
                    empdata = empdata.Where(x => x.EmpID == empid).ToList();
                }

                return(View(empdata));
            }
        }
예제 #23
0
        // 歸還確認
        public ActionResult AdmReturnConfirm(RecordDataViewModel getrecorddata)
        {
            using (EasyCardEntities4 Data = new EasyCardEntities4())
            {
                CardData carddata = Data.CardData.Where(x => x.CardName == getrecorddata.CardName).FirstOrDefault();
                carddata.CardState  = "可使用";
                carddata.CardAmount = getrecorddata.CardAmount;
                EmpData empdata = Data.EmpData.Where(x => x.EmpID == getrecorddata.EmpID).FirstOrDefault();
                empdata.EmpState = "可借用";

                //RecordData 儲存
                RecordData recorddata = Data.RecordData.Where(x => x.RecordID == getrecorddata.RecordID).FirstOrDefault();
                recorddata.EmpID       = getrecorddata.EmpID;
                recorddata.CardID      = carddata.CardID;
                recorddata.TimeLend    = getrecorddata.TimeLend;
                recorddata.UseDay      = getrecorddata.UseDay;
                recorddata.TimeReturn  = DateTime.Now;
                recorddata.RecordState = "已歸還";
                Data.SaveChanges();

                return(RedirectToAction("AdmReturnIndex"));
            }
        }