Пример #1
0
        public async Task <IActionResult> GetAllUsers([FromQuery] UserParams userParams)
        {
            var repo = new TableStorageRepository();

            var users = await repo.GetUsersWithoutParams();

            var CurrentUserId = (User.FindFirst(ClaimTypes.NameIdentifier).Value);

            var userLogged = await repo.GetUser(CurrentUserId);

            if (userLogged.Role == "admin")
            {
                var usersAdmin = await repo.GetUsersWithoutParamsForAdmin();

                var usersForAdmin = _mapper.Map <IEnumerable <UserDto> >(usersAdmin);

                return(Ok(usersForAdmin));
            }


            if (!string.IsNullOrEmpty(userParams.UserId))
            {
                users = users.Where(x => x.RowKey != userParams.UserId).OrderBy(x => x.Name);
            }

            users = users.OrderBy(x => x.Name);

            var usersToReturn = _mapper.Map <IEnumerable <UserDto> >(users);

            if (!usersToReturn.Any())
            {
                return(NotFound());
            }
            return(Ok(usersToReturn));
        }
Пример #2
0
        public async Task <IActionResult> GetFeedbacksByReceiver([FromQuery] UserParams userParams, string id)
        {
            var repo      = new TableStorageRepository();
            var feedbacks = await repo.GetFeedbacksByReceiver(userParams, id);


            var feedbacksToReturn = _mapper.Map <IEnumerable <FeedbackListDto> >(feedbacks);
            //// pentru nume
            var users = await repo.GetUsersWithoutParams();

            foreach (var feedback in feedbacksToReturn)
            {
                foreach (var user in users)
                {
                    if (user.Id == feedback.ID)
                    {
                        feedback.Sender = user.Name;
                    }

                    if (user.Id == feedback.ID_receiver)
                    {
                        feedback.Receiver = user.Name;
                    }

                    if (user.Id == feedback.ID_manager)
                    {
                        feedback.Manager = user.Name;
                    }
                }
            }
            /// end pentru nume

            Response.AddPagination(feedbacks.CurrentPage, feedbacks.PageSize, feedbacks.TotalCount, feedbacks.TotalPages);

            if (feedbacksToReturn == null)
            {
                return(NotFound());
            }
            return(Ok(feedbacksToReturn));
        }
Пример #3
0
        public async Task <IActionResult> GetMyFeedbacks([FromQuery] UserParams userParams, string id)
        {
            var repo  = new TableStorageRepository();
            var cards = await repo.GetMyFeedbacks(userParams, id);

            var feedbackToReturn = _mapper.Map <IEnumerable <FeedbackListDto> >(cards);

            //// adaugat in plus
            var users = await repo.GetUsersWithoutParams();

            foreach (var feedback in feedbackToReturn)
            {
                foreach (var user in users)
                {
                    if (user.Id == feedback.ID)
                    {
                        feedback.Sender = user.Name;
                    }

                    if (user.Id == feedback.ID_receiver)
                    {
                        feedback.Receiver = user.Name;
                    }

                    if (user.Id == feedback.ID_manager)
                    {
                        feedback.Manager = user.Name;
                    }
                }
            }
            //// end


            Response.AddPagination(cards.CurrentPage, cards.PageSize, cards.TotalCount, cards.TotalPages);

            return(Ok(feedbackToReturn));
        }