public async Task <IActionResult> Register(UserForRegisterDto userForRegisterDto) { //validate var repo = new TableStorageRepository(); userForRegisterDto.Email = userForRegisterDto.Email.ToLower(); if (await _repo.UserExists(userForRegisterDto.Email)) { return(BadRequest("Email already exists!")); } var userToCreate = _mapper.Map <User>(userForRegisterDto); var pass = userForRegisterDto.Password.ToString(); ////sendgrid var CurrentUserId = (User.FindFirst(ClaimTypes.NameIdentifier).Value); var userLogged = await repo.GetUser(CurrentUserId); Execute(userLogged, userToCreate, pass).Wait(); //// end var createdUser = await _repo.Register(userToCreate, userForRegisterDto.Password); var userToReturn = _mapper.Map <UserDto>(createdUser); return(CreatedAtRoute("GetUser", new { controller = "User", id = createdUser.Id }, userToReturn)); }
public async Task <IActionResult> GetUsers([FromQuery] UserParams userParams) { var repo = new TableStorageRepository(); var CurrentUserId = (User.FindFirst(ClaimTypes.NameIdentifier).Value); userParams.UserId = CurrentUserId; var userLogged = await repo.GetUser(CurrentUserId); if (!string.IsNullOrEmpty(userLogged.Role) && userParams.Team) { userParams.Role = userLogged.Role; if (!string.IsNullOrEmpty(userLogged.Manager_ID)) { userParams.Manager = userLogged.Manager_ID; } } var users = await repo.GetUsers(userParams); var usersToReturn = _mapper.Map <IEnumerable <UserDto> >(users); Response.AddPagination(users.CurrentPage, users.PageSize, users.TotalCount, users.TotalPages); if (!usersToReturn.Any()) { return(NotFound()); } return(Ok(usersToReturn)); }
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> SoftDeleteAdmin(UserDto userDto) { var repo = new TableStorageRepository(); var cards = await repo.GetUser(userDto.ID); _mapper.Map(userDto, cards); await repo.PostEntityUser(cards); return(Ok()); }
public async Task <IActionResult> UpdateUser(string id, UpdateUserDto requestUpdate) { var repo = new TableStorageRepository(); var cards = await repo.GetUser(id); _mapper.Map(requestUpdate, cards); await repo.PostEntityUser(cards); return(Ok()); }
public async Task <IActionResult> RequestFeedback(RequestFeedbackDto requestFeedbackDto, string id) { var repo = new TableStorageRepository(); var requestToCreate = _mapper.Map <Feedbacks>(requestFeedbackDto); var createdRequest = await repo.RequestFeedback(requestToCreate, id); var receiverId = createdRequest.ID; ////sendgrid var CurrentUserId = (User.FindFirst(ClaimTypes.NameIdentifier).Value); var userLogged = await repo.GetUser(CurrentUserId); var userToSend = await repo.GetUser(receiverId); Execute(userLogged, userToSend).Wait(); //// end return(Ok(createdRequest)); }
public async Task <IActionResult> GetUser(string id) { var repo = new TableStorageRepository(); var user = await repo.GetUser(id); var userToReturn = _mapper.Map <UserDto>(user); if (userToReturn == null) { return(NotFound()); } return(Ok(userToReturn)); }
public async Task <IActionResult> DeleteUserSoft(string id) { // var repo = new TableStorageRepository(); // var cards = await repo.GetUser(id); // await repo.DeleteUser(cards); // return Ok(); var repo = new TableStorageRepository(); var cards = await repo.GetUser(id); cards.IsDeleted = true; await repo.PostEntityUser(cards); return(Ok()); }