Example #1
0
        public ActionResult AddNewPms(ObjectPermission obpms)
        {
            if (ModelState.IsValid && Session["MultiType"] != null)
            {
                var checkPermissionInObject =
                    _iPMSService.Query.Where(m => m.ObjectRBAC.objectid == obpms.ObjectId)
                    .Select(n => n.permissionid)
                    .ToList();
                int count = checkPermissionInObject.Count;
                if (count < 8)
                {
                    var checkname = _iPMSService.Query.FirstOrDefault(x => x.name.ToUpper() == obpms.PmsName.ToUpper());
                    if (checkname == null)
                    {
                        try
                        {
                            objectRbac objRb = new objectRbac();
                            objRb.objectid = obpms.ObjectId;

                            permission p = new permission();
                            p.AppID       = 1;
                            p.name        = obpms.PmsName.Trim();
                            p.Description = obpms.DesPms.Trim();
                            p.ObjectRBAC  = objRb;
                            var    Type_pms             = new TYPE_PERMISSION();
                            string TYPE_PERMISSIONMULTI = Session["MultiType"].ToString();

                            _iPMSService.BeginTran();

                            _iPMSService.CreateNew(p);
                            Type_pms.PERMISSIONID         = p.permissionid;
                            Type_pms.TYPE_PERMISSIONMULTI = TYPE_PERMISSIONMULTI;
                            Type_pms.LOAI_PERMISSION      = obpms.LoaiPermission;
                            _ITYPE_PERMISSIONService.CreateNew(Type_pms);

                            _iPMSService.CommitTran();
                            _iLogSystemService.CreateNew(HttpContext.User.Identity.Name, "Thêm mới tác vụ ", "Thực hiện chức năng thêm mới tác vụ", Helper.GetIPAddress.GetVisitorIPAddress(), HttpContext.Request.Browser.Browser);
                        }
                        catch (Exception e)
                        {
                            _iPMSService.RolbackTran();
                            ViewData["EditError"] = e.Message;
                        }
                    }
                    else
                    {
                        ViewData["EditError"] = "Tên đã tồn tại, xin chọn tên khác!";
                    }
                }
                else
                {
                    ViewData["EditError"] = "Một chức năng chỉ chứa tối đa 8 tác vụ, nhóm hiện đã có 8 tác vụ, vui lòng chọn chức năng khác!";
                }
            }
            else
            {
                ViewData["EditError"] = "Bạn phải nhập đầy đủ thông tin";
            }
            Session["MultiType"]          = null;
            Session["MultiTypeCheckEdit"] = null;
            return(PartialView("PERMISSIONPartial", GetAllPms()));
        }