コード例 #1
0
ファイル: ActionLogsService.cs プロジェクト: mrjohndowe/Core
        public async Task <bool> SetActionForEntireDepartmentAsync(int departmentId, int actionType)
        {
            var members = await _departmentMembersRepository.GetAllByDepartmentIdAsync(departmentId);

            var logs = new List <ActionLog>();

            foreach (var member in members)
            {
                var al = new ActionLog();
                al.ActionTypeId = actionType;
                al.DepartmentId = departmentId;
                al.UserId       = member.UserId;
                al.Timestamp    = DateTime.UtcNow;

                logs.Add(al);
            }

            return(await SaveAllActionLogsAsync(logs));
        }
コード例 #2
0
        private async Task <Department> FillAdminUsersAsync(Department department)
        {
            if (department != null)
            {
                if (!department.Use24HourTime.HasValue)
                {
                    department.Use24HourTime = false;
                }


                if (department.AdminUsers.Count <= 0)
                {
                    department.AdminUsers.AddRange((from dm in await _departmentMembersRepository.GetAllByDepartmentIdAsync(department.DepartmentId)
                                                    where dm.IsAdmin.GetValueOrDefault()
                                                    select dm.UserId));
                }
            }

            return(department);
        }
コード例 #3
0
        public async Task <Dictionary <string, List <PersonnelRole> > > GetAllRolesForUsersInDepartmentAsync(int departmentId)
        {
            var users = await _departmentMemberRepository.GetAllByDepartmentIdAsync(departmentId);

            var allRoles = await _personnelRolesRepository.GetAllByDepartmentIdAsync(departmentId);

            var roles = (from r in await _personnelRoleUsersRepository.GetAllRoleUsersForDepartmentAsync(departmentId)
                         group r by r.UserId into rolesGroup
                         where users.Select(x => x.UserId).Contains(rolesGroup.Key)
                         select rolesGroup);

            var userRoles = new Dictionary <string, List <PersonnelRole> >();

            foreach (var role in roles)
            {
                var newRoles = role.ToList().Select(personnelRole => allRoles.FirstOrDefault(x => x.PersonnelRoleId == personnelRole.PersonnelRoleId)).ToList();

                userRoles.Add(role.Key, newRoles);
            }

            return(userRoles);
        }