Exemplo n.º 1
0
        /// <summary>
        /// 对单条记录进行添加(或者修改)
        /// </summary>
        /// <param name="keyGuid"></param>
        /// <returns></returns>
        public ActionResult Item(string keyGuid)
        {
            Guid         targetGuid   = Converter.TryToGuid(keyGuid);
            BusinessRole targetObject = BusinessRoleBLL.Get(targetGuid);

            return(View(targetObject));
        }
 /// <summary>
 /// 
 /// </summary>
 /// <param name="cache"></param>
 
 /// <summary>  </summary>
 protected override void ConfigLoadAfter(IPluginConfig pluginConfig)
 {
     PolicyPrivilegeManageConfig policyPrivilegeConfig = pluginConfig as PolicyPrivilegeManageConfig;
     PrivilegeManageManager.Init(policyPrivilegeConfig.DbConfig);
     base.ConfigLoadAfter(pluginConfig);
     businessSystem = IocUnity.Get<BusinessSystem>();
     businessUser = IocUnity.Get<BusinessUser>();
     businessRole = IocUnity.Get<BusinessRole>();
     businessPrivilege = IocUnity.Get<BusinessPrivilege>();
     businessOrganization = IocUnity.Get<BusinessOrganization>();
     businessItem = IocUnity.Get<BusinessItem>();
 }
Exemplo n.º 3
0
        public bool UpdateBusinessRole(string businessRoleId, string name, string businessId)
        {
            BusinessRole br = new BusinessRole();

            if (br.CheckBusinessRoleExists(businessRoleId, businessId))
            {
                return(br.UpdateBusinessRole(businessRoleId, name));
            }
            else
            {
                return(false);
            }
        }
Exemplo n.º 4
0
        public void Setup()
        {
            _country        = EFContext.Country.First();
            _defaultCurrecy = EFContext.Currency.First(c => c.DefaultCurrency);
            _module         = EFContext.AbstractType
                              .Include(a => a.Module)
                              .FirstOrDefault(a =>
                                              a.Type == AbstractObjectType.Module.ToString() &&
                                              a.Module.ClientType == ClientType.Pg);
            _root = EFContext.AbstractType.First(a => a.Id == a.ParentId);

            _agencyAdmin = EFContext.BusinessRole.First(br => br.Key == plugins.Constants.BusinessRole.AgencyAdmin);
        }
Exemplo n.º 5
0
        public ActionResult Item(string keyGuid, BusinessRole entity, bool isOnlyPlaceHolder = true)
        {
            Guid   targetGuid     = Converter.TryToGuid(keyGuid);
            bool   isSuccessful   = false;
            string displayMessage = string.Empty;

            BusinessRole targetRole = null;

            if (targetGuid == Guid.Empty)
            {
                targetRole          = new BusinessRole();
                targetRole.RoleGuid = GuidHelper.NewGuid();

                SetTargetEntityValue(entity, ref targetRole);

                CreateUserRoleStatuses status;
                BusinessRoleBLL.CreateRole(targetRole, out status);

                if (status == CreateUserRoleStatuses.Successful)
                {
                    isSuccessful = true;
                }
                else
                {
                    isSuccessful = false;
                }
            }
            else
            {
                targetRole = BusinessRoleBLL.Get(targetGuid);

                SetTargetEntityValue(entity, ref targetRole);

                isSuccessful = BusinessRoleBLL.UpdateRole(targetRole);
            }


            if (isSuccessful == true)
            {
                displayMessage = "数据保存成功";
            }
            else
            {
                displayMessage = "数据保存失败";
            }

            return(Json(new LogicStatusInfo(isSuccessful, displayMessage)));
        }
