public ActionResult Create(ReserveField reserveField)
        {
            if (ModelState.IsValid)
            {
                //  var reservef = db.ReserveFields.Where(rf => rf.TableName.Equals(reserveField.TableName)).ToList();

                // var reservef = db.TableNameContrasts.Where(rf=>rf.Id.E)
                //var reservef = (from p in db.ReserveFields
                //                join q in db.TableNameContrasts on p.TableNameId equals q.Id
                //                select p).ToList();
                var reservef = (from p in db.ReserveFields where p.Id == reserveField.TableNameId select p).ToList();

                foreach (var temp in reservef)
                {
                    if (temp.FieldName == reserveField.FieldName)
                    {
                        ModelState.AddModelError("", "抱歉,该字段已经被注册!");
                        return(View(reserveField));
                    }
                    if (temp.Description == reserveField.Description)
                    {
                        ModelState.AddModelError("", "抱歉,该字段的描述已经被注册!");
                        return(View(reserveField));
                    }
                }
                reserveField.RecordPerson = this.Name;
                reserveField.RecordTime   = DateTime.Now;
                db.ReserveFields.Add(reserveField);

                db.SaveChanges();
                return(RedirectToAction("Index", new { table = reserveField.TableName }));
            }

            return(View(reserveField));
        }
        public ActionResult DeleteConfirmed(int id)
        {
            ReserveField reserveField = db.ReserveFields.Find(id);

            db.ReserveFields.Remove(reserveField);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
 public ActionResult Edit(ReserveField reserveField)
 {
     if (ModelState.IsValid)
     {
         db.Entry(reserveField).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index", new { table = reserveField.TableName }));
     }
     return(View(reserveField));
 }
 public ActionResult Edit([Bind(Include = "Id,TableName,FieldName,Description,Status")] ReserveField reserveField)
 {
     if (ModelState.IsValid)
     {
         db.Entry(reserveField).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(reserveField));
 }
        //public ActionResult IndexInfo(string table)
        //{
        //    return View(db.ReserveFields.Where(rf=>rf.TableName.Equals(table)).ToList());
        //}
        // GET: ReserveRecord/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ReserveField reserveField = db.ReserveFields.Find(id);

            if (reserveField == null)
            {
                return(HttpNotFound());
            }
            return(View(reserveField));
        }
        // GET: ReserveRecord/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ReserveField reserveField = db.ReserveFields.Find(id);

            if (reserveField == null)
            {
                return(HttpNotFound());
            }
            ViewBag.TableNameId = new SelectList(db.TableNameContrasts, "Id", "TableDescription");
            return(View(reserveField));
        }
        public ActionResult Create([Bind(Include = "Id,TableName,FieldName,Description,Status")] ReserveField reserveField)
        {
            List <SelectListItem> items = new List <SelectListItem>();

            items.Add(new SelectListItem {
                Text = "部门信息表", Value = "Departments"
            });
            items.Add(new SelectListItem {
                Text = "员工档案表", Value = "Staffs"
            });
            items.Add(new SelectListItem {
                Text = "员工技能表", Value = "StaffSkills"
            });
            items.Add(new SelectListItem {
                Text = "员工技能表", Value = "StaffSkills"
            });
            items.Add(new SelectListItem {
                Text = "人事变更申请表", Value = "StaffChanges"
            });
            items.Add(new SelectListItem {
                Text = "离职申请表", Value = "StaffApplications"
            });
            items.Add(new SelectListItem {
                Text = "离职档案表", Value = "StaffArchives"
            });
            items.Add(new SelectListItem {
                Text = "合同管理表", Value = "Contracts"
            });
            ViewBag.List = items;

            if (ModelState.IsValid)
            {
                db.ReserveFields.Add(reserveField);
                /*状态设置为有效*/
                reserveField.Status = "true";
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(reserveField));
        }
        public ActionResult DeleteConfirmed(int id)
        {
            //确保固定字段表、变化字段表和变化字段存储表的数据一致性。
            ReserveField reserveField = db.ReserveFields.Find(id);

            var item = (from p in db.TableNameContrasts where p.Id == reserveField.TableNameId
                        select p.TableName).ToList().FirstOrDefault();

            //var item = (from p in db.ReserveFields
            //                               join q in db.TableNameContrasts on p.TableNameId equals reserveField.Id
            //                                      select q.TableName).ToList().FirstOrDefault();

            if (item == "StaffArchives")
            {
                foreach (StaffArchiveReserve t in db.StaffArchiveReserves.Where(sarq => sarq.FieldId.Equals(id)).ToList())
                {
                    db.StaffArchiveReserves.Remove(t);
                    db.SaveChanges();
                }
            }
            if (item == "StaffChanges")
            {
                foreach (StaffChangeReserve t in db.StaffChangeReserves.Where(scr => scr.FieldId.Equals(id)).ToList())
                {
                    db.StaffChangeReserves.Remove(t);
                    db.SaveChanges();
                }
            }
            if (item == "Staffs")
            {
                var staffReserves = (from p in db.StaffReserves where p.FieldId == id select p).ToList();
                foreach (var staffReserve in staffReserves)
                {
                    db.StaffReserves.Remove(staffReserve);
                }
                db.SaveChanges();
                //foreach (StaffReserve t in db.StaffReserves.Where(sr => sr.FieldId.Equals(id)).ToList())
                //{
                //    db.StaffReserves.Remove(t);
                //    db.SaveChanges();
                //}
            }
            if (item == "StaffSkills")
            {
                foreach (StaffSkillReserve t in db.StaffSkillReserves.Where(skr => skr.FieldId.Equals(id)).ToList())
                {
                    db.StaffSkillReserves.Remove(t);
                    db.SaveChanges();
                }
            }
            if (item == "Departments")
            {
                foreach (DepartmentReserve t in db.DepartmentReserves.Where(dr => dr.FieldId.Equals(id)).ToList())
                {
                    db.DepartmentReserves.Remove(t);
                    db.SaveChanges();
                }
            }
            if (item == "StaffApplications")
            {
                foreach (StaffApplicationReserve t in db.StaffApplicationReserves.Where(sar => sar.FieldId.Equals(id)).ToList())
                {
                    db.StaffApplicationReserves.Remove(t);
                    db.SaveChanges();
                }
            }
            db.ReserveFields.Remove(reserveField);
            db.SaveChanges();
            return(RedirectToAction("Index", new { table = reserveField.TableName }));
        }