Example #1
0
        private void KartBilgiBas(Kart kart)
        {
            try
            {
                // gprKart groupbox' ı içindeki alanlara, turnike numarasına göre bilgi yazdırma
                GroupBox grpBox = (GroupBox)grpKart.Controls.Find("grp_t" + Convert.ToString(kart.TurnikeNo), false)[0];

                Label      labelAd        = (Label)grpBox.Controls.Find("lblAd_t" + Convert.ToString(kart.TurnikeNo), false)[0];
                Label      labelSoyad     = (Label)grpBox.Controls.Find("lblSoyad_t" + Convert.ToString(kart.TurnikeNo), false)[0];
                Label      labelBirim     = (Label)grpBox.Controls.Find("lblBirim_t" + Convert.ToString(kart.TurnikeNo), false)[0];
                Label      labelKartTip   = (Label)grpBox.Controls.Find("lblKartTip_t" + Convert.ToString(kart.TurnikeNo), false)[0];
                Label      labelGecisOnay = (Label)grpBox.Controls.Find("lblGecisOnay_t" + Convert.ToString(kart.TurnikeNo), false)[0];
                PictureBox imgKart        = (PictureBox)grpKart.Controls.Find("imgKart_t" + Convert.ToString(kart.TurnikeNo), false)[0];

                labelAd.Text        = kart.Ad;
                labelSoyad.Text     = kart.Soyad;
                labelBirim.Text     = kart.Birim;
                imgKart.Image       = kart.Resim;
                labelGecisOnay.Text = (kart.Ad == "" | kart.Ad == null) ? "" : (kart.GecisOnay) ? "Onaylı" : "Onaysız";
                labelKartTip.Text   = kart.KartTip;
            }
            catch (Exception ex)
            {
                if (!this.IsDisposed)
                {
                    Logger.isError = true;
                    Logger.Method  = "Main, KartBilgiBas";
                    Logger.Message = ex.Message;
                    this.BeginInvoke(new deleg(Hata), "Sektör 5-1' de hata");
                }
            }
        }
Example #2
0
        private void DelUser_Load(object sender, EventArgs e)
        {
            this.FormClosing += new FormClosingEventHandler(OnClose);

            timer          = new Timer();
            timer.Interval = 100;
            timer.Tick    += new EventHandler(timer_Tick);
            timer.Start();

            kart = new Kart();

            KartOkundu.DelUser = true;
        }
Example #3
0
        private void NewUser_Load(object sender, EventArgs e)
        {
            Durumlar.OnErrorChanged   += new EventHandler <DurumArgsHata>(OnErrorChanged);
            Durumlar.OnMessageChanged += new EventHandler <DurumArgsMessage>(OnMessageChanged);

            this.FormClosing += new FormClosingEventHandler(OnClose);

            timer          = new Timer();
            timer.Interval = 100;
            timer.Tick    += new EventHandler(timer_Tick);
            timer.Start();

            kart = new Kart();
            KartOkundu.NewUser = true;
        }
Example #4
0
        public Int32 GecisKaydet(Kart kart)
        {
            Int32         inserted = 0;
            SqlConnection sqlConn  = new SqlConnection();

            try
            {
                sqlConn.ConnectionString = Settings.ConnectionStr;

                String sqlStr = "INSERT INTO GECISLER (KART_ID, TURNIKE_NO, BASARILI)" +
                                " VALUES(@KART_ID, @TURNIKE_NO, @BASARILI)" +
                                ";Select Scope_Identity()";

                SqlCommand sqlComm = new SqlCommand(sqlStr, sqlConn);
                sqlComm.Parameters.AddWithValue("KART_ID", kart.Kartno);
                sqlComm.Parameters.AddWithValue("TURNIKE_NO", kart.TurnikeNo);
                sqlComm.Parameters.AddWithValue("BASARILI", (kart.GecisOnay) ? 1 : 0);

                if (sqlConn.State != System.Data.ConnectionState.Open)
                {
                    sqlConn.Open();
                }

                inserted = Convert.ToInt32(sqlComm.ExecuteScalar());

                if (!kart.GecisOnay)
                {
                    Logger.KayıtID = inserted;
                    Logger.Message = "Geçersiz kart. Kart No : " + Convert.ToString(kart.Kartno);
                }
            }
            catch (Exception ex)
            {
                Logger.isError = true;
                Logger.Method  = "DBThread, Geçiş Kaydı";
                Logger.Message = ex.Message;
            }
            finally
            {
                if (sqlConn.State != System.Data.ConnectionState.Closed)
                {
                    sqlConn.Close();
                }
            }
            return(inserted);
        }