Exemplo n.º 6
0
        public ActionResult Edit(string id)
        {
            BusinessRole role = RoleManager.FindById(id);

            string[] memberIDs = role.Users.Select(x => x.UserId).ToArray();

            IEnumerable <BusinessUser> members    = UserManager.Users.Where(x => memberIDs.Any(y => y == x.Id));
            IEnumerable <BusinessUser> notMembers = UserManager.Users.Except(members);

            return(View(new RoleEditModel
            {
                BusinessRole = role,
                Members = members,
                NotMembers = notMembers
            }));
        }
        /// <summary>
        /// 内部员工生日提醒是发送到配置文件中设置的生日提醒接收人角色
        /// </summary>
        /// <param name="birthdayUserList"></param>
        protected override void DispatchRemindMessage(List <BusinessUser> birthdayUserList)
        {
            string[] roles = StringHelper.SplitToArray(SystemTaskInConfig.GetAddonItemValue("receiveRoleNames"));

            RemindEntity remindEntity = CreateRemindEntity();

            foreach (BusinessUser currentUser in birthdayUserList)
            {
                remindEntity.RemindTitle    = string.Format("同事【{0}】将在{1}过生日", currentUser.UserNameDisplay, currentUser.UserBirthDay.ToShortDateString());
                remindEntity.RemindCategory = RemindCategories.BirthdayRemindOfEmployee;
                remindEntity.RemindUrl      = string.Empty;

                //向指定的角色发送提醒数据
                foreach (string currentRole in roles)
                {
                    BusinessRole role = BusinessRoleBLL.Get(currentRole);
                    RemindBLL.Instance.Create(role.ExecutorGuid, ExecutorTypes.Role, remindEntity);
                }
            }
        }
        public IResult Add(IFormFile file, CarImage carImage)
        {
            var result = BusinessRole.Rol(CheckCarImageCount(carImage.CarId), CheckIfCarImageNull(carImage.CarId));

            if (result != null)
            {
                return(result);
            }

            var imageResult = FileHelper.Upload(file);

            if (!imageResult.Success)
            {
                return(new ErrorResult(imageResult.Message));
            }

            carImage.ImagePath = imageResult.Message;
            carImage.Date      = DateTime.Now;
            _carImageDal.Add(carImage);
            return(new SuccessResult(Messages.Added));
        }
Exemplo n.º 9
0
        private void SetupBusinessRoles()
        {
            var ipmBusinessRole = new BusinessRole()
            {
                Key   = "Integrated Production Manager",
                Value = "Integrated Production Manager",
            };
            var brandBusinessRole = new BusinessRole()
            {
                Key   = "Brand Manager",
                Value = "Brand Management Approver"
            };
            var agencyAdmin = new BusinessRole()
            {
                Key   = "Agency Admin",
                Value = "Agency Admin"
            };

            EFContext.BusinessRole.Add(ipmBusinessRole);
            EFContext.BusinessRole.Add(brandBusinessRole);
            EFContext.BusinessRole.Add(agencyAdmin);
            EFContext.SaveChanges();
        }
        public async Task Get_Many_FinanceManagementUser_NA_Budget_Region()
        {
            //Arrange
            var expectedCount         = 15;
            var costStageRevision     = new CostStageRevision();
            var region                = new Region();
            var budgetRegion          = Constants.BudgetRegion.NorthAmerica;
            var northAmericanRegionId = Guid.NewGuid();
            var role = new Role
            {
                Id            = Guid.NewGuid(),
                BusinessRoles = new List <BusinessRole>
                {
                    new BusinessRole
                    {
                        Key   = Constants.BusinessRole.FinanceManager,
                        Value = Constants.BusinessRole.FinanceManager,
                    }
                }
            };
            var businessRole = new BusinessRole
            {
                Key   = Constants.BusinessRole.FinanceManager,
                Value = Constants.BusinessRole.FinanceManager,
                Role  = role
            };

            var costStageRevisionId = Guid.NewGuid();

            costStageRevision.Id = costStageRevisionId;

            var costUsers   = new List <CostUser>();
            var userGroupId = Guid.NewGuid();

            for (int i = 0; i < expectedCount; i++)
            {
                var userId     = Guid.NewGuid();
                var gdamUserId = "na_finance_gdam_id" + expectedCount;

                var financeUser = new CostUser
                {
                    Id = userId,
                    NotificationBudgetRegion = region,
                    UserBusinessRoles        = new List <UserBusinessRole>
                    {
                        new UserBusinessRole
                        {
                            BusinessRole = businessRole,
                            ObjectType   = core.Constants.AccessObjectType.Client
                        }
                    },
                    UserUserGroups = new List <UserUserGroup>
                    {
                        new UserUserGroup
                        {
                            UserGroup = new UserGroup
                            {
                                Id   = userGroupId,
                                Role = role
                            },
                            UserGroupId = userGroupId,
                            UserId      = userId
                        }
                    },
                    GdamUserId = gdamUserId
                };

                costUsers.Add(financeUser);
            }

            region.Id  = northAmericanRegionId;
            region.Key = Constants.Region.NorthAmericanArea;
            _efContext.Region.Add(region);

            _efContext.AddRange(costUsers);
            _efContext.SaveChanges();

            var costUserGroups = new[] { userGroupId.ToString() };

            //Act
            var result = await _costUserService.GetFinanceManagementUsers(costUserGroups, budgetRegion);

            //Assert
            result.Should().NotBeNull();

            var resultArr = result as string[] ?? result.ToArray();

            resultArr.Should().HaveCount(expectedCount);
        }
