public ActionResult Edit(TrainStart trainStart) { if (ModelState.IsValid) { TrainStart train = db.TrainStarts.Find(trainStart.Id); train.BillTypeNumber = trainStart.BillTypeNumber.Substring(0, 4); train.TrainType = trainStart.TrainType; train.StartDate = trainStart.StartDate; train.EndDate = trainStart.EndDate; train.TrainCost = trainStart.TrainCost; train.TellNumber = trainStart.TellNumber; train.Remark = trainStart.Remark; train.TrainTheme = trainStart.TrainTheme; train.TrainPlace = trainStart.TrainPlace; train.TrainPerson = trainStart.TrainPerson; train.ChoosePerson = Request["ChoosePerson"]; train.TrainManage = trainStart.TrainManage; train.JoinPerson = Request["JoinPerson"]; train.TrainContent = trainStart.TrainContent; train.ChangePerson = this.Name; train.ChangeTime = DateTime.Now; db.SaveChanges(); /*查找预留字段(value)*/ var fieldValueList = (from tsr in db.TrainStartReserves join rf in db.ReserveFields on tsr.FieldId equals rf.Id where tsr.Number == trainStart.Id select new TrainStartViewModel { Id = tsr.Id, Description = rf.Description, Value = tsr.Value }).ToList(); /*给预留字段赋值*/ foreach (var temp in fieldValueList) { TrainStartReserve rr = db.TrainStartReserves.Find(temp.Id); rr.Value = Request[temp.Description]; db.SaveChanges(); } return(RedirectToAction("Index")); } return(View(trainStart)); }
public ActionResult DeleteConfirmed(int id) { /*Step1:删除预留字段*/ var item = (from tsr in db.TrainStartReserves where tsr.Number == id select new TrainStartViewModel { Id = tsr.Id }).ToList(); foreach (var temp in item) { TrainStartReserve tsr = db.TrainStartReserves.Find(temp.Id); db.TrainStartReserves.Remove(tsr); } db.SaveChanges(); /*Step2:删除固定字段*/ TrainStart trainStart = db.TrainStarts.Find(id); db.TrainStarts.Remove(trainStart); db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult Create(TrainStart trainStart) { var staff = (from s in db.Staffs where s.AuditStatus == 3 && s.ArchiveTag == false select new StaffModel { department = s.Department, text = s.StaffNumber + "-" + s.Name, value = s.StaffNumber + "-" + s.Name + "<" + s.IndividualTelNumber + "-" + s.Email + ">" }).ToList(); var group = (from d in db.Departments select new StaffModel { department = d.DepartmentId, name = d.Name }).ToList(); Dictionary <string, int> sum = new Dictionary <string, int>(); foreach (var g in group) { int count = 0; foreach (var s in staff) { if (s.department == g.department) { count++; } } sum.Add(g.department, count); } ViewBag.Count = sum; ViewBag.Receiver = staff; ViewBag.Group = group; var temp = (from p in db.StaffParamTypes where p.Name == "培训类型" select p.Id).FirstOrDefault(); List <SelectListItem> item = (from p in db.StaffParams where p.StaffParamTypeId == temp select p).ToList().Select(c => new SelectListItem { Value = c.Value, //保存的值 Text = c.Value //显示的值 }).ToList(); SelectListItem i = new SelectListItem(); i.Value = ""; i.Text = "请选择"; i.Selected = true; item.Add(i); ViewBag.List = item; //List<SelectListItem> staff = (from s in db.Staffs // join d in db.Departments on s.Department equals d.DepartmentId // select new // { // StaffNumber = s.StaffNumber, // StaffName = s.Name, // StaffDepartment = d.Name, // StaffPosition = s.Position // }).ToList().Select(s => new SelectListItem // { // Text = s.StaffNumber + "-" + s.StaffName + "-" + s.StaffDepartment + "-" + s.StaffPosition, // Value = s.StaffNumber + "-" + s.StaffName + "-" + s.StaffDepartment + "-" + s.StaffPosition // }).ToList(); //ViewBag.staff = staff; /*查找预留字段(name)*/ var fieldList1 = (from p in db.ReserveFields join q in db.TableNameContrasts on p.TableNameId equals q.Id where q.TableName == "TrainStarts" select p).ToList(); ViewBag.fieldList = fieldList1; if (ModelState.IsValid) { trainStart.JoinPerson = Request["JoinPerson"]; trainStart.ChoosePerson = Request["ChoosePerson"]; trainStart.RecordPerson = this.Name; trainStart.RecordTime = DateTime.Now; db.TrainStarts.Add(trainStart); //提交审批 byte status = AuditApplicationStaffSkill(trainStart); //需要对原表做出的修改 trainStart.AuditStatus = status; /*查找预留字段(name)*/ var fieldList = (from p in db.ReserveFields join q in db.TableNameContrasts on p.TableNameId equals q.Id where q.TableName == "TrainStarts" select p).ToList(); ViewBag.fieldList = fieldList; /*遍历,保存变化的字段*/ foreach (var temp1 in fieldList) { TrainStartReserve rr = new TrainStartReserve(); rr.Number = trainStart.Id; rr.FieldId = temp1.Id; rr.Value = Request[temp1.FieldName]; /*占位,为了在Index中显示整齐的格式*/ if (rr.Value == null) { rr.Value = " "; } db.TrainStartReserves.Add(rr); db.SaveChanges(); } db.SaveChanges(); if (status == 7) { ViewBag.alertMessage = true; return(View(trainStart)); } else if (status == 3) { TrainStartPassAudit(trainStart); } return(RedirectToAction("Index")); } return(View(trainStart)); }