Beispiel #1
0
        public async Task <IActionResult> Get(int id, [FromQuery] string neden, [FromQuery] string alanlar)
        {
            return(await KullaniciVarsaCalistir <IActionResult>(async() =>
            {
                if (id <= 0)
                {
                    return BadRequest(Sonuc <KullaniciYazDto> .Basarisiz(new Hata[] { new Hata {
                                                                                          Kod = "", Tanim = SonucMesajlari.Liste[MesajAnahtarlari.SifirdanBuyukDegerGerekli]
                                                                                      } }));
                }

                var kayit = await kullaniciRepo.BulAsync(id);
                if (kayit == null)
                {
                    return NotFound();
                }
                if (neden == "yaz")
                {
                    var yazSonucDto = KayitSonuc <KullaniciYazDto> .IslemTamam(kayit.ToDto());
                    return Ok(yazSonucDto.ShapeData(alanlar));
                }
                var resource = KayitSonuc <KullaniciDetayDto> .IslemTamam(kayit.ToKullaniciDetayDto());
                return Ok(resource.ShapeData(alanlar));
            }));
        }
Beispiel #2
0
        public async Task <IActionResult> ProfilimeFotografEkle(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(aktifKullaniciNo);
                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())
                    {
                        var donecekFoto = foto.ToFotoOkuDto();
                        return CreatedAtRoute("profilFotografiniAl", new { id = foto.FotoId }, donecekFoto);
                    }
                }
                catch (Exception hata)
                {
                    return BadRequest("Fotoğraf eklenemedi!");
                }
                return BadRequest("Fotoğraf eklenemedi!");
            }));
        }