public async Task <IActionResult> KullaniciyaFotografEkle(int kullaniciNo, FotografYazDto dto) { return(await KullaniciVarsaCalistir <IActionResult>(async() => { if (dto.File == null) { return BadRequest("Fotoğraf yok!"); } if (dto.File.Length == 0) { return BadRequest("Fotoğraf dosyası boş!"); } if (dto.File.Length > fotografAyarlari.MaxBytes) { return BadRequest($"Dosya çok büyük. En fazla {fotografAyarlari.MaxBytes / (1024 * 1024)} MB resim yükleyebilirsiniz"); } if (!fotografAyarlari.DosyaTipUygunmu(dto.File.FileName)) { return BadRequest("Dosya tipini yükleme izni yok! Sadece resim dosyalarını yükleyebilirsiniz."); } var kullanici = await repo.BulAsync(kullaniciNo); if (kullanici == null) { return BadRequest("Kullanıcı bulunamadı!"); } if (aktifKullaniciNo != kullanici.Id) { return Unauthorized(); } string dosyaAdi = string.Empty; if (!fotografAyarlari.SadeceBulutaYukle) { dosyaAdi = await LokaldeKaydet(dto); } if (!fotografAyarlari.SadeceLokaldeTut) { BulutaYukle(dto); } try { var foto = dto.ToEntity(); foto.Kisi = kullanici.Kisi; if (!kullanici.Kisi.Fotograflari.Any(m => m.ProfilFotografi)) { foto.ProfilFotografi = true; } foto.DosyaAdi = dosyaAdi; kullanici.Kisi.Fotograflari.Add(foto); if (await repo.KaydetAsync()) { return CreatedAtRoute("KullaniciFotografiniAl", new { id = foto.Id }, foto.ToFotoOkuDto()); } } catch (Exception hata) { return BadRequest("Fotoğraf eklenemedi!"); } return BadRequest("Fotoğraf eklenemedi!"); })); }