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);
        }
Esempio n. 2
0
        public ActionResult Create(Department department)
        {
            //实现下拉列表
            List<SelectListItem> item = db.Departments.ToList().Select(c => new SelectListItem
            {
                Value = c.Number,//保存的值
                Text = c.Name//显示的值
            }).ToList();

            //增加一个“无”选项
            SelectListItem i = new SelectListItem();
            i.Value = "";
            i.Text = " ";
            item.Add(i);

            //传值到页面
            ViewBag.List = item;

            //模型状态错误(为空)
            if (ModelState.IsValid)
            {
                db.Departments.Add(department);
                department.Number = (new Random().Next(1111, 9999)).ToString();

                var itemId = (from p in db.Departments where p.Number  == department.ParentDepartmentId select p.Name).FirstOrDefault();

                db.SaveChanges();
                return RedirectToAction("Index");
            }

            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)
        {
            //如果公司的上级部门编号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)
     {
Esempio n. 6
0
        public ActionResult Edit(Department department)
        {
            //如果公司的上级部门编号ParentDepartmentId为空,将它置为null
            if (department.ParentDepartmentId == "") department.ParentDepartmentId = null;

            //实现下拉列表
            List<SelectListItem> item = db.Departments.ToList().Select(c => new SelectListItem
            {
                Value = c.Number,//保存的值
                Text = c.Name//显示的值
            }).ToList();

            SelectListItem i = new SelectListItem();
            i.Value = "";
            i.Text = " ";
            item.Add(i);

               ViewBag.List = item;//传值到页面

            //模型状态错误(为空)
            if (ModelState.IsValid)
            {
                Department d = db.Departments.Find(department.Number);
                if (d != null)
                {
                    d.Name = department.Name;
                    d.ParentDepartmentId = department.ParentDepartmentId;
                    d.Remark = department.Remark;
                    db.SaveChanges();
                    return RedirectToAction("Index");
                }

            }
            else
            {
                //自带的ValidationSummary提示
                ModelState.AddModelError("", "修改失败");
            }
            return View(department);
        }