Exemplo n.º 1
0
        public OpResult SaveOrUpdate(SysPositions obj, string insert, string delete)
        {
            if (!obj.Code.IsNullOrEmpty() && PositionRepository.IsExists(o => o.Code == obj.Code && o.Id != obj.Id))
            {
                return(OpResult.Fail("该代码已存在!"));
            }
            var insertList = new List <SysDepartments>();
            var deleteList = new List <SysDepartments>();

            if (!insert.IsNullOrEmpty())
            {
                insertList.AddRange(insert.ToObject <List <SysDepartments> >().Where(o => o.DeptId > 0));
            }
            if (!delete.IsNullOrEmpty())
            {
                deleteList.AddRange(delete.ToObject <List <SysDepartments> >().Where(o => o.DeptId > 0));
            }
            if (obj.Id == 0)
            {
                obj.PositId   = Guid.NewGuid().ToString("n");
                obj.UpdateDT  = obj.CreateDT = DateTime.Now;
                obj.UpdateUID = obj.CreateUID = CurrentUser.UID;
                obj.Status    = true;

                PositionRepository.Add(obj, false);
            }
            else
            {
                var menu = PositionRepository.Get(obj.Id);
                obj.ToCopyProperty(menu, new List <string>()
                {
                    "CreateDT", "CreateUID", "Status", "PositId", "DeptId"
                });
                menu.UpdateDT  = DateTime.Now;
                menu.UpdateUID = CurrentUser.UID;
                obj            = menu;
            }
            if (insertList.Any())
            {
                if (!obj.DeptId.IsNullOrEmpty())
                {
                    insertList.InsertRange(0, obj.DeptId.Split(',').Select(o => new SysDepartments()
                    {
                        DeptId = int.Parse(o)
                    }));
                }
                obj.DeptId = string.Join(",", insertList.Select(o => o.DeptId));
            }
            if (deleteList.Any())
            {
                var source = obj.DeptId.Split(',').Select(o => int.Parse(o)).ToList();
                source.RemoveAll(o => deleteList.Select(i => i.DeptId).Contains(o));
                obj.DeptId = string.Join(",", source);
            }
            PositionRepository.SaveChanges(obj);
            return(OpResult.Success());
        }
Exemplo n.º 2
0
        public ActionResult Save(int?id)
        {
            var obj = new SysPositions()
            {
                Status = true
            };
            var list = ListToSelect(DeptService.GetFullTitle().Select(o => new SelectListItem()
            {
                Text = o.Value, Value = o.Key.ToString()
            }), emptyTitle: "请选择");
            var datas = new Dictionary <int, string>();

            if (id.HasValue)
            {
                obj = PositionService.Get(id.Value);
                if (!obj.DeptId.IsNullOrEmpty())
                {
                    datas = DeptService.GetFullTitle(obj.DeptId);
                }
            }
            ViewBag.depts = list.ToJson();
            ViewBag.datas = datas.Select(o => new { DeptId = o.Key, Title = o.Value }).ToJson();
            return(View(obj.IsNullThrow()));
        }
Exemplo n.º 3
0
        public ActionResult Save(SysPositions obj)
        {
            var re = PositionService.SaveOrUpdate(obj, Request["inserted"], Request["deleted"]);

            return(new OpActionResult(re));
        }