public static ArkadaslarimListeDto ToDto(this ArkadaslikTeklif entity) { return(entity == null ? null : Mapper.Map <ArkadaslarimListeDto>(entity)); }
public async Task <IActionResult> TeklifEt(int isteyenId, int cevaplayanId) { var currentUserId = int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value); if (currentUserId != isteyenId) { throw new UnauthorizedError("Güvenlik nedeniyle bu işlem yapılamaz!"); } if (isteyenId == cevaplayanId) { throw new BadRequestError("Kendinize arkadaşlık teklif edemezsiniz!!!"); } if (await arkadaslikRepo.KullaniciBulAsync(cevaplayanId) == null) { throw new NotFoundError("Teklifi cevaplayacak kullanıcı bilgisi yok!"); } var teklifZatenVar = await arkadaslikRepo.TeklifiBulAsync(isteyenId, cevaplayanId); if (teklifZatenVar != null && teklifZatenVar.IptalEdenKullaniciNo != isteyenId) { throw new BadRequestError("Bu kullanıcıya zaten arkadaşlık teklif ettiniz!"); } if (teklifZatenVar == null) { teklifZatenVar = await arkadaslikRepo.TeklifiBulAsync(cevaplayanId, isteyenId); } if (teklifZatenVar != null && teklifZatenVar.IptalEdenKullaniciNo != isteyenId) { throw new BadRequestError("Bu kullanıcı zaten size arkadaşlık teklif etmiş!"); } if (teklifZatenVar != null) { teklifZatenVar.IptalTarihi = null; teklifZatenVar.IptalEdildi = false; teklifZatenVar.IptalEdenKullaniciNo = null; if (await arkadaslikRepo.KaydetAsync()) { return(Ok()); } else { throw new InternalServerError("Teklif kaydedilirken bir hata oluştu. Lütfen sonra tekrar deneyin..."); } } ArkadaslikTeklif yeniTeklif = new ArkadaslikTeklif { TeklifEdenNo = isteyenId, TeklifEdilenNo = cevaplayanId, IstekTarihi = DateTime.Now }; await arkadaslikRepo.EkleAsync <ArkadaslikTeklif>(yeniTeklif); if (await arkadaslikRepo.KaydetAsync()) { return(Ok()); } return(BadRequest("Arkadaşlık teklifi yapılamad!")); }
public async Task <IActionResult> TeklifEt(int isteyenId, int cevaplayanId) { return(await KullaniciVarsaCalistir <IActionResult>(async() => { if (isteyenId != aktifKullaniciNo) { throw new UnauthorizedError(); } if (isteyenId == cevaplayanId) { return BadRequest("Kendinize arkadaşlık teklif edemezsiniz!!!"); } if (await arkadaslikRepo.KullaniciBulAsync(cevaplayanId) == null) { return NotFound("Teklifi cevaplayacak kullanıcı bilgisi yok!"); } var teklifZatenVar = await arkadaslikRepo.TeklifiBulAsync(isteyenId, cevaplayanId); if (teklifZatenVar != null && teklifZatenVar.IptalEdenKullaniciNo != isteyenId) { return BadRequest("Bu kullanıcıya zaten arkadaşlık teklif ettiniz!"); } if (teklifZatenVar == null) { teklifZatenVar = await arkadaslikRepo.TeklifiBulAsync(cevaplayanId, isteyenId); } if (teklifZatenVar != null && teklifZatenVar.IptalEdenKullaniciNo != isteyenId) { return BadRequest("Bu kullanıcı zaten size arkadaşlık teklif etmiş!"); } if (teklifZatenVar != null) { teklifZatenVar.IptalTarihi = null; teklifZatenVar.IptalEdildi = false; teklifZatenVar.IptalEdenKullaniciNo = null; if (await arkadaslikRepo.KaydetAsync()) { return await TeklifiDondur(teklifZatenVar.TeklifEdenNo, teklifZatenVar.TeklifEdilenNo, aktifKullaniciNo); } else { throw new InternalServerError("Teklif kaydedilirken bir hata oluştu. Lütfen sonra tekrar deneyin..."); } } ArkadaslikTeklif yeniTeklif = new ArkadaslikTeklif { TeklifEdenNo = isteyenId, TeklifEdilenNo = cevaplayanId, IstekTarihi = DateTime.Now }; await arkadaslikRepo.EkleAsync <ArkadaslikTeklif>(yeniTeklif); if (await arkadaslikRepo.KaydetAsync()) { return await TeklifiDondur(yeniTeklif.TeklifEdenNo, yeniTeklif.TeklifEdilenNo, aktifKullaniciNo); } return BadRequest("Arkadaşlık teklifi yapılamad!"); })); }