示例#1
0
 public IActionResult GetById([FromODataUri] int id)
 {
     try
     {
         var value      = _service.GetById(id);
         var memberView = _mapper.Map <Member, MemberView>(value);
         _avatarService.AddIconUrlInMemberView(memberView);
         return(Ok(memberView));
     }
     catch (Exception e)
     {
         return(SendErrorResponse(e));
     }
 }
示例#2
0
        public IEnumerable <MemberView> GetAllMembers()
        {
            var globalActiveProjCount = Uow.ProjectRepository.LinkedCacheGetList().Where(x => !x.IsPrivate && x.IsActive).Select(x => x.Id).ToArray();

            var allMembers     = GetAllMembersCommon(InpersonatedUserName);
            var allMembersView = allMembers.Select(p => p.GetViewWithGlobalProjectsCount(globalActiveProjCount, Mapper)).ToList();

            foreach (var item in allMembersView)
            {
                _avatarService.AddIconUrlInMemberView(item);
            }

            return(allMembersView);
        }
        public IEnumerable <MemberView> GetNotAssignMembersAtProjByProjectId(int projectId)
        {
            if (!Uow.ProjectRepository.LinkedCacheGetById(projectId).IsPrivate)
            {
                return(Enumerable.Empty <MemberView>());
            }

            var membersNotAssignProjectByProjId = Uow.MemberRepository.LinkedCacheGetList()
                                                  .Where(member => member.MemberProjectRoles.All(mpr => mpr.ProjectId != projectId)); // for adequate count add in condition: && x.User.IsActive

            if (membersNotAssignProjectByProjId == null)
            {
                throw new CoralTimeEntityNotFoundException($"MemberProjectRole with ProjectId = {projectId} not found.");
            }

            var membersNotAssigtProjectView = membersNotAssignProjectByProjId.Select(x => x.GetView(Mapper)).ToList();

            foreach (var item in membersNotAssigtProjectView)
            {
                _avatarService.AddIconUrlInMemberView(item);
            }
            return(membersNotAssigtProjectView);
        }