public async Task <IActionResult> UtworzWiadomosc(int userId, WiadomoscUtworzDto wiadomoscUtworzDto)
        {
            var wyslal = await _repo.GetUser(userId);

            if (wyslal.Id != int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value))
            {
                return(Unauthorized());
            }

            wiadomoscUtworzDto.WyslalId = userId;

            var odbiorca = await _repo.GetUser(wiadomoscUtworzDto.OdbiorcaId);

            if (odbiorca == null)
            {
                return(BadRequest("Nie można znaleźć użytkownika"));
            }

            var wiadomosci = _mapper.Map <Wiadomosci>(wiadomoscUtworzDto);

            _repo.Dodaj(wiadomosci);

            if (await _repo.ZapiszWszystko())
            {
                var utworzWiadomosc = _mapper.Map <WiadomoscZwrocDto>(wiadomosci);
                return(CreatedAtRoute("GetWiadomosci",
                                      new { userId, id = wiadomosci.Id }, utworzWiadomosc));
            }

            throw new Exception("Nie utworzono wiadomosci i nie zapisano");
        }
Esempio n. 2
0
        public async Task <IActionResult> LubiUser(int id, int recipientId)
        {
            if (id != int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value))
            {
                return(Unauthorized());
            }

            var lubie = await _repo.GetLubie(id, recipientId);

            if (lubie != null)
            {
                return(BadRequest("Już lubisz tego użytkownika"));
            }

            if (await _repo.GetUser(recipientId) == null)
            {
                return(NotFound());
            }

            lubie = new Lubie
            {
                LubiId  = id,
                LubiiId = recipientId
            };

            _repo.Dodaj <Lubie>(lubie);

            if (await _repo.ZapiszWszystko())
            {
                return(Ok());
            }

            return(BadRequest("Nie udało polubić się użytkownika"));
        }