Example #5
0
        public static Int32 GecisKaydet(Kart kart)
        {
            Int32         inserted = 0;
            SqlConnection sqlConn  = new SqlConnection();

            try
            {
                sqlConn.ConnectionString = Settings.ConnectionStr;

                String sqlStr = "INSERT INTO GECISLER (KART_ID, TURNIKE_NO, BASARILI) VALUES(@KART_ID, @TURNIKE_NO, @BASARILI)" +
                                ";Select Scope_Identity()";

                SqlCommand sqlComm = new SqlCommand(sqlStr, sqlConn);
                sqlComm.Parameters.AddWithValue("KART_ID", kart.Kartno);
                sqlComm.Parameters.AddWithValue("TURNIKE_NO", kart.TurnikeNo);
                sqlComm.Parameters.AddWithValue("BASARILI", (kart.GecisOnay) ? 1 : 0);

                if (sqlConn.State != System.Data.ConnectionState.Open)
                {
                    sqlConn.Open();
                }

                inserted = Convert.ToInt32(sqlComm.ExecuteScalar());

                if (!kart.GecisOnay)
                {
                    Logger.KayıtID = inserted;
                    Logger.Message = String.Format("Geçersiz kart. Kart No : {0}", kart.Kartno);
                }
            }
            catch (Exception ex)
            {
                Logger.Message = ex.Message + " - gecisKaydi";
                if (Settings.AdminMod)
                {
                    //Info.ErrorDesc = "Kart kaydı bulunamadı! | " + ex.Message;
                }
                else
                {
                    //Info.ErrorDesc = "Kart kaydı bulunamadı!";
                }
            }
            return(inserted);
        }
Example #6
0
        public static Kart MisafirGetir(Int64 tckimlik)
        {
            Kart          kart    = new Kart();
            SqlConnection sqlConn = new SqlConnection();

            try
            {
                sqlConn.ConnectionString = Settings.ConnectionStr;

                String sqlStr = "SELECT ISNULL(K.KART_ID, 0) AS KART_ID, ISNULL(K.TCKIMLIK, 0) AS TCKIMLIK, ISNULL(K.AD,'') AS ADI, " +
                                "ISNULL(K.SOYAD,'') AS SOYADI, ISNULL(B.BIRIMAD,'') AS BIRIMI FROM KARTLAR AS K WITH(NOLOCK)" +
                                " LEFT OUTER JOIN BIRIMLER AS B WITH(NOLOCK) ON K.BIRIM = B.ID WHERE K.IPTAL = 0 AND K.KART_TIP = 4 AND K.TCKIMLIK = @TCKIMLIK";

                SqlCommand sqlComm = new SqlCommand(sqlStr, sqlConn);
                sqlComm.Parameters.AddWithValue("TCKIMLIK", tckimlik);

                if (sqlConn.State != System.Data.ConnectionState.Open)
                {
                    sqlConn.Open();
                }

                SqlDataAdapter sqlAdapter = new SqlDataAdapter(sqlComm);
                DataTable      dt         = new DataTable();
                sqlAdapter.Fill(dt);

                if (dt.Rows.Count > 0)
                {
                    kart.Kartno = Convert.ToInt64(dt.Rows[0]["KART_ID"]);
                    kart.Ad     = Convert.ToString(dt.Rows[0]["ADI"]);
                    kart.Soyad  = Convert.ToString(dt.Rows[0]["SOYADI"]);
                    kart.Birim  = Convert.ToString(dt.Rows[0]["BIRIMI"]);
                }
            }
            catch (Exception ex)
            {
                if (sqlConn.State != System.Data.ConnectionState.Closed)
                {
                    sqlConn.Close();
                }
            }
            return(kart);
        }
