public ActionResult Create(Department department) { //模型状态错误(为空) if (ModelState.IsValid) { /*选出ReserveFields中部门相关的记录*/ var recordList = (from p in db.ReserveFields where p.TableName == "Departments" select p).ToList(); ViewBag.recordList = recordList; /*生成部门编号*/ department.Number = (new Random().Next(1111, 9999)).ToString(); /*遍历*/ foreach (var temp in recordList) { DepartmentReserve dr = new DepartmentReserve(); dr.Number = department.Number; dr.FieldId = temp.Id; dr.Value = Request[temp.FieldName]; db.DepartmentReserves.Add(dr); /*把这行去掉之后即可运行*/ //db.SaveChanges(); } db.Departments.Add(department); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(department)); }
public ActionResult DeleteConfirmed(int id) { /*Step1:删除预留字段*/ // 由于主外键关系,Departments是主表,DepartmentReserves是引用Departments表的信息。 //只有先删除对应DepartmentReserve的动态变化的字段的信息 var item = (from dr in db.DepartmentReserves where dr.Number == id select new DepartmentViewModel { Id = dr.Id }).ToList(); foreach (var temp in item) { DepartmentReserve drs = db.DepartmentReserves.Find(temp.Id); db.DepartmentReserves.Remove(drs); } db.SaveChanges(); /*Step2:删除固定字段*/ //删除Departments表对应的信息 Department department = db.Departments.Find(id); db.Departments.Remove(department); db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult Create(Department department) { //传值到页面 // ViewBag.List = item; if (ModelState.IsValid) { //ModelState.AddModelError("","error"); /*Step1:如果上级部门为空则上级部门编号为公司Id*/ // if (department.ParentDepartmentId == null) { department.ParentDepartmentId = this.CompanyId; } department.DepartmentId = GetRandomCode(50); department.DepartmentOrder = 99; department.RecordTime = DateTime.Now; department.RecordPerson = this.UserName; /*Step3:保存固定字段(为了生成主键Id)*/ db.Departments.Add(department); db.SaveChanges(); /*Step4:显示预留字段名称*/ var recordList2 = (from p in db.ReserveFields join q in db.TableNameContrasts on p.TableNameId equals q.Id where q.TableName == "Departments" && p.Status == true select p).ToList(); ViewBag.recordList2 = recordList2; /*Step5:保存预留字段的值*/ foreach (var temp in recordList2) { DepartmentReserve dr = new DepartmentReserve(); dr.Number = department.Id; dr.FieldId = temp.Id; dr.Value = Request[temp.FieldName]; /*占位,为了在Index中显示整齐的格式*/ if (dr.Value == null) { dr.Value = " "; } db.DepartmentReserves.Add(dr); db.SaveChanges(); } //修改其他的自定义字段的列表 return(RedirectToAction("Index")); } var recordList1 = (from p in db.ReserveFields join q in db.TableNameContrasts on p.TableNameId equals q.Id where q.TableName == "Departments" && p.Status == true select p).ToList(); ViewBag.recordList = recordList1; return(View(department)); }
public ActionResult Edit(Department department) { //如果公司的上级部门编号ParentDepartmentId为空,将它置为null if (department.ParentDepartmentId == "") { department.ParentDepartmentId = this.CompanyId; } //模型状态错误(为空) if (ModelState.IsValid) { Department d = db.Departments.Find(department.Id); if (d != null) { // 得到部门department.Number对应的所有动态变化的字段 var pp = (from df in db.DepartmentReserves join rf in db.ReserveFields on df.FieldId equals rf.Id where df.Number == department.Id select new DepartmentViewModel { Id = df.Id, Description = rf.Description, Value = df.Value }).ToList(); //对每个动态变化的字段进行赋值 foreach (var temp in pp) { DepartmentReserve dr = db.DepartmentReserves.Find(temp.Id); dr.Value = Request[temp.Description]; db.SaveChanges(); } d.Name = department.Name; d.DepartmentId = department.DepartmentId; d.ParentDepartmentId = department.ParentDepartmentId; d.Remark = department.Remark; db.SaveChanges(); return(RedirectToAction("Index")); } } else { //自带的ValidationSummary提示 ModelState.AddModelError("", "修改失败"); } return(View(department)); }
public ActionResult Create(Department department) { if (ModelState.IsValid) { /*Step1:如果上级部门为空则上级部门编号为公司Id*/ if (department.ParentDepartmentId == null) { department.ParentDepartmentId = this.CompanyId; } /*Step2:部门编号唯一,应该用Ajax??*/ //var find = (from p in db.Departments where p.DepartmentId == department.DepartmentId select p).FirstOrDefault(); //if (find != null) { ModelState.AddModelError("","部门编号已存在!" );} /*Step3:保存固定字段(为了生成主键Id)*/ db.Departments.Add(department); db.SaveChanges(); /*Step4:显示预留字段名称*/ var recordList = (from p in db.ReserveFields where p.TableName == "Departments" select p).ToList(); ViewBag.recordList = recordList; /*Step5:保存预留字段的值*/ foreach (var temp in recordList) { DepartmentReserve dr = new DepartmentReserve(); dr.Number = department.Id; dr.FieldId = temp.Id; dr.Value = Request[temp.FieldName]; /*占位,为了在Index中显示整齐的格式*/ if (dr.Value == null) { dr.Value = " "; } db.DepartmentReserves.Add(dr); db.SaveChanges(); } return(RedirectToAction("Index")); } return(View(department)); }
public ActionResult Edit(Department department) { //实现下拉列表 var item = db.Departments.Where(p => p.DepartmentId != department.DepartmentId).OrderBy(p => p.DepartmentOrder).ToList().Select(c => new SelectListItem { Value = c.DepartmentId, //保存的值 Text = c.Name //显示的值 }).ToList(); SelectListItem company = new SelectListItem(); company.Value = this.CompanyId; company.Text = this.CompanyFullName; company.Selected = true; item.Insert(0, company); //传值到页面 ViewBag.List = item; //如果公司的上级部门编号ParentDepartmentId为空,将它置为null if (department.ParentDepartmentId == "") { department.ParentDepartmentId = this.CompanyId; } //模型状态错误(为空) if (ModelState.IsValid) { Department d = db.Departments.Find(department.Id); if (d != null) { // 得到部门department.Number对应的所有动态变化的字段 var pp = (from df in db.DepartmentReserves join rf in db.ReserveFields on df.FieldId equals rf.Id where df.Number == department.Id && rf.Status == true select new DepartmentViewModel { Id = df.Id, Description = rf.Description, Value = df.Value }).ToList(); ViewBag.ValueList = pp; //该部门的孩子部门 var childrens = (from p in db.Departments where p.ParentDepartmentId == department.DepartmentId select p).ToList(); foreach (var children in childrens) { if (department.ParentDepartmentId == children.DepartmentId) { ViewBag.errorMessage = true; //ModelState.AddModelError("", "该父级部门已经是子部门!"); return(View(department)); } } //对每个动态变化的字段进行赋值 foreach (var temp in pp) { DepartmentReserve dr = db.DepartmentReserves.Find(temp.Id); dr.Value = Request[temp.Description]; db.SaveChanges(); } d.DepartmentOrder = department.DepartmentOrder; d.ChangeTime = DateTime.Now; d.ChangePerson = this.UserName; d.DepartmentAbbr = department.DepartmentAbbr; d.Name = department.Name; d.DepartmentId = department.DepartmentId; d.StaffSize = department.StaffSize; d.ParentDepartmentId = department.ParentDepartmentId; d.Remark = department.Remark; db.SaveChanges(); return(RedirectToAction("Index")); } } else { //自带的ValidationSummary提示 ModelState.AddModelError("", "修改失败"); } //DepartmentViewModel显示部门信息(部门表变化的字段) var pp1 = (from df in db.DepartmentReserves join rf in db.ReserveFields on df.FieldId equals rf.Id where df.Number == department.Id && rf.Status == true select new DepartmentViewModel { Id = df.Id, Description = rf.Description, Value = df.Value }).ToList(); ViewBag.ValueList = pp1; return(View(department)); }