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
    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.
 

Technopat Haberler

Yeni konular

Geri
Yukarı