Example #7
0
        public static Boolean MisafirEkle(Kart kart)
        {
            Boolean       result  = false;
            SqlConnection sqlConn = new SqlConnection();

            try
            {
                sqlConn.ConnectionString = Settings.ConnectionStr;

                String sqlStr = "IF NOT EXISTS(SELECT 1 FROM KARTLAR WHERE KART_ID = @KART_ID AND IPTAL = 0)" +
                                "INSERT INTO KARTLAR (TCKIMLIK, KART_ID, AD, SOYAD, KART_TIP, KAYIT_EDEN)" +
                                " VALUES(@TCKIMLIK, @KART_ID, @AD, @SOYAD, @KART_TIP, @KAYIT_EDEN)";

                SqlCommand sqlComm = new SqlCommand(sqlStr, sqlConn);
                sqlComm.Parameters.AddWithValue("TCKIMLIK", kart.Tckimlik);
                sqlComm.Parameters.AddWithValue("KART_ID", kart.Kartno);
                sqlComm.Parameters.AddWithValue("AD", kart.Ad);
                sqlComm.Parameters.AddWithValue("SOYAD", kart.Soyad);
                sqlComm.Parameters.AddWithValue("KART_TIP", 4);
                sqlComm.Parameters.AddWithValue("KAYIT_EDEN", kart.Kaydeden);

                if (sqlConn.State != System.Data.ConnectionState.Open)
                {
                    sqlConn.Open();
                }

                Int32 inserted = sqlComm.ExecuteNonQuery();
                if (inserted > 0)
                {
                    result = true;
                }
            }
            catch (Exception ex)
            {
                if (sqlConn.State != System.Data.ConnectionState.Closed)
                {
                    sqlConn.Close();
                }
                result = false;
            }
            return(result);
        }
Example #8
0
 private void btnAra_Click(object sender, EventArgs e)
 {
     if (txtKimlik.Text != "")
     {
         Int64 tckimlik = 0;
         Int64.TryParse(txtKimlik.Text, out tckimlik);
         if (tckimlik > 0)
         {
             Kart karte = new Kart();
             karte         = DB.MisafirGetir(Convert.ToInt64(txtKimlik.Text));
             txtAd.Text    = karte.Ad;
             txtSoyad.Text = karte.Soyad;
         }
         else
         {
             lblBilgi.Text = "Hatalı T.C. Kimlik";
         }
     }
     else
     {
         lblBilgi.Text = "T.C. Kimlik alanını doldurun";
     }
 }
Example #9
0
        public Kart KartKontrol(Int64 kartNo)
        {
            Kart          kart    = new Kart();
            SqlConnection sqlConn = new SqlConnection();

            try
            {
                sqlConn.ConnectionString = Settings.ConnectionStr;

                String sqlStr = "SELECT ISNULL(K.KART_ID, 0) AS KART_ID, ISNULL(K.TCKIMLIK, 0) AS TCKIMLIK," +
                                " UPPER(LEFT(K.AD, 1)) + LOWER(SUBSTRING(K.AD, 2, LEN(K.AD))) AS ADI," +
                                " ISNULL(K.SOYAD, '') AS SOYADI, ISNULL(B.BIRIMAD, '') AS BIRIMI," +
                                " K.KART_TIP AS KART_TIPID," +
                                " CASE K.KART_TIP" +
                                " WHEN 1 THEN 'Öğrenci'" +
                                " WHEN 2 THEN 'Akademik Personel'" +
                                " WHEN 3 THEN 'İdari Personel'" +
                                " WHEN 4 THEN 'Ziyaretçi'" +
                                " WHEN 5 THEN 'Hizmet Alım Personeli'" +
                                " END AS KART_TIP," +
                                " K.GECIS_ONAY " +
                                " FROM KARTLAR AS K WITH(NOLOCK)" +
                                " LEFT OUTER JOIN BIRIMLER AS B WITH(NOLOCK)" +
                                " ON K.BIRIM = B.BIRIMID WHERE K.IPTAL = 0 AND K.KART_ID = @KART_ID";

                SqlCommand sqlComm = new SqlCommand(sqlStr, sqlConn);
                sqlComm.Parameters.AddWithValue("KART_ID", kartNo);

                if (sqlConn.State != System.Data.ConnectionState.Open)
                {
                    sqlConn.Open();
                }

                SqlDataAdapter sqlAdapter = new SqlDataAdapter(sqlComm);
                DataTable      dt         = new DataTable();
                sqlAdapter.Fill(dt);

                kart.Kartno = kartNo;
                kart.Resim  = Properties.Resources.nopicture;

                if (dt.Rows.Count > 0)
                {
                    kart.Tckimlik  = Convert.ToInt64(dt.Rows[0]["TCKIMLIK"]);
                    kart.Ad        = Convert.ToString(dt.Rows[0]["ADI"]);
                    kart.Soyad     = Convert.ToString(dt.Rows[0]["SOYADI"]);
                    kart.Birim     = Convert.ToString(dt.Rows[0]["BIRIMI"]);
                    kart.KartTip   = Convert.ToString(dt.Rows[0]["KART_TIP"]);
                    kart.KartTipid = Convert.ToInt32(dt.Rows[0]["KART_TIPID"]);
                    kart.GecisOnay = Convert.ToBoolean(dt.Rows[0]["GECIS_ONAY"]);

                    try
                    {
                        String url = "";

                        if (kart.KartTipid == 1)
                        {
                            url = @"http://ekampus.beun.edu.tr/Content/Ogrenci/" + Convert.ToString(kart.Tckimlik) + ".jpg";
                        }
                        if (kart.KartTipid == 5)
                        {
                            url = @"http://10.1.16.30/report/5/" + Convert.ToString(kart.Tckimlik) + ".jpg";
                        }

                        WebRequest request = WebRequest.Create(url);
                        //request.Timeout = 2000;
                        WebResponse response = request.GetResponse();
                        kart.Resim = Bitmap.FromStream(response.GetResponseStream());
                    }
                    catch (Exception ex)
                    {
                        Logger.Message = ex.Message + " - resim";
                    }
                }
            }
            catch (Exception ex)
            {
                Logger.Method  = "DBThread, Kart Kontrol";
                Logger.isError = true;
                Logger.Message = ex.Message;
            }
            finally
            {
                if (sqlConn.State != System.Data.ConnectionState.Closed)
                {
                    sqlConn.Close();
                }
            }
            return(kart);
        }
