コード例 #1
0
 public ActionResult Edit([Bind(Include = "Number,BillTypeName,BillTypeNumber,StaffNumber,Name,Gender,Department,WorkType,Position,IdentificationType,Nationality,IdentificationNumber,Entrydate,ClassOrder,AppSwitch,JobState,AbnormalChange,FreeCard,WorkProperty,ApplyOvertimeSwitch,Source,QualifyingPeriodFull,MaritalStatus,BirthDate,NativePlace,HealthCondition,Nation,Address,VisaOffice,HomeTelNumber,EducationBackground,GraduationSchool,SchoolMajor,Degree,Introducer,IndividualTelNumber,BankCardNumber,UrgencyContactMan,UrgencyContactAddress,UrgencyContactPhoneNumber,InBlacklist,PhysicalCardNumber,LeaveDate,LeaveType,LeaveReason,AccountVersion,AuditStatus,BindingNumber")] Staff staff)
 {
     if (ModelState.IsValid)
     {
         /*查找员工信息预留字段(value)*/
         var fieldValueList = (from sr in db.StaffReserves
                               join rf in db.ReserveFields on sr.FieldId equals rf.Id
                               where sr.Number == staff.Number
                               select new StaffViewModel {
             Number = sr.Id, Description = rf.Description, Value = sr.Value
         }).ToList();
         /*给预留字段赋值*/
         foreach (var temp in fieldValueList)
         {
             StaffReserve sr = db.StaffReserves.Find(temp.Number);
             sr.Value = Request[temp.Description];
             db.SaveChanges();
         }
         /*保存固定字段*/
         db.Entry(staff).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(staff));
 }
コード例 #2
0
        public ActionResult Create(Staff staff)
        {
            if (ModelState.IsValid)
            {
                var tmp = db.Staffs.Where(p => p.StaffNumber.Equals(staff.StaffNumber)).ToList();
                if (tmp.Count != 0)
                {
                    ModelState.AddModelError("", "抱歉,该工号已经被注册!");

                    return(View(staff));
                }
                else
                {
                    /*Step1:先保存员工固定字段*/
                    db.Staffs.Add(staff);
                    db.SaveChanges();

                    /*查找员工基本信息表预留字段(name)*/
                    var fieldList = (from p in db.ReserveFields where p.TableName == "Staffs" select p).ToList();
                    ViewBag.fieldList = fieldList;

                    /*遍历,保存员工基本信息预留字段*/
                    foreach (var temp in fieldList)
                    {
                        StaffReserve sr = new StaffReserve();
                        sr.Number  = staff.Number;
                        sr.FieldId = temp.Id;
                        sr.Value   = Request[temp.FieldName];
                        /*占位,为了在Index中显示整齐的格式*/
                        if (sr.Value == null)
                        {
                            sr.Value = " ";
                        }
                        db.StaffReserves.Add(sr);
                        db.SaveChanges();
                    }
                    return(RedirectToAction("Index"));
                }
            }

            return(View(staff));
        }
コード例 #3
0
        public ActionResult DeleteConfirmed(int id)
        {
            /*Step1:删除预留字段*/
            var item = (from sr in db.StaffReserves
                        where sr.Number == id
                        select new StaffViewModel {
                Number = sr.Id
            }).ToList();

            foreach (var temp in item)
            {
                StaffReserve sr = db.StaffReserves.Find(temp.Number);
                db.StaffReserves.Remove(sr);
            }
            db.SaveChanges();

            /*Step2:删除固定字段*/
            Staff staff = db.Staffs.Find(id);

            db.Staffs.Remove(staff);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }