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)); }
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)); }
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)); }