Example #10
0
        private void OkuyucuVeriAl(object turnikeObj)
        {
            /*
             * - Listeden gönderilen turnike bilgileri
             * - TurnikeNo: Turnikenin veritabanında ki numarası (ID değil, elle atanır)
             * - StartKomut: kart okuyucular ile bağlantı sağlanabildiğine dair sesli uyarı komutu (BUZZER)
             * - Komut: Geçerli kart okunduğunda gönderilen komutlar (röle aç, buzzer vs.)
             * - FailKomut: Geçersiz kart okunduğunda gönderilen sesli uyarı komutu (BUZZER uzun süreli)
             */
            DataRow turnikeRow = (DataRow)turnikeObj;
            Turnike turnike    = new Turnike();

            turnike.TurnikeNo  = Convert.ToInt32(turnikeRow["TURNIKE_NO"]);
            turnike.CihazID    = Convert.ToString(turnikeRow["CIHAZ_ID"]);
            turnike.IP         = Convert.ToString(turnikeRow["IP"]);
            turnike.Port       = Convert.ToInt32(turnikeRow["PORT"]);
            turnike.StartKomut = Convert.ToString(turnikeRow["START_KOMUT"]);
            turnike.Komut      = Convert.ToString(turnikeRow["KOMUT"]);
            turnike.FailKomut  = Convert.ToString(turnikeRow["FAIL_KOMUT"]);
            turnike.Aktif      = true;

            try
            {
                ASCIIEncoding encoder = new ASCIIEncoding();

                Byte[] gelenBytes     = new Byte[4096];
                Byte[] gidenBytes     = encoder.GetBytes(turnike.CihazID + turnike.Komut);
                Byte[] gidenBytesFail = encoder.GetBytes(turnike.CihazID + turnike.FailKomut);

                /*
                 * NetworkStream onOffStream = client.GetStream();
                 * Byte[] onOffBytes = encoder.GetBytes(CihazID + StartKomut);
                 * onOffStream.Write(onOffBytes, 0, onOffBytes.Length);
                 * onOffStream.Flush();
                 */

                Int32  connectionAttempt = 0;
                Socket dataSocket        = null;
                while (dataSocket == null)
                {
                    connectionAttempt++;
                    dataSocket = Baglan(turnike);
                    this.BeginInvoke(new delegLights(Lights), turnike.TurnikeNo, "Yellow");
                }

                if (dataSocket != null)
                {
                    this.BeginInvoke(new deleg(SistemDurum), "");
                }

                _table.Rows.Add(dataSocket, turnike.TurnikeNo, turnike);

                Int32 hataSayac = 0;

                while (turnike.Aktif)
                {
                    int gelenVeri = 0;

                    DataRow[] socketRow = _table.Select("TurnikeNo = " + turnike.TurnikeNo);
                    dataSocket = (Socket)socketRow[0]["Socket"];

                    try
                    {
                        gelenVeri = dataSocket.Receive(gelenBytes, 0, gelenBytes.Length, SocketFlags.None);
                        hataSayac = 0;
                    }
                    catch (Exception ex)
                    {
                        if (hataSayac >= 50)
                        {
                            if (!this.IsDisposed)
                            {
                                Logger.isError = true;
                                Logger.Method  = "Main, OkuyucuBaglan, Bağlantı yok";
                                Logger.Message = ex.Message;
                            }
                            hataSayac = 0;
                        }
                    }

                    String gelenStr = "";
                    if (gelenVeri > 0)
                    {
                        gelenStr = encoder.GetString(gelenBytes, 0, gelenVeri);
                    }
                    this.BeginInvoke(new deleg(Hata), gelenStr);
                    if (gelenStr != "")
                    {
                        //"MCR02-3EAAF7"
                        //Int32 cihaz1 = 0;
                        //cihaz1 = gelenStr.IndexOf("MCR");
                        //this.BeginInvoke(new deleg(Mesaj), Convert.ToString(cihaz1));

                        string pattern = @"(MCR)([A-F0-9]*)(-)([A-F0-9]*)(,UID=)([0-9]*)";
                        Regex  myRegex = new Regex(pattern, RegexOptions.IgnoreCase);

                        Match m = myRegex.Match(gelenStr);   // m is the first match

                        string pattern2 = @"(MCR)([A-F0-9]*)(-)([A-F0-9]*)";
                        Regex  myRegex2 = new Regex(pattern2, RegexOptions.IgnoreCase);

                        Match m2 = myRegex2.Match(m.Value);   // m is the first match

                        string m3 = m.Value.Substring(m2.Value.Length + 5);

                        //String[] gelenBilgi = gelenStr.Split(_ayrac); // Okuyucudan gelen veriler "," ile ayrılmış

                        Int64  okunanKartno = 0;
                        String kartBilgisi  = "";

                        if (m.Value.Length >= 2)
                        {
                            try
                            {
                                //this.BeginInvoke(new deleg(Mesaj), Convert.ToString(gelenBilgi[1]) + " - " + Convert.ToString(kartBilgisi.Substring(4)));
                                //kartBilgisi = Convert.ToString(gelenBilgi[1]); // Dizinin 2. elemanı kart ID bilgisi
                                //this.BeginInvoke(new deleg(Mesaj), kartBilgisi);
                                //okunanKartno = Convert.ToInt64(kartBilgisi.Substring(4)); // "UID=" den sonra kart IDsi başlıyor
                                okunanKartno = Convert.ToInt64(m3);
                                this.BeginInvoke(new deleg(Mesaj), Convert.ToString(okunanKartno));
                            }
                            catch (Exception ex)
                            {
                                //this.BeginInvoke(new deleg(Mesaj), "3");
                            }
                        }

                        if (okunanKartno > 0)
                        {
                            Kart kart = new Kart();

                            // Okuyucudan gelen kart IDsi ile veritabanındakiler ters, önce bu düzeltilir ve
                            // daha sonra veritabanından kart ID kontrolü yapılır
                            Int64 kartid = 0;
                            try
                            {
                                kartid = tersineCevir(okunanKartno);
                                this.BeginInvoke(new deleg(Mesaj), Convert.ToString(kartid));
                            }
                            catch (Exception ex)
                            {
                                Logger.isError = true;
                                Logger.Method  = "Main, Tersine Çevir";
                                Logger.Message = ex.Message;
                            }

                            DBThread dbThread = new DBThread();
                            kart = dbThread.KartKontrol(kartid);

                            kart.Birim = "";

                            if (kart.KartTipid == 2 || kart.KartTipid == 3)
                            {
                                Kart picard = new Kart();
                                picard     = DB.ResimGetir(kart.Tckimlik);
                                kart.Resim = picard.Resim;
                                kart.Birim = picard.Birim;
                            }

                            //kart.CihazID = gelenBilgi[0]; // Okuyucudan gelen veri dizisinin ilk elemanı cihaz IDsi
                            kart.CihazID = m2.Value;

                            kart.TurnikeNo   = turnike.TurnikeNo;
                            kart.GecisTarihi = DateTime.Now;

                            // Okunan karta ait bilgileri ekrana yazdır
                            if (!this.IsDisposed)
                            {
                                this.BeginInvoke(new delegKart(KartBilgiBas), kart);

                                if (kart.GecisOnay)
                                {
                                    dataSocket.Send(gidenBytes);
                                }
                                else
                                {
                                    dataSocket.Send(gidenBytesFail);
                                }
                            }
                        }
                    }

                    DataRow[] aktifRow = _table.Select("TurnikeNo = " + turnike.TurnikeNo);
                    if (aktifRow.Length > 0)
                    {
                        Turnike aktifTurnike = (Turnike)aktifRow[0]["TurnikeClass"];
                        turnike.Aktif = aktifTurnike.Aktif;
                    }
                }
            }
            catch (Exception ex)
            {
                if (!this.IsDisposed)
                {
                    Logger.isError = true;
                    Logger.Method  = "Main, OkuyucuVeriAl";
                    Logger.Message = ex.Message;
                    this.BeginInvoke(new deleg(Hata), "Sektör 2' de hata!");
                    // Hata oluştuğunda ilgili soket ve turnike bilgilerinin tablodan çıkarılması
                    _table.Rows.RemoveAt(_table.Rows.IndexOf(_table.Select("TurnikeNo = " + turnike.TurnikeNo)[0]));
                }
            }
        }
