public ActionResult EmployeeCondition(string eid, string ename, string eassi, string emach, string eacc)
        {
            var x = from o in db.EmpDb
                    orderby o.EmployeeID ascending
                    select o;

            //卡登入
            if (Session["Member"] == null)
            {
                return(RedirectToAction("Login"));
            }
            //卡上班狀態
            if (eassi == "上班" || eassi == "1")
            {
                eassi = "1";
            }
            else if (eassi == "休假" || eassi == "2")
            {
                eassi = "2";
                emach = "0";
            }
            else if (eassi == "請假" || eassi == "0")
            {
                eassi = "0";
                emach = "0";
            }
            else
            {
                ViewBag.alertt = "輸入錯誤,請重輸";
            }
            EmpDb emp = new EmpDb
            {
                EmployeeID   = eid,
                EmployeeName = ename,
                Assignment   = Convert.ToInt32(eassi),
                MachineId    = emach,
                Account      = eacc
            };

            //db.Configuration.ValidateOnSaveEnabled = false;
            db.EmpDb.Attach(emp);
            db.Entry(emp).Property(m => m.EmployeeName).IsModified = true;
            db.Entry(emp).Property(m => m.Assignment).IsModified   = true;
            db.Entry(emp).Property(m => m.MachineId).IsModified    = true;
            db.Entry(emp).Property(m => m.Account).IsModified      = true;
            db.SaveChanges();

            //db.Entry(emp).State = EntityState.Unchanged;
            //db.Entry(emp).State = EntityState.Modified;

            if (Session["Permission"].ToString() == "1")
            {
                return(View(x.ToList()));
            }
            else
            {
                return(View("EmployeeCondition", "_Layout3", x.ToList()));
            }
        }
Exemple #2
0
        public ActionResult EmployeeEdit(string eid, string ename, string eacc, string epw, string epho, string eadd, string esex, string ebir, string email, string eaddr, string eper)
        {
            if (Session["Member"] == null)
            {
                return(RedirectToAction("Login"));
            }
            var x = from o in db.EmpDb
                    orderby o.EmployeeID
                    select o;
            //if (edate != "yyyy/MM/dd" || edate != "yyyy-MM-dd")
            //{
            //    ViewBag.msg = "日期錯誤,請重新輸入";
            //}
            //var emp = db.EmpDbs.Find(ename);
            EmpDb emp = new EmpDb
            {
                EmployeeID   = eid,
                EmployeeName = ename,
                Account      = eacc,
                PassWord     = epw,
                PhoneNum     = epho.Trim(),
                AddDate      = eadd.Replace('-', '/'),
                Sex          = esex.ToUpper(),
                Birthday     = ebir.Replace('-', '/'),
                Email        = email,
                Address      = eaddr,
                UpdateTime   = DateTime.Now.ToString("yyyy/MM/dd"),
                Permission   = Convert.ToInt32(eper),
            };

            //Modified要在.IsModified前

            db.Entry(emp).State = EntityState.Modified;
            db.Entry(emp).Property(m => m.EmployeeID).IsModified = false;
            db.Entry(emp).Property(m => m.Assignment).IsModified = false;
            db.Entry(emp).Property(m => m.MachineId).IsModified  = false;
            try
            {
                db.SaveChanges();
            }
            catch (Exception)
            {
                return(View(x.ToList()));
            }

            return(View(x.ToList()));
        }
Exemple #3
0
        public ActionResult CreateEmp(string eeacc, string eepass, string eename, string eepho, string eesex, string eemail,
                                      string eeaddr, string eebir, string eeper)
        {
            var x = db.EmpDb.AsNoTracking().Where(m => m.Account == eeacc).FirstOrDefault();

            if (x == null)
            {
                //計算資料筆數成ID編號
                var   eeid = db.EmpDb.Count();
                EmpDb eemp = new EmpDb
                {
                    Account      = eeacc,
                    PassWord     = eepass,
                    EmployeeName = eename,
                    EmployeeID   = (eeid + 1).ToString().Trim(),
                    PhoneNum     = eepho,
                    Sex          = eesex.ToUpper(),
                    Email        = eemail,
                    Address      = eeaddr,
                    Birthday     = eebir,
                    AddDate      = DateTime.Now.ToString("yyyy/MM/dd"),
                    UpdateTime   = DateTime.Now.ToString("yyyy/MM/dd"),
                    Permission   = Convert.ToInt32(eeper),
                    Assignment   = 0,
                    MachineId    = "0"
                };

                db.EmpDb.Add(eemp);
                try
                {
                    db.SaveChanges();
                }
                catch (Exception)
                {
                    goto CreateError;
                }
            }
            else
            {
                ViewBag.CreateError = "帳號重複,請重新建立";
            }
CreateError:
            return(RedirectToAction("EmployeeEdit"));
        }