示例#1
0
        public async Task GrantPermission_Success()
        {
            //arrange
            var command = new GrantPermission
            {
                UserId      = ManagerOfProductAssemblyShop.Id,
                ResourceId  = ProduceInventoryItemHandler.Id,
                InitiatorId = GlobalAdmin.Id
            };
            var handler = new GrantPermissionHandler(EntityRepository, PermissionRepo, EventTransmitter);

            //act
            await handler.HandleAsync(command);

            //assert
            var entities = GetRecordedEntities <Permission>(PermissionRepo, nameof(PermissionRepo.AddAsync));

            Assert.That(entities.Count, Is.EqualTo(1));
            Assert.That(entities[0].Resource, Is.EqualTo(ProduceInventoryItemHandler));
            Assert.That(entities[0].User, Is.EqualTo(ManagerOfProductAssemblyShop));

            var events = GetRecordedEvents <DomainEvent <Permission> >();

            Assert.That(events.Count, Is.EqualTo(1));
            Assert.That(events[0].Trigger, Is.EqualTo(Trigger.Added));
            Assert.That(events[0].Entity, Is.EqualTo(entities[0]));
            Assert.That(events[0].RaisedBy, Is.EqualTo(command.InitiatorId));
        }
示例#2
0
        public ActionResult DeleteConfirmed(int id)
        {
            GrantPermission grantPermission = db.GrantPermission.Find(id);

            db.GrantPermission.Remove(grantPermission);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
示例#3
0
 public ActionResult Edit([Bind(Include = "PermissionId,UserId,Description")] GrantPermission grantPermission)
 {
     if (ModelState.IsValid)
     {
         db.Entry(grantPermission).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.UserId       = new SelectList(db.Administrator, "UserId", "UserName", grantPermission.UserId);
     ViewBag.PermissionId = new SelectList(db.Permission, "PermissionId", "PermissionName", grantPermission.PermissionId);
     return(View(grantPermission));
 }
示例#4
0
        // GET: Admin/GrantPermissions/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            GrantPermission grantPermission = db.GrantPermission.Find(id);

            if (grantPermission == null)
            {
                return(HttpNotFound());
            }
            return(View(grantPermission));
        }
示例#5
0
        // GET: Admin/GrantPermissions/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            GrantPermission grantPermission = db.GrantPermission.Find(id);

            if (grantPermission == null)
            {
                return(HttpNotFound());
            }
            ViewBag.UserId       = new SelectList(db.Administrator, "UserId", "UserName", grantPermission.UserId);
            ViewBag.PermissionId = new SelectList(db.Permission, "PermissionId", "PermissionName", grantPermission.PermissionId);
            return(View(grantPermission));
        }
示例#6
0
        public void GrantPermission_FailFor_PermissionAlreadyGranted()
        {
            //arrange
            var command = new GrantPermission
            {
                UserId      = UserWithPermissions.Id,
                ResourceId  = ProduceInventoryItemHandler.Id,
                InitiatorId = GlobalAdmin.Id
            };
            var handler = new GrantPermissionHandler(EntityRepository, PermissionRepo, EventTransmitter);

            //assert () => act
            var ex = Assert.ThrowsAsync <DomainException>(async() => await handler.HandleAsync(command));

            Assert.That(ex.Message, Is.EqualTo(DuplicatingGrant(UserWithPermissionsOnProduceInventoryItemHandler)));
            Assert.That(GetRecordedEvents <DomainEvent <Permission> >(), Is.Empty);
        }
示例#7
0
        // GET: Admin/updatePermission
        public string  updatePermission(int id, int usertemp)
        {
            string msg   = "";
            var    grant = db.GrantPermission.Find(id, usertemp);

            if (grant == null)
            {
                GrantPermission g = new GrantPermission()
                {
                    PermissionId = id, UserId = usertemp, Description = ""
                };
                db.GrantPermission.Add(g);
                msg = "<div class='alert alert-success'>Cấp quyền thành công</div>";
            }
            else
            {
                db.GrantPermission.Remove(grant);
                msg = "<div class='alert alert-danger'>Hủy quyền thành công</div>";
            }
            db.SaveChanges();
            return(msg);
        }
        public string updatePermission(int id, int usertemp)
        {
            string msg   = "";
            var    grant = _data.GrantPermissions.SingleOrDefault(x => x.PermissionId == id && x.IDNhanVien == usertemp);

            if (grant == null)
            {
                GrantPermission g = new GrantPermission()
                {
                    PermissionId = id, IDNhanVien = usertemp
                };
                _data.GrantPermissions.InsertOnSubmit(g);
                msg = "<div class='alert alert-success'>Cấp quyền thành công</div>";
            }
            else
            {
                _data.GrantPermissions.DeleteOnSubmit(grant);
                msg = "<div class='alert alert-danger'>Hủy quyền thành công</div>";
            }
            _data.SubmitChanges();
            return(msg);
        }
示例#9
0
        public bool UpdatePermission(int permisstionId, int groupUserId)
        {
            //id mã quyền hạn , groupUserID mã quyền
            var grand = db.GrantPermissions.Find(permisstionId, groupUserId); //kiểm tra xem quyền đó có tồn tại hay không

            if (grand == null)                                                //nếu không thì sẽ thêm vào db
            {
                GrantPermission grantPermission = new GrantPermission()
                {
                    PermissionID = permisstionId, GroupUserID = groupUserId, Description = ""
                };
                db.GrantPermissions.Add(grantPermission);//thêm vào db
                db.SaveChanges();
                return(true);
            }
            else//nếu có (hoặc bỏ quyền) thì xóa nó đi
            {
                db.GrantPermissions.Remove(grand);
                db.SaveChanges();
                return(false);
            }
        }
        public async Task <bool> UpdatePermisson(int id, Guid userId)
        {
            var grant = (await _grantPermissionRepository.FindAll(x => x.BusinessActionId == id)).AsNoTracking().AsParallel().AsOrdered().WithDegreeOfParallelism(3).SingleOrDefault();

            if (grant == null)
            {
                var shopGrant = new GrantPermission
                {
                    BusinessActionId = id,
                    UserId           = userId
                };

                await _grantPermissionRepository.Add(shopGrant);

                _unitOfWork.Commit();

                return(true);
            }
            await _grantPermissionRepository.Remove(grant);

            _unitOfWork.Commit();
            return(false);
        }
        public string updatePermissions(int id, Guid grouppid)
        {
            string         msg   = "";
            PTTDataContext db    = new PTTDataContext();
            var            grant = db.GrantPermissions.Where(a => a.GroupID == grouppid && a.PermissionID == id).SingleOrDefault <GrantPermission>();

            if (grant == null)
            {
                GrantPermission g = new GrantPermission();
                g.GroupID      = grouppid;
                g.PermissionID = id;
                db.GrantPermissions.Add(g);
                msg = "<div class='alert alert-success'>Cấp quyền thành công!</div>";
            }
            else
            {
                db.GrantPermissions.Remove(grant);
                msg = "<div class='alert alert-danger'>Hủy quyền thành công!</div>";
            }
            db.SaveChanges();

            return(msg);
        }