Exemplo n.º 11
0
        public List <BusinessRole> GetBusinessRoles(string businessId)
        {
            BusinessRole br = new BusinessRole();

            return(br.GetBusinessRoles(businessId));
        }
Exemplo n.º 12
0
        public bool DeleteBusinessRole(string businessRoleId)
        {
            BusinessRole br = new BusinessRole();

            return(br.DeleteBusinessRole(businessRoleId));
        }
Exemplo n.º 13
0
 /// <summary>
 /// 通过一个实体给另外一个实体赋值
 /// </summary>
 /// <param name="originalEntity"></param>
 /// <param name="targetEntity"></param>
 private static void SetTargetEntityValue(BusinessRole originalEntity, ref BusinessRole targetEntity)
 {
     targetEntity.RoleDescrition = originalEntity.RoleDescrition;
     targetEntity.RoleName       = originalEntity.RoleName;
     targetEntity.CanUsable      = originalEntity.CanUsable;
 }
Exemplo n.º 14
0
        public BusinessRole GetBusinessRole(string businessRoleId)
        {
            BusinessRole br = new BusinessRole();

            return(br.GetBusinessRole(businessRoleId));
        }
Exemplo n.º 15
0
        // -------------------------------- Business Role --------------------------------
        public BusinessRole CreateBusinessRole(string name, string businessId)
        {
            BusinessRole br = new BusinessRole();

            return(br.CreateBusinessRole(name, businessId));
        }
        public void Init()
        {
            EFContext = EFContextFactory.CreateInMemoryEFContext();
            var configuration = new MapperConfiguration(config =>
                                                        config.AddProfiles(
                                                            typeof(NotificationProfile),
                                                            typeof(PgPurchaseOrderResponse)
                                                            )
                                                        );

            IMapper mapper        = new Mapper(configuration);
            var     mockUriHelper = new Mock <IApplicationUriHelper>();

            _appSettings = new AppSettings();
            var appSettingsMock = new Mock <IOptions <AppSettings> >();

            appSettingsMock.Setup(s => s.Value).Returns(_appSettings);

            mockUriHelper.Setup(u => u.GetLink(It.IsAny <ApplicationUriName>(), It.IsAny <string>(), It.IsAny <string>())).Returns(_costUrl);

            _costStageRevisionServiceMock = new Mock <ICostStageRevisionService>();
            _approvalServiceMock          = new Mock <IApprovalService>();

            _regionsServiceMock = new Mock <IRegionsService>();

            _regionsServiceMock.Setup(r => r.GetAsync(_northAmericanRegionId)).Returns(Task.FromResult(new RegionModel
            {
                Id   = _northAmericanRegionId,
                Name = "North America"
            }));
            _regionsServiceMock.Setup(r => r.GetAsync(_europeRegionId)).Returns(Task.FromResult(new RegionModel
            {
                Id   = _europeRegionId,
                Name = "Europe"
            }));
            _regionsServiceMock.Setup(r => r.GetAsync(_asiaRegionId)).Returns(Task.FromResult(new RegionModel
            {
                Id   = _asiaRegionId,
                Name = "Asia"
            }));
            _regionsServiceMock.Setup(r => r.GetGeoRegion(_northAmericanRegionId)).Returns(Task.FromResult(new RegionModel
            {
                Id   = _northAmericanRegionId,
                Name = "North America"
            }));
            _regionsServiceMock.Setup(r => r.GetGeoRegion(_europeRegionId)).Returns(Task.FromResult(new RegionModel
            {
                Id   = _europeRegionId,
                Name = "Europe"
            }));
            _regionsServiceMock.Setup(r => r.GetGeoRegion(_asiaRegionId)).Returns(Task.FromResult(new RegionModel
            {
                Id   = _asiaRegionId,
                Name = "Asia"
            }));

            _costFormServiceMock         = new Mock <ICostFormService>();
            _customObjectDataServiceMock = new Mock <ICustomObjectDataService>();
            _pgPaymentServiceMock        = new Mock <IPgPaymentService>();
            _costStageServiceMock        = new Mock <ICostStageService>();
            MetadataItems = new List <MetadataItem>();
            MetadataProviderServiceMock = new Mock <IMetadataProviderService>();
            MetadataProviderServiceMock.Setup(m => m.Provide(It.IsAny <Guid>())).Returns(Task.FromResult(MetadataItems));

            const string brandManagerRoleKey = "Brand Manager";
            var          brandManagerRole    = new BusinessRole
            {
                Key   = brandManagerRoleKey,
                Value = BrandManagerRoleValue
            };

            EFContext.BusinessRole.Add(brandManagerRole);
            EFContext.SaveChanges();

            _emailNotificationBuilder = new EmailNotificationBuilder(mapper,
                                                                     mockUriHelper.Object,
                                                                     _costStageRevisionServiceMock.Object,
                                                                     _approvalServiceMock.Object,
                                                                     _regionsServiceMock.Object,
                                                                     appSettingsMock.Object,
                                                                     _costFormServiceMock.Object,
                                                                     _customObjectDataServiceMock.Object,
                                                                     _pgPaymentServiceMock.Object,
                                                                     _costStageServiceMock.Object,
                                                                     MetadataProviderServiceMock.Object,
                                                                     EFContext);
        }
