コード例 #1
0
        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));
        }
コード例 #2
0
        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"));
        }
コード例 #3
0
        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));
        }