public ActionResult Edit(StaffSkillViewModel staffSkill) { if (ModelState.IsValid) { StaffSkill ss = db.StaffSkills.Find(staffSkill.Id); /*查找员工技能预留字段(value)*/ var fieldValueList = (from ssr in db.StaffSkillReserves join rf in db.ReserveFields on ssr.FieldId equals rf.Id where ssr.Number == staffSkill.Id && rf.Status == true select new StaffSkillViewModel { Id = ssr.Id, Description = rf.Description, Value = ssr.Value }).ToList(); //ViewBag.fieldValueList = fieldValueList; /*给预留字段赋值*/ foreach (var temp in fieldValueList) { StaffSkillReserve ssr = db.StaffSkillReserves.Find(temp.Id); ssr.Value = Request[temp.Description]; db.SaveChanges(); } ss.ValidDate = staffSkill.ValidDate; ss.StaffNumber = staffSkill.StaffNumber; ss.SkillRemark = staffSkill.SkillRemark; ss.SkillNumber = staffSkill.SkillNumber; ss.BillTypeNumber = staffSkill.BillTypeNumber; ss.BillNumber = staffSkill.BillNumber; ss.ChangePerson = base.Name; ss.ChangeTime = DateTime.Now; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(staffSkill)); }
// GET: StaffSkill/Delete/5 public ActionResult Delete(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } StaffSkill staffSkill = db.StaffSkills.Find(id); if (staffSkill == null) { return(HttpNotFound()); } StaffSkillViewModel staffSkillViewModel = new StaffSkillViewModel(); staffSkillViewModel.Id = staffSkill.Id; staffSkillViewModel.BillNumber = staffSkill.BillNumber; staffSkillViewModel.BillTypeNumber = staffSkill.BillTypeNumber; staffSkillViewModel.StaffNumber = staffSkill.StaffNumber; staffSkillViewModel.SkillNumber = staffSkill.SkillNumber; staffSkillViewModel.SkillRemark = staffSkill.SkillRemark; staffSkillViewModel.ValidDate = staffSkill.ValidDate; staffSkillViewModel.AuditStatusName = db.States.Find(staffSkill.AuditStatus).Description; var stafflParam = db.StaffParams.Where(sp => sp.Id.ToString().Equals(staffSkill.SkillNumber)); var staffs = (from s in db.Staffs join d in db.Departments on s.Department equals d.DepartmentId where s.StaffNumber == staffSkill.StaffNumber select new { Name = s.Name, Department = d.Name }).ToList(); var billTypeNumber = db.BillProperties.Where(bp => bp.Type.Equals(staffSkill.BillTypeNumber)); foreach (var billTypeNumber1 in billTypeNumber) { staffSkillViewModel.BillTypeName = billTypeNumber1.TypeName; } foreach (var temp in stafflParam) { staffSkillViewModel.SkillName = temp.Value; } foreach (var temp in staffs) { staffSkillViewModel.StaffName = temp.Name; staffSkillViewModel.Department = temp.Department; } /*显示预留字段以及预留字段的值*/ /*查找员工技能预留字段(name)*/ var fieldNameList = (from p in db.ReserveFields join q in db.TableNameContrasts on p.TableNameId equals q.Id where q.TableName == "StaffSkills" && p.Status == true select p).ToList(); ViewBag.fieldNameList = fieldNameList; /*查找员工技能预留字段(value)*/ var fieldValueList = (from ssr in db.StaffSkillReserves join rf in db.ReserveFields on ssr.FieldId equals rf.Id where ssr.Number == staffSkill.Id && rf.Status == true select new StaffSkillViewModel { Id = ssr.Number, Description = rf.Description, Value = ssr.Value }).ToList(); ViewBag.fieldValueList = fieldValueList; return(View(staffSkillViewModel)); }
// GET: StaffSkill/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } StaffSkill staffSkill = db.StaffSkills.Find(id); if (staffSkill == null) { return(HttpNotFound()); } StaffSkillViewModel staffSkillViewModel = new StaffSkillViewModel(); staffSkillViewModel.Id = staffSkill.Id; staffSkillViewModel.BillNumber = staffSkill.BillNumber; staffSkillViewModel.BillTypeNumber = staffSkill.BillTypeNumber; staffSkillViewModel.StaffNumber = staffSkill.StaffNumber; staffSkillViewModel.SkillNumber = staffSkill.SkillNumber; staffSkillViewModel.SkillRemark = staffSkill.SkillRemark; staffSkillViewModel.ValidDate = staffSkill.ValidDate; var stafflParam = db.StaffParams.Where(sp => sp.Id.ToString().Equals(staffSkill.SkillNumber)); var staffs = (from s in db.Staffs join d in db.Departments on s.Department equals d.DepartmentId into gc /*左联:显示所有员工表的字段*/ from d in gc.DefaultIfEmpty() where s.StaffNumber == staffSkill.StaffNumber select new { Name = s.Name, Department = d.Name }).ToList(); var billTypeNumber = db.BillProperties.Where(bp => bp.Type.Equals(staffSkill.BillTypeNumber)); foreach (var billTypeNumber1 in billTypeNumber) { staffSkillViewModel.BillTypeName = billTypeNumber1.TypeName; } foreach (var temp in stafflParam) { staffSkillViewModel.SkillName = temp.Value; } foreach (var temp in staffs) { staffSkillViewModel.StaffName = temp.Name; staffSkillViewModel.Department = temp.Department; } //4.员工技能 List <SelectListItem> staffSkill2 = new List <SelectListItem>(); ///linq多表查询 var staffSkill1 = from spt in db.StaffParamTypes join sp in db.StaffParams on spt.Id equals sp.StaffParamTypeId where spt.Name == "员工技能" select new { id = sp.Id, value = sp.Value }; foreach (var tt in staffSkill1) { SelectListItem i = new SelectListItem(); i.Value = tt.id.ToString(); i.Text = tt.value; staffSkill2.Add(i); } ViewBag.staffSkill = staffSkill2; /*查找员工技能预留字段(value)*/ var fieldValueList = (from ssr in db.StaffSkillReserves join rf in db.ReserveFields on ssr.FieldId equals rf.Id //where ssr.Number == staffSkill.Id where ssr.Number == id && rf.Status == true select new StaffSkillViewModel { Description = rf.Description, Value = ssr.Value }).ToList(); ViewBag.fieldValueList = fieldValueList; return(View(staffSkillViewModel)); }
public ActionResult Create(StaffSkill staffSkill3) { if (ModelState.IsValid) { staffSkill3.RecordTime = DateTime.Now; if (staffSkill3.ValidDate < DateTime.Today) { ModelState.AddModelError("", "生效日期错误!请重新选择"); CreateInite(); StaffSkillViewModel staffSkill = new StaffSkillViewModel(); staffSkill.Id = staffSkill3.Id; staffSkill.BillNumber = staffSkill3.BillNumber; staffSkill.StaffNumber = staffSkill3.StaffNumber; staffSkill.SkillNumber = staffSkill3.SkillNumber; staffSkill.SkillRemark = staffSkill3.SkillRemark; staffSkill.ValidDate = staffSkill3.ValidDate; return(View(staffSkill)); } staffSkill3.BillNumber = GenerateBillNumber(staffSkill3.BillTypeNumber); staffSkill3.RecordPerson = base.Name; /*先保存员工技能固定的字段(为了生成主键Id)*/ db.StaffSkills.Add(staffSkill3); db.SaveChanges(); //提交审核 byte status = AuditApplicationStaffSkill(staffSkill3); if (status == 7) { ViewBag.alertMessage = true; CreateInite(); StaffSkillViewModel staffSkill = new StaffSkillViewModel(); staffSkill.Id = staffSkill3.Id; // staffSkill.BillTypeNumber = GenerateBillNumber(); staffSkill.BillNumber = staffSkill3.BillNumber; staffSkill.StaffNumber = staffSkill3.StaffNumber; staffSkill.SkillNumber = staffSkill3.SkillNumber; staffSkill.SkillRemark = staffSkill3.SkillRemark; staffSkill.ValidDate = staffSkill3.ValidDate; return(View(staffSkill3)); } else { //需要对原表做出的修改 staffSkill3.AuditStatus = status; db.SaveChanges(); } /*查找员工技能预留字段(name)*/ var fieldList = (from p in db.ReserveFields join q in db.TableNameContrasts on p.TableNameId equals q.Id where q.TableName == "StaffSkills" select p).ToList(); ViewBag.fieldList = fieldList; /*遍历,保存员工技能变化的字段*/ foreach (var temp in fieldList) { StaffSkillReserve ssr = new StaffSkillReserve(); ssr.Number = staffSkill3.Id; ssr.FieldId = temp.Id; ssr.Value = Request[temp.FieldName]; /*占位,为了在Index中显示整齐的格式*/ if (ssr.Value == null) { ssr.Value = " "; } db.StaffSkillReserves.Add(ssr); db.SaveChanges(); } return(RedirectToAction("Index")); } else { CreateInite(); StaffSkillViewModel staffSkill = new StaffSkillViewModel(); staffSkill.Id = staffSkill3.Id; // staffSkill.BillTypeNumber = GenerateBillNumber(); staffSkill.BillNumber = staffSkill3.BillNumber; staffSkill.StaffNumber = staffSkill3.StaffNumber; staffSkill.SkillNumber = staffSkill3.SkillNumber; staffSkill.SkillRemark = staffSkill3.SkillRemark; staffSkill.ValidDate = staffSkill3.ValidDate; return(View(staffSkill)); } }