Exemplo n.º 17
0
        /// <summary>
        /// Returns the list of updated/created pseudo agencies
        /// </summary>
        /// <param name="agencyAbstractTypes"></param>
        /// <param name="xUserId"></param>
        /// <param name="buType"></param>
        /// <param name="dbUser"></param>
        /// <param name="selectedBusinessRole"></param>
        /// <param name="accessDetail"></param>
        /// <param name="labels"></param>
        /// <returns></returns>
        private async Task GrantAccessToAbstractType(IEnumerable <AbstractType> agencyAbstractTypes, Guid xUserId, BuType buType, CostUser dbUser, BusinessRole selectedBusinessRole, AccessDetail accessDetail, string[] labels = null)
        {
            foreach (var agencyAbstractType in agencyAbstractTypes)
            {
                await _permissionService.GrantUserAccess <AbstractType>(selectedBusinessRole.RoleId, agencyAbstractType.Id, dbUser, buType, null, null, false);

                dbUser.UserBusinessRoles.Add(new UserBusinessRole(xUserId)
                {
                    BusinessRole = selectedBusinessRole,
                    ObjectId     = agencyAbstractType.Id,
                    ObjectType   = accessDetail.ObjectType,
                    Labels       = labels ?? new string[0]
                });

                _logger.Information(
                    $"User {xUserId} granted access for object {agencyAbstractType.Id} of type Parent with BusinessRole {selectedBusinessRole.Key}|{selectedBusinessRole.Id}");
            }
        }