Kart SQL veri tabanından silinmiyor

CaylakM

Centipat
Katılım
12 Mayıs 2024
Mesajlar
58
Çözümler
1
Daha fazla  
Cinsiyet
Erkek
Meslek
ÖĞRENCİ
HTML:
@model List<HepsiOrada.Models.Entity.kart>

@{
    ViewBag.Title = "Kart";
    Layout = "~/Views/Shared/_Layout.cshtml";
}

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Kart</title>
    <link href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" rel="stylesheet">
    <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" rel="stylesheet">
    <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.1.1/css/all.min.css" rel="stylesheet">
    <link href="https://cdnjs.cloudflare.com/ajax/libs/icofont/1.0.1/css/icofont.min.css" rel="stylesheet">
    <link href="~/Content/kart.css" rel="stylesheet" />
</head>
<body>
    <div class="container">
        <div class="row" style="margin-top: 20px;">
            <div class="col-3">
                <ul class="list-group">
                    <li class="list-group-item d-flex justify-content-between align-items-center">
                        <span class="d-flex align-items-center">
                            <i class="fas fa-user mr-3"></i> <a href="@Url.Action("Profil", "Kullanici", new { id = Session["PersonelId"] })" class="options"> Profil </a>
                        </span>
                    </li>
                    <li class="list-group-item d-flex justify-content-between align-items-center">
                        <span class="d-flex align-items-center">
                            <i class="fa-solid fa-location-dot mr-3"></i> <a href="@Url.Action("Adres", "Kullanici")"> Adreslerim </a>
                        </span>
                        <span class="badge badge-secondary badge-pill">@Session["AdresMiktar"]</span>
                    </li>
                    <li class="list-group-item d-flex justify-content-between align-items-center">
                        <span class="d-flex align-items-center">
                            <i class="fas fa-list mr-3"></i> Siparişlerim
                        </span>
                        <span class="badge badge-secondary badge-pill">2</span>
                    </li>
                    <li class="list-group-item d-flex justify-content-between align-items-center">
                        <span class="d-flex align-items-center">
                            <i class="fas fa-heart mr-3"></i> Favorilerim
                        </span>
                        <span class="badge badge-success badge-pill">7</span>
                    </li>
                    <li class="list-group-item d-flex justify-content-between align-items-center">
                        <span class="d-flex align-items-center">
                            <i class="fa-regular fa-credit-card mr-3"></i> <a href="@Url.Action("Kart", "Kullanici")"> Kartlarım </a>
                        </span>
                        <span class="badge badge-danger badge-pill">@Session["KartMiktar"]</span>
                    </li>
                    <li class="list-group-item d-flex justify-content-between align-items-center">
                        <span class="d-flex align-items-center">
                            <i class="fa-solid fa-envelope mr-3"></i> <a href=""> Bildirimlerim </a>
                        </span>
                        <span class="badge badge-success badge-pill">0</span>
                    </li>
                    <li class="list-group-item d-flex justify-content-between align-items-center">
                        <span class="d-flex align-items-center">
                            <i class="fas fa-sign-out-alt mr-3"></i>  <a href="@Url.Action("Cikis", "Kullanici")"> Çıkış Yap </a>
                        </span>
                    </li>
                </ul>
            </div>
            <div class="col-9" style="margin-bottom: 20px;">
                <div class="osahan-account-page-right bg-white p-4 h-100" style="box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;">
                    <div class="tab-content" id="myTabContent">
                        <div class="tab-pane fade active show" id="payments" role="tabpanel" aria-labelledby="payments-tab">
                            <h4 class="font-weight-bold mt-0 mb-4">Payments</h4>
                            <div class="row">
                                @foreach (var kart in Model)
                                {
                                    <div class="col-md-6">
                                        <div class="bg-white card payments-item mb-4 shadow-sm">
                                            <div class="card-header">
                                                <span>@kart.KartAdSoyad</span>
                                                <i class="fa-brands fa-cc-visa fa-2x"></i>
                                            </div>
                                            <div class="gold-members p-4">
                                                <a href="#">
                                                </a>
                                                <div class="media">
                                                    <div class="media-body">

                                                        <a href="#">
                                                            <h6 class="mb-1">@kart.KartNumara</h6>
                                                            <p>@kart.KartCvc @kart.KartTarih</p>
                                                        </a>
                                                        <p class="mb-0 text-black font-weight-bold">
                                                            <a class="text-danger" data-toggle="modal" data-target="#delete-address-modal" href="@Url.Action("KartSil", "Kullanici", new { id = kart.KartId })"><i class="fa-solid fa-trash"></i> DELETE</a>
                                                        </p>
                                                    </div>
                                                </div>

                                            </div>
                                        </div>
                                    </div>
                                }

                            </div>

                            <div class="card haber col-md-12" style="margin-top: 10px; margin-bottom: 20px;">
                                <div class="card-body">
                                    <label style="font-weight: bolder; font-size: 20px; color: orange;">Kart Bilgileri</label>
                                </div>
                                @using (Html.BeginForm("KartKaydet", "Kullanici", FormMethod.Post))
                                {
                                    <div class="container">
                                        <div class="row" style="margin: 0px auto;">
                                            <div class="col-md-12">
                                                <div class="form-group">
                                                    <label for="ad">Kart üstündeki Ad-Soyad:</label>
                                                    <input type="text" class="form-control" id="adsoyad" name="adsoyad" placeholder="Ör: Mustafa Çaylak" required>
                                                </div>
                                            </div>
                                            <div class="col-md-12">
                                                <div class="form-group">
                                                    <label for="soyad">Kart Numarası:</label>
                                                    <input type="text" class="form-control" id="numara" name="numara" placeholder="0000 0000 0000 0000" required>
                                                </div>
                                            </div>
                                        </div>
                                        <div class="row" style="margin: 0px auto;">
                                            <div class="col-md-6">
                                                <div class="form-group">
                                                    <label for="telefon">CVC:</label>
                                                    <input type="tel" class="form-control" id="cvc" name="cvc" placeholder="CVC" required>
                                                </div>
                                            </div>
                                            <div class="col-md-6">
                                                <div class="form-group">
                                                    <label for="il">Son Kullanım Tarihi:</label>
                                                    <input type="text" class="form-control" id="skt" name="skt" placeholder="AA/YYYY" required>
                                                </div>
                                            </div>
                                        </div>
                                        <div class="row" style="margin: 0px auto;">
                                            <div class="col-md-12">
                                                <input type="submit" class="btn btn-primary" value="Kaydet" style="margin-bottom: 15px; margin-top: 15px; width: 100%;">
                                            </div>
                                        </div>
                                    </div>
                                }
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>

    <script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>
    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