Example #11
0
        public static Kart ResimGetir(Int64 tckimlik)
        {
            Kart kart = new Kart();

            SqlConnection sqlkonn = new SqlConnection();

            try
            {
                sqlkonn.ConnectionString = "Server=***;Database=***;User Id=***;Password=***;";
                String sqlStr = "SELECT O.Adi AS BirimAd, NI.Foto FROM Personel AS P " +
                                "INNER JOIN Memur AS M ON M.Personel = P.PersonelID " +
                                "INNER JOIN Kadro AS K ON K.KadroID = M.Kadro " +
                                "INNER JOIN Organizasyon AS O ON O.OrganizasyonID = K.Organizasyon " +
                                "INNER JOIN Nufus AS N ON N.Personel = P.PersonelID " +
                                "INNER JOIN NufusImage AS NI ON NI.Nufus = N.NufusID " +
                                "WHERE P.KimlikNo = @TCKIMLIK";

                SqlCommand sqlComm = new SqlCommand(sqlStr, sqlkonn);
                sqlComm.Parameters.AddWithValue("TCKIMLIK", tckimlik);

                if (sqlkonn.State != System.Data.ConnectionState.Open)
                {
                    sqlkonn.Open();
                }
                SqlDataAdapter sqlAdapter = new SqlDataAdapter(sqlComm);
                DataTable      dt         = new DataTable();
                sqlAdapter.Fill(dt);

                kart.Resim = Properties.Resources.nopicture;

                if (dt.Rows.Count > 0)
                {
                    try
                    {
                        kart.Birim = Convert.ToString(dt.Rows[0]["BirimAd"]);
                        Byte[]       resim = (Byte[])(dt.Rows[0]["Foto"]);
                        MemoryStream mem   = new MemoryStream(resim);
                        kart.Resim = Image.FromStream(mem);
                        //kart.Resim = Bitmap.FromStream(WebRequest.Create("http://ekampus.beun.edu.tr/Content/Ogrenci/" + kart.Tckimlik + ".jpg").GetResponse().GetResponseStream());
                    }
                    catch (Exception ex)
                    {
                        Logger.Message = ex.Message + " - resimGetir";
                    }
                }
            }
            catch (Exception ex)
            {
                Logger.Message = ex.Message + " - resimGetirMain";
                if (Settings.AdminMod)
                {
                    //Info.ErrorDesc = "Kart kaydı bulunamadı! | " + ex.Message;
                }
                else
                {
                    //Info.ErrorDesc = "Kart kaydı bulunamadı!";
                }
            }
            finally
            {
                if (sqlkonn.State != System.Data.ConnectionState.Closed)
                {
                    sqlkonn.Close();
                }
            }
            return(kart);
        }