예제 #1
0
        public async Task <IActionResult> Create([Bind("Id,Ad,Aciklama,Fiyat,Dosyalar")] Urun urun)
        {
            if (ModelState.IsValid)
            {
                var dosyaYolu = Path.Combine(_hostEnvironment.WebRootPath, "resimler");
                if (!Directory.Exists(dosyaYolu))
                {
                    Directory.CreateDirectory(dosyaYolu);
                }
                foreach (var item in urun.Dosyalar)
                {
                    if (item.ContentType.Substring(0, 5) == "image")
                    {
                        //memory stream herkes 100 dosya yüklese bellek şişer ve file stream
                        //create ile dosya varsa üzerine yazar ama createNew ile hata fırlatır
                        using (var dosyaAkisi = new FileStream(Path.Combine(dosyaYolu, item.FileName), FileMode.Create))
                        {
                            //program çalışma zamanında iken ilgili dosyayı arka planda sunucuya kopyalar...
                            await item.CopyToAsync(dosyaAkisi);
                        }


                        urun.Resimler.Add(new Resim {
                            DosyaAdi = item.FileName
                        });
                    }
                }

                _context.Add(urun);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(urun));
        }
        public async Task <IActionResult> KategorileriniAyarla(int?id, IFormCollection elemanlar)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var urun = await _context.Urunler
                       .Include(x => x.KategoriUrunleri).ThenInclude(x => x.Kategori) //????
                       .SingleOrDefaultAsync(m => m.Id == id);

            if (urun == null)
            {
                return(NotFound());
            }

            var seciliKategoriler = elemanlar["SeciliKategoriler"]; //örneğin 1,7,8


            urun.KategoriUrunleri.Clear();
            foreach (var item in seciliKategoriler)   //örneğin 1,7,8
            {
                urun.KategoriUrunleri.Add(new KategoriUrun {
                    KategoriId = Convert.ToInt32(item)
                });
            }

            await _context.SaveChangesAsync();

            TempData["Mesaj"] = $"{urun.Ad} ürününün kategorileri başarıyla ayarlandı";

            //ViewBag.TumKategoriler = _context.Kategoriler..

            return(View(urun)); //bir tane Urun
        }
예제 #3
0
        public async Task <IActionResult> Create([Bind("Id,Adi,Aciklama")] Kategori kategori)
        {
            if (ModelState.IsValid)
            {
                _context.Add(kategori);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(kategori));
        }
예제 #4
0
        public async Task <IActionResult> Create([Bind("Id,Ad,Aciklama,Fiyat")] Urun urun)
        {
            if (ModelState.IsValid)
            {
                _context.Add(urun);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(urun));
        }
예제 #5
0
        public async Task <IActionResult> Register(RegisterModel model)
        {
            if (ModelState.IsValid)
            {
                var user = new IdentityUser();
                user.UserName = model.UserName;
                user.Email    = model.Email;


                var result = await _userManager.CreateAsync(user, model.Password);

                if (result.Succeeded)
                {
                    //_userManager.AddToRoleAsync(user.Id, "Admin");
                    await _db.SaveChangesAsync();

                    return(RedirectToAction("Login", "Account"));
                }
                else
                {
                    ModelState.AddModelError("RegisterUser", "Kullanıcı Ekleme İşleminde Hata");
                }
                //return View(model);
            }
            return(View(model));
        }
        public async Task <IActionResult> Kayit(Kullanici kullanici)
        {
            if (ModelState.IsValid)
            {
                var    salt      = "17.3.999+2/5-qxw28012.992";
                SHA256 sha       = new SHA256CryptoServiceProvider();
                var    pwEncrypt =
                    Convert.ToBase64String(sha.ComputeHash(Encoding.UTF8.GetBytes(kullanici.password)));
                var saltEncrypt = Convert.ToBase64String(sha.ComputeHash(Encoding.UTF8.GetBytes(salt)));

                kullanici.password =
                    Convert.ToBase64String(sha.ComputeHash(Encoding.UTF8.GetBytes(pwEncrypt + saltEncrypt)));

                // kullanici.password =
                //     Convert.ToBase64String(sha.ComputeHash(Encoding.UTF8.GetBytes(kullanici.password)));
                kullanici.username = kullanici.username.ToLower();

                // char.ToUpper(kullanici.username[0]) + kullanici.username.Substring(1); //capitalized

                var kullaniciKayitliMi = await _context.Kullanicilar.Where(x => x.username == kullanici.username)
                                         .SingleOrDefaultAsync();

                if (kullaniciKayitliMi == null)
                {
                    _context.Add(kullanici);
                    await _context.SaveChangesAsync();

                    TempData["Mesaj"] = kullanici.username + " aramıza hoşgeldin (:";

                    return(RedirectToAction("Giris", "KullaniciIslemleri"));
                }
                TempData["Mesaj"] = "Kullanıcı adı alınmış.. Başka bir kullanıcı adı seçiniz!";
            }
            return(View(kullanici));
        }
        public async Task <IActionResult> KategorileriniAyarla(Guid?id, IFormCollection elemanlar)
        {
            var urun = await _context.Urunler
                       .Include(x => x.Kategorileri)
                       .SingleOrDefaultAsync(m => m.Id == id);


            urun.Kategorileri.Clear();
            foreach (var i in elemanlar["SeciliCheckBoxlar"])
            {
                urun.Kategorileri.Add(await _context.Kategoriler.FindAsync(Guid.Parse(i)));
            }

            await _context.SaveChangesAsync();

            TempData["Mesaj"] = $"{urun.Ad} Ürününün kategorisi başarıyla güncellendi!";

            return(View(urun));
        }
예제 #8
0
 public async Task <bool> Save()
 {
     return(await _db.SaveChangesAsync() > 0);
 }