public async Task <IActionResult> Get(int id, [FromQuery] string neden, [FromQuery] string alanlar) { return(await KullaniciVarsaCalistir <IActionResult>(async() => { if (id <= 0) { return BadRequest(KayitSonuc <ProfilYazDto> .Basarisiz(new Hata[] { new Hata { Kod = "", Tanim = SonucMesajlari.Liste[MesajAnahtarlari.SifirdanBuyukDegerGerekli] } })); } var kayit = await kullaniciRepo.BulAsync(id); if (kayit == null) { var sonuc = Sonuc.Basarisiz(new Hata[] { new Hata { Kod = "", Tanim = "Kullanıcı bulunamadı!" } }); return Ok(sonuc); } if (neden == "yaz") { var yazSonucDto = KayitSonuc <ProfilYazDto> .IslemTamam(kayit.ToDto()); return Ok(yazSonucDto.ShapeData(alanlar)); } var resource = KayitSonuc <KullaniciDetayDto> .IslemTamam(kayit.ToKullaniciDetayDto()); return Ok(resource.ShapeData(alanlar)); })); }
public async Task <IActionResult> GirisYap([FromBody] GirisDto girisBilgileri, string returnUrl) { return(await HataKontrolluDondur <Task <IActionResult> >(async() => { var kullaniciEntity = await userManager.KullaniciyiGetirKullaniciAdinaGoreAsync(girisBilgileri.KullaniciAdi); if (kullaniciEntity == null || kullaniciEntity.Pasif) { Sonuc sonuc = Sonuc.Basarisiz(new Hata[] { new Hata { Kod = "", Tanim = "Kullanıcı yok veya aktif değil!" } }); return Ok(sonuc); } var result = await signInManager.PasswordSignInAsync(girisBilgileri.KullaniciAdi, girisBilgileri.Sifre, true, true); if (result.IsNotAllowed) { Sonuc sonuc = Sonuc.Basarisiz(new Hata[] { new Hata { Kod = "", Tanim = "Kullanıcının giriş izni yok!" } }); return Ok(sonuc); } if (result.IsLockedOut) { Sonuc sonuc = Sonuc.Basarisiz(new Hata[] { new Hata { Kod = "", Tanim = "Kullanıcı hesabı bloke!" } }); return Ok(sonuc); } if (result.RequiresTwoFactor) { KayitSonuc <object> sonuc = KayitSonuc <object> .Basarisiz(new Hata[] { new Hata { Kod = "", Tanim = "Kullanıcı 2 faktörlü giriş için gerekli işlemler yapılmamış!" } }); return Ok(sonuc); } if (result.Succeeded) { var identity = await GetClaimsIdentity(girisBilgileri, kullaniciEntity); if (identity == null) { return Ok(KayitSonuc <object> .Basarisiz(new Hata[] { new Hata { Kod = "", Tanim = "Kullanıcı adı ve/veya şifre yanlış!" } })); } var jwt = Tokens.GenerateJwt(identity, jwtFactory, girisBilgileri.KullaniciAdi, uygulamaAyarlari); var tokenString = jwt.Result; var kullanici = kullaniciEntity.ToKullaniciBilgi(); kullanici.GecerlilikOmruDakika = (int)uygulamaAyarlari.ValidFor.TotalSeconds; var sonuc = KayitSonuc <object> .IslemTamam(new { tokenString, kullanici, returnUrl }); sonuc.Mesajlar[0] = "Giriş başarılı"; sonuc.Mesajlar.Add($"Hoşgeldiniz {kullanici.TamAdi}!"); return Ok(sonuc); } return Ok(KayitSonuc <object> .Basarisiz(new Hata[] { new Hata { Kod = "", Tanim = "Kullanıcı adı ve/veya şifre yanlış!" } })); })); }