/// <summary>
        /// Get Location Name.
        /// </summary>
        /// <param name="permission">Permission to get location name for.</param>
        /// <param name="service">The locations retrieval by id service.</param>
        /// <returns>Single location</returns>
        public static async Task <Location> GetLocationName(
            this MEUserPermission permission,
            IAsyncQueryHandler <LocationsRetrievalByIdQuery, IEnumerable <Location> > service)
        {
            var locationIds = new List <string>
            {
                permission.LocationId
            };

            var locations = await service.Handle(new LocationsRetrievalByIdQuery(true, locationIds));

            return(locations.FirstOrDefault());
        }
Exemplo n.º 2
0
        public void MePermissionIdentical_Returns_True()
        {
            // Arrange
            var permissionA = new MEUserPermission
            {
                LocationId = "locationId",
                UserRole   = UserRoles.MedicalExaminer
            };

            var permissionB = new MEUserPermission
            {
                LocationId = "locationId",
                UserRole   = UserRoles.MedicalExaminer
            };

            // Assert
            Assert.True(permissionA.IsEquivalent(permissionB));
        }
Exemplo n.º 3
0
        public void MePermissionDifferentRole_Returns_False()
        {
            // Arrange
            var permissionA = new MEUserPermission
            {
                LocationId = "locationId",
                UserRole   = UserRoles.MedicalExaminer
            };

            var permissionB = new MEUserPermission
            {
                LocationId = "locationId",
                UserRole   = UserRoles.ServiceAdministrator
            };

            // Assert
            Assert.False(permissionA.IsEquivalent(permissionB));
        }
 /// <summary>
 /// Is Equivalent.
 /// Compares two permissions using their location and userRole properties to determine if they're equivalent.
 /// </summary>
 /// <param name="permissionA">First permission to compare.</param>
 /// <param name="permissionB">Second permission to compare.</param>
 /// <returns>Whether they're Equivalent.</returns>
 public static bool IsEquivalent(this MEUserPermission permissionA, MEUserPermission permissionB)
 {
     return(permissionA.LocationId == permissionB.LocationId && permissionA.UserRole == permissionB.UserRole);
 }
Exemplo n.º 5
0
 public PermissionLocation(MEUserPermission permission, Location location, string userId)
 {
     Location   = location;
     Permission = permission;
     UserId     = userId;
 }