public async Task <Kullanici> Handle(Query request, CancellationToken cancellationToken) { var kullanici = await _userManager.FindByNameAsync(_kullaniciErisimi.GetCurrentUserName()); return(new Kullanici { DisplayName = kullanici.DisplayName, Token = _jwtGenerator.CreateToken(kullanici), UserName = kullanici.UserName, Image = kullanici.Resimler.FirstOrDefault(x => x.AnaResimMi)?.Url }); }
public async Task <Resim> Handle(Command request, CancellationToken cancellationToken) { var photoUploadResult = _resimErisimi.ResimEkle(request.File); var kullanici = await _context.Users.SingleOrDefaultAsync(x => x.UserName == _kullaniciErisimi.GetCurrentUserName()); var resim = new Resim { Id = photoUploadResult.PublicId, Url = photoUploadResult.Url }; if (!kullanici.Resimler.Any(x => x.AnaResimMi)) { resim.AnaResimMi = true; } kullanici.Resimler.Add(resim); var success = await _context.SaveChangesAsync() > 0; if (success) { return(resim); } throw new Exception("Resim kaydedilirken sorun oluştu."); }
public async Task <Unit> Handle(Command request, CancellationToken cancellationToken) { var etkinlik = await _context.Etkinlikler.FindAsync(request.Id); if (etkinlik == null) { throw new RestException(HttpStatusCode.NotFound, new { Etkinlik = "Etkinlik bulunamadı" }); } var kullanici = await _context.Users.SingleOrDefaultAsync(x => x.UserName == _kullaniciErisimi.GetCurrentUserName()); var katilimci = await _context.KullaniciEtkinlikler.SingleOrDefaultAsync(x => x.EtkinlikId == etkinlik.Id && x.AppKullaniciId == kullanici.Id); if (katilimci != null) { throw new RestException(HttpStatusCode.BadRequest, new { Katilimci = "Bu etkinliğe zaten katılınmış" }); } katilimci = new KullaniciEtkinlik { Etkinlik = etkinlik, AppKullanici = kullanici, YayinlandiMi = false, KatilmaTarihi = DateTime.Now }; _context.KullaniciEtkinlikler.Add(katilimci); var success = await _context.SaveChangesAsync() > 0; if (success) { return(Unit.Value); } throw new Exception("Etkinlik kaydedilirken sorun oluştu."); }
public async Task <Unit> Handle(Command request, CancellationToken cancellationToken) { var etkinlik = new Etkinlik { Id = request.Id, Baslik = request.Baslik, Aciklama = request.Aciklama, Kategori = request.Kategori, Tarih = request.Tarih, Sehir = request.Sehir, Mekan = request.Mekan }; _context.Etkinlikler.Add(etkinlik); var kullanici = await _context.Users.SingleOrDefaultAsync(x => x.UserName == _kullaniciErisimi.GetCurrentUserName()); var katilimci = new KullaniciEtkinlik { AppKullanici = kullanici, Etkinlik = etkinlik, YayinlandiMi = true, KatilmaTarihi = DateTime.Now }; _context.KullaniciEtkinlikler.Add(katilimci); var success = await _context.SaveChangesAsync() > 0; if (success) { return(Unit.Value); } throw new Exception("Etkinlik kaydedilirken sorun oluştu."); }
public bool Resolve(KullaniciEtkinlik source, KatilimciDto destination, bool destMember, ResolutionContext context) { var etkinKullanici = _context.Users.SingleOrDefaultAsync(x => x.UserName == _kullaniciErisimi.GetCurrentUserName()).Result; if (etkinKullanici.TakipEdilenler.Any(x => x.HedefId == source.AppKullaniciId)) { return(true); } return(false); }
public async Task<Unit> Handle(Command request, CancellationToken cancellationToken) { var gozlemci = await _context.Users.SingleOrDefaultAsync(x => x.UserName == _kullaniciErisimi.GetCurrentUserName()); var hedef = await _context.Users.SingleOrDefaultAsync(x => x.UserName == request.KullaniciAdi); if (hedef == null) throw new RestException(HttpStatusCode.NotFound, new { Kullanici = "Bulunamadı" }); var takipEdilen = await _context.TakipEdilenler.SingleOrDefaultAsync(x => x.GozlemciId == gozlemci.Id && x.HedefId == hedef.Id); if (takipEdilen != null) throw new RestException(HttpStatusCode.BadRequest, new { Kullanici = "Bu kullanıcıyı zaten takip ediyorsunuz." }); if (takipEdilen == null) { takipEdilen = new KullaniciTakibi { Gozlemci = gozlemci, Hedef = hedef }; _context.TakipEdilenler.Add(takipEdilen); } var success = await _context.SaveChangesAsync() > 0; if (success) return Unit.Value; throw new Exception("Etkinlik kaydedilirken sorun oluştu."); }
public async Task <Unit> Handle(Command request, CancellationToken cancellationToken) { var kullanici = await _context.Users.SingleOrDefaultAsync(x => x.UserName == _kullaniciErisimi.GetCurrentUserName()); var resim = kullanici.Resimler.FirstOrDefault(x => x.Id == request.Id); if (resim == null) { throw new RestException(HttpStatusCode.NotFound, new { Resim = "Bulunamadı" }); } var currentMain = kullanici.Resimler.FirstOrDefault(x => x.AnaResimMi); currentMain.AnaResimMi = false; resim.AnaResimMi = true; var success = await _context.SaveChangesAsync() > 0; if (success) { return(Unit.Value); } throw new Exception("Etkinlik kaydedilirken sorun oluştu."); }
public async Task <EtkinlikEnvelope> Handle(Query request, CancellationToken cancellationToken) { var queryable = _context.Etkinlikler .Where(x => x.Tarih >= request.StartDate) .OrderBy(x => x.Tarih) .AsQueryable(); if (request.IsGoing && !request.IsHost) { queryable = queryable.Where(x => x.KullaniciEtkinlikler.Any(a => a.AppKullanici.UserName == _kullaniciErisimi.GetCurrentUserName())); } if (request.IsHost && !request.IsGoing) { queryable = queryable.Where(x => x.KullaniciEtkinlikler.Any(a => a.AppKullanici.UserName == _kullaniciErisimi.GetCurrentUserName() && a.YayinlandiMi)); } var etkinlikler = await queryable .Skip(request.Offset ?? 0) .Take(request.Limit ?? 3).ToListAsync(); return(new EtkinlikEnvelope { Etkinlikler = _mapper.Map <List <Etkinlik>, List <EtkinlikDto> >(etkinlikler), EtkinlikSayisi = queryable.Count() }); }
public async Task <Unit> Handle(Command request, CancellationToken cancellationToken) { var kullanici = await _context.Users.SingleOrDefaultAsync(x => x.UserName == _kullaniciErisimi.GetCurrentUserName()); kullanici.DisplayName = request.DisplayName ?? kullanici.DisplayName; kullanici.Bio = request.Bio ?? kullanici.Bio; var success = await _context.SaveChangesAsync() > 0; if (success) { return(Unit.Value); } throw new Exception("Profil kaydedilirken hata oluştu."); }
public async Task <Unit> Handle(Command request, CancellationToken cancellationToken) { var kullanici = await _context.Users.SingleOrDefaultAsync(x => x.UserName == _kullaniciErisimi.GetCurrentUserName()); var resim = kullanici.Resimler.FirstOrDefault(x => x.Id == request.Id); if (resim == null) { throw new RestException(HttpStatusCode.NotFound, new { Resim = "Bulunamadı" }); } if (resim.AnaResimMi) { throw new RestException(HttpStatusCode.BadRequest, new { Resim = "Ana resmi silemezsiniz." }); } var result = _resimErisimi.ResimSil(resim.Id); if (result == null) { throw new Exception("Resim silinirken sorun oluştu."); } kullanici.Resimler.Remove(resim); var success = await _context.SaveChangesAsync() > 0; if (success) { return(Unit.Value); } throw new Exception("Etkinlik kaydedilirken sorun oluştu."); }
public async Task <Profil> ReadProfil(string kullaniciAdi) { var kullanici = await _context.Users.SingleOrDefaultAsync(x => x.UserName == _kullaniciErisimi.GetCurrentUserName()); if (kullanici == null) { throw new RestException(HttpStatusCode.NotFound, new { Kullanici = "Bulunamadı" }); } var etkinKullanici = await _context.Users.SingleOrDefaultAsync(x => x.UserName == _kullaniciErisimi.GetCurrentUserName()); var profil = new Profil { DisplayName = kullanici.DisplayName, UserName = kullanici.UserName, Image = kullanici.Resimler.FirstOrDefault(x => x.AnaResimMi)?.Url, Resimler = kullanici.Resimler, Bio = kullanici.Bio, TakipciSayisi = kullanici.Takipciler.Count(), TakipEdilenSayisi = kullanici.TakipEdilenler.Count() }; if (etkinKullanici.TakipEdilenler.Any(x => x.HedefId == kullanici.Id)) { profil.TakipEdildiMi = true; } return(profil); }