</body>
</html>
ASP.net:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using HepsiOrada.Models.Entity;

namespace HepsiOrada.Controllers
{
    public class KullaniciController : Controller
    {
        // GET: Kullanici

        public eticaretEntities1 db = new eticaretEntities1();


        public ActionResult Profil()
        {
            var degerId = 0;

            var url = Request.Url?.AbsoluteUri;

            if (url != null)
            {
                var parts = url.Split('/');
                var lastPart = parts[parts.Length - 1];

                int profileId;
                if (int.TryParse(lastPart, out profileId))
                {
                    ViewBag.ProfileId = profileId;
                    degerId = profileId;
                }
                else
                {
                    ViewBag.ProfileId = "Geçersiz ID";
                }
            }

            var kisi = (from p in db.uye where p.UyeId == degerId select p).FirstOrDefault();

            if (kisi != null)
            {
                Session["kisiId"] = kisi.UyeId;
                Session["kisiAd"] = kisi.UyeAd;
                Session["kisiSoyad"] = kisi.UyeSoyad;
                Session["kisiEmail"] = kisi.UyeEmail;
                Session["kisiSifre"] = kisi.UyeSifre;
                Session["kisiCep"] = kisi.UyeCep;
                Session["kisiDogum"] = kisi.UyeDogum;

                return View();
            }
            else
            {
                ViewBag.ErrorMessage = "404";
                return View();
            }
        }

        [HttpPost]
        public ActionResult AdresKaydet(string ad, string soyad, string telefon, string il, string ilce, string mahalle, string adres, string adresBasligi)
        {
            var yeniAdres = new adres
            {
                Ad = ad,
                Soyad = soyad,
                Telefon = telefon,
                Sehir = il,
                Ilce = ilce,
                Mahalle = mahalle,
                Adres1 = adres,
                AdresBasligi = adresBasligi,
                UyeId = (int)Session["kisiId"]
            };

            db.adres.Add(yeniAdres);
            db.SaveChanges();

            return RedirectToAction("Profil");
        }

        public ActionResult Adres()
        {
            var kisiId = (int)Session["kisiId"];
            var adresler = db.adres.Where(a => a.UyeId == kisiId).ToList();

            var adresSayisi = adresler.Count;

            Session["AdresMiktar"] = adresSayisi;

            return View(adresler);
        }


        [HttpPost]
        public ActionResult KartKaydet(string adsoyad, string numara, string cvc, string skt)
        {
            var yeniKart = new kart
            {
                KartAdSoyad = adsoyad,
                KartNumara = numara,
                KartCvc = cvc,
                KartTarih = skt,
                UyeId = (int)Session["kisiId"]
            };

            db.kart.Add(yeniKart);
            db.SaveChanges();

            return RedirectToAction("Kart");
        }

        public ActionResult KartSil(int id)
        {
            var kart = db.kart.FirstOrDefault(a => a.KartId == id && a.UyeId == (int)Session["kisiId"]);
            if (kart != null)
            {
                db.kart.Remove(kart);
                db.SaveChanges();
            }
            return RedirectToAction("Kart");
        }

        public ActionResult Kart()
        {
            var kisiId = (int)Session["kisiId"];
            var kartlar = db.kart.Where(a => a.UyeId == kisiId).ToList();

            var kartSayisi = kartlar.Count;

            Session["KartMiktar"] = kartSayisi;

            return View(kartlar);
        }

        public ActionResult Cikis()
        {
            Session.Clear();
            Session.Abandon();
            return RedirectToAction("Index", "Home");
        }
    }
}
 

Dosya Ekleri

  • Ekran görüntüsü 2024-06-10 185200.png
    108,3 KB · Görüntüleme: 47
Debug ederek ilgili nesnenin gelip gelmediğini kontrol edin. Ayrıca kredi kartı bilgisi asla veritabanında tutulmaz. Anca log amaçlı tutulabilir o da masklanarak (1111 ** ** 4444 gibi). Kredi kartını kayıt özelliğini masterpass veya bazı sanal pos sağlayıcılarının hizmetlerini kullanarak vermeniz gerekiyor.
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…