public async Task <IActionResult> AddPhotoForUser(int userId, PhotoForCreationDTO photoDTO) { var user = await _repo.GetUser(userId); if (user == null) { return(BadRequest("Nie znaleziono takiego uzytkownika")); } var curentUserId = int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value); if (user.Id != curentUserId) { return(Unauthorized()); } //Przesłany plik var file = photoDTO.File; // Present file in HTTP REQUEST // ImagUpLoadResult to tez klasa Cloudinary var uploadResult = new ImageUploadResult(); if (file.Length > 0) { using (var stream = file.OpenReadStream()) { var uploadParams = new ImageUploadParams() { File = new FileDescription(file.Name, stream), Transformation = new Transformation().Width(1000).Height(1000).Crop("fill").Gravity("face") }; // wysyłamy zdjęcie do Cloudinary uploadResult = _cloudinary.Upload(uploadParams); } } photoDTO.Url = uploadResult.Uri.ToString(); photoDTO.PublicId = uploadResult.PublicId; var photo = _mapper.Map <Photos>(photoDTO); photo.User = user; if (!user.Photos.Any(m => m.IsMain)) { photo.IsMain = true; } user.Photos.Add(photo); // var photoToReturn = _mapper.Map<PhotoForReturnDTO>(photo); PRZENIESIONE DO Ifa poniżej aby pobierane było z ID if (await _repo.SaveAll()) { var photoToReturn = _mapper.Map <PhotoForReturnDTO>(photo); // tutaj juz każde photo ma ID return(CreatedAtRoute("GetPhoto", new { id = photo.Id }, photoToReturn)); // TUTAJ WSTAWIONY będzie przekierowanie do GetPhoto } return(BadRequest("Nie można dodać foto")); }
public UserModel GetUser() { var currentUser = _userDataRepository.GetUser(); if (currentUser != null) { return(_mapper.Map <UserModel>(currentUser)); } else { return(null); } }
public async Task <IActionResult> GetUsers(UserParams userParams) { // Wykluczenie z listy włąsnego profilu var curentUserId = int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value); var userFromRepo = await _repo.GetUser(curentUserId); userParams.UserId = userFromRepo.Id; if (string.IsNullOrEmpty(userParams.Gender)) { userParams.Gender = userFromRepo.Gender == "male" ? "female" : "male"; } var users = await _repo.GetUsers(userParams); var usersForReturn = _mapper.Map <IList <UserForListDto> >(users); Response.AddPagination(users.CurentPage, users.PageSize, users.TotalCount, users.TotalPages); return(Ok(usersForReturn)); }
public User GetUser(int userId) { return(_userDataRepository.GetUser(userId)); }