Imports System.Data.SqlClient Imports System.Configuration.ConfigurationManager Imports System.Drawing 'bitmap icin Imports System.Drawing.Imaging 'image çizimi için Partial Class panel_keso_personel_duzenle Inherits System.Web.UI.Page Private Sub panel_keso_personel_duzenle_Init(sender As Object, e As EventArgs) Handles Me.Init Dim cookie As HttpCookie = Request.Cookies("kullanici") 'cookie silindi ise ana sayfaya döner If cookie Is Nothing Then Response.Redirect("default.aspx") End If End Sub Private Sub GridView1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles GridView1.SelectedIndexChanged 'seçilen satıra ait datakeynames değerini alır Dim index As Integer = GridView1.SelectedIndex Dim conn As New SqlConnection(ConnectionStrings("ConnectionString").ToString) Dim COMM As New SqlCommand Dim rdr As SqlDataReader conn.Open() COMM = conn.CreateCommand() COMM.CommandText = "SELECT * FROM PERSONEL WHERE id = '" & GridView1.DataKeys(index).Value & "'" rdr = COMM.ExecuteReader If rdr.Read Then e_id.Value = rdr.GetValue(0) e_isim.Text = rdr("ISIM").ToString e_unvan.Text = rdr("UNVAN").ToString e_sira.Text = rdr("SIRA").ToString 'resim resim1.Text = rdr("RESIM").ToString Image1.ImageUrl = "~/imagespersonel/" + rdr("RESIM").ToString End If conn.Close() mesaj.Text = "" mesaj.Visible = False End Sub Private Sub kaydet_Click(sender As Object, e As EventArgs) Handles kaydet.Click On Error GoTo hata_kayit Dim cookie As HttpCookie = Request.Cookies("kullanici") 'cookie silindi ise ana sayfaya döner If cookie Is Nothing Then Response.Redirect("default.aspx") End If '---------------------------------------------------------- Dim conn As New SqlConnection(ConnectionStrings("ConnectionString").ToString) Dim COMM As New SqlCommand Dim sql1 As String Dim SAYI As Long Dim dosyaad As String Dim bmp As Bitmap mesaj.Text = "" mesaj.Visible = False If e_id.Value <= "" Then 'yeni kayıt girişi '----------------------------------------------------------------------------------------------------------------------------------------------------- 'Resmin boyutlandırmasını yaparak gönderir SAYI = Randomizer(1000, 9999) Dim g_resim1 As String lblupload.Text = "" g_resim1 = "" If FileUpload1.FileName <> "" Then If FileUpload1.HasFile Then 'dosya var ise If FileUpload1.PostedFile.ContentLength < 2000000 Then '2 mbit ten büyük dosya yüklenemez dosyaad = SAYI.ToString + "_" + FileUpload1.FileName FileUpload1.SaveAs(Server.MapPath("~/imagespersonel/") + dosyaad) 'fotoyu server a attık '------------------------------yüklenmek istenen resmin boyutunu ayarlar------------------------------------------------- bmp = New Bitmap(Server.MapPath("~/imagespersonel/" + dosyaad)) 'Kayıt ettğimiz fotoyu çağırıp üzerinde işlem yapıyoruz 'en boy oranına göre orantılı boyutlandırma yapar------------------------------ Dim genislik As Integer = 800 'resmin genişliği max 800 yüksekliği max 700 olsun istiyoruz Dim yukseklik As Integer = 700 Dim ebatlar As New Size(bmp.Width, bmp.Height) If bmp.Width > genislik OrElse bmp.Height > yukseklik Then 'eğer istenilen ebatlardan büyükse boyutlandırma yapar 'resmin genişlik ve yükseklik oranını alıyoruz. Dim oran As Double = (CDbl(bmp.Width) / CDbl(bmp.Height)) If bmp.Width > genislik Then ebatlar.Width = genislik ebatlar.Height = CInt(CDbl(genislik) / oran) End If If ebatlar.Height > yukseklik Then ebatlar.Height = yukseklik ebatlar.Width = CInt(CDbl(yukseklik) * oran) End If Dim yeniresim As Bitmap = New Bitmap(bmp, ebatlar) bmp.Dispose() 'eskisini silip boyutlanan resimleri atar System.IO.File.Delete("" + Server.MapPath("~/imagespersonel/") + "" + dosyaad) 'İlk yüklediğimiz resmin boyutlarını değiştirdiği için ilk yüklediğimiz resmi siliyor. yeniresim.Save(Server.MapPath("~/imagespersonel/" + dosyaad), ImageFormat.Jpeg) yeniresim.Dispose() End If '------------------------------------------------------------------------------------------------------------------------ g_resim1 = dosyaad lblupload.Text = FileUpload1.FileName + " resim yüklendi" Else lblupload.Text = "Resim boyutu 2mb den büyük. Yüklenemedi" End If Else lblupload.Text = FileUpload1.FileName + " resim yüklenemedi !!!" End If Else g_resim1 = "no-image-person.png" End If '--------------------------------------------------------------------------------------------------------------------------------------- conn.Open() sql1 = "INSERT INTO PERSONEL (ISIM, UNVAN, BOLUM, SIRA, RESIM) VALUES('" & e_isim.Text.Replace("'", Chr(180)) & "', '" & e_unvan.Text.Replace("'", Chr(180)) & "', 'P', '" & e_sira.Text & "', '" & g_resim1 & "')" COMM = conn.CreateCommand() COMM.CommandText = sql1 COMM.ExecuteNonQuery() conn.Close() e_id.Value = "" e_isim.Text = "" e_unvan.Text = "" e_sira.Text = "" resim1.Text = "" Image1.ImageUrl = "" lblupload.Text = "" GridView1.DataSourceID = "SqlDataSource1" GridView1.DataBind() e_isim.Focus() Exit Sub Else 'eski bilgiyi günceller '----------------------------------------------------------------------------------------------------------------------------------------------------- 'Resmin boyutlandırmasını yaparak gönderir SAYI = Randomizer(1000, 9999) lblupload.Text = "" If FileUpload1.FileName <> "" Then If FileUpload1.HasFile Then 'dosya var ise If FileUpload1.PostedFile.ContentLength < 2000000 Then '2 mbit ten büyük dosya yüklenemez dosyaad = SAYI.ToString + "_" + FileUpload1.FileName If resim1.Text <> "" And resim1.Text <> "no-image-person.png" Then System.IO.File.Delete("" + Server.MapPath("~/imagespersonel/") + "" + resim1.Text) 'daha önceki resmi silip değişen resmi atar FileUpload1.SaveAs(Server.MapPath("~/imagespersonel/") + dosyaad) 'fotoyu server a attık '------------------------------yüklenmek istenen resmin boyutunu ayarlar------------------------------------------------- bmp = New Bitmap(Server.MapPath("~/imagespersonel/" + dosyaad)) 'Kayıt ettğimiz fotoyu çağırıp üzerinde işlem yapıyoruz 'resmi en/boy oranında orantılı küçültür ------------------------------------------ Dim genislik As Integer = 800 'resmin genişliği max 800 yüksekliği max 700 olsun istiyoruz Dim yukseklik As Integer = 700 Dim ebatlar As New Size(bmp.Width, bmp.Height) If bmp.Width > genislik OrElse bmp.Height > yukseklik Then 'eğer istenilen ebatlardan büyükse boyutlandırma yapar 'resmin genişlik ve yükseklik oranını alıyoruz. Dim oran As Double = (CDbl(bmp.Width) / CDbl(bmp.Height)) If bmp.Width > genislik Then ebatlar.Width = genislik ebatlar.Height = CInt(CDbl(genislik) / oran) End If If ebatlar.Height > yukseklik Then ebatlar.Height = yukseklik ebatlar.Width = CInt(CDbl(yukseklik) * oran) End If Dim yeniresim As Bitmap = New Bitmap(bmp, ebatlar) bmp.Dispose() 'eskisini silip boyutlanan resimleri atar System.IO.File.Delete("" + Server.MapPath("~/imagespersonel/") + "" + dosyaad) 'İlk yüklediğimiz resmin boyutlarını değiştirdiği için ilk yüklediğimiz resmi siliyor. yeniresim.Save(Server.MapPath("~/imagespersonel/" + dosyaad), ImageFormat.Jpeg) yeniresim.Dispose() End If '------------------------------------------------------------------------------------------------------------------------ resim1.Text = dosyaad lblupload.Text = FileUpload1.FileName + " resim yüklendi" Image1.ImageUrl = "~/imagespersonel/" + resim1.Text Else lblupload.Text = "Resim boyutu 2mb den büyük. Yüklenemedi" End If Else lblupload.Text = FileUpload1.FileName + " resim yüklenemedi !!!" End If End If '----------------------------------------------------------------------------------------------------------------------------------------------------- conn.Open() sql1 = "UPDATE PERSONEL SET ISIM = '" & e_isim.Text.Replace("'", Chr(180)) & "', UNVAN = '" & e_unvan.Text.Replace("'", Chr(180)) & "', BOLUM = 'P', SIRA = '" & e_sira.Text & "', RESIM = '" & resim1.Text & "' WHERE id = '" & e_id.Value & "'" COMM = conn.CreateCommand() COMM.CommandText = sql1 COMM.ExecuteNonQuery() conn.Close() e_id.Value = "" e_isim.Text = "" e_unvan.Text = "" e_sira.Text = "" resim1.Text = "" Image1.ImageUrl = "" lblupload.Text = "" GridView1.DataSourceID = "SqlDataSource1" GridView1.DataBind() e_isim.Focus() Exit Sub End If hata_kayit: mesaj.Text = "Kayıt işlemi sırasında bir hata oluştu, bilgi kaydedilemedi. Lütfen girişinizi kontrol ediniz!!!" mesaj.Visible = "true" End Sub Private Sub sil_Click(sender As Object, e As EventArgs) Handles sil.Click On Error GoTo hata_kayitsil Dim conn As New SqlConnection(ConnectionStrings("ConnectionString").ToString) Dim COMM As New SqlCommand Dim sql1 As String Dim rdr As SqlDataReader mesaj.Text = "" mesaj.Visible = False 'kayıt yoksa işlem yapmaz If e_id.Value <= "" Then Exit Sub 'önce kayıt için içeride yüklü olan resimleri siler-------------------- If resim1.Text <> "" And resim1.Text <> "no-image-person.png" Then System.IO.File.Delete("" + Server.MapPath("~/imagespersonel/") + "" + resim1.Text) '------------------------------------------------------------------------------------- conn.Open() sql1 = "DELETE FROM PERSONEL WHERE id ='" & e_id.Value & "'" COMM = conn.CreateCommand() COMM.CommandText = sql1 COMM.ExecuteNonQuery() conn.Close() e_id.Value = "" e_isim.Text = "" e_unvan.Text = "" e_sira.Text = "" resim1.Text = "" Image1.ImageUrl = "" lblupload.Text = "" GridView1.DataSourceID = "SqlDataSource1" GridView1.DataBind() e_isim.Focus() Exit Sub hata_kayitsil: mesaj.Text = "Silme işlemi sırasında bir hata oluştu!!!" mesaj.Visible = "true" End Sub Private Function Randomizer(ByVal iStart As Integer, ByVal iEnd As Integer) As Integer Dim iRandomValue As Integer Randomize() iRandomValue = iStart + (Rnd() * (iEnd - iStart)) Return iRandomValue End Function End Class