Market Satış Takip Programı C#
Veri tabanına ulaşma işlemi için bir video hazırladım.Aşağıdaki linkten videoyu izleyebilirsiniz.
Anaform–> Seçilen tarihe göre yapılan satışları görme imkanı
Müşteri İşlemleri –> Müşteri tüm kriterlere göre arama ve silme imkanı(Ad,soyad,Tc Kimlik gibi).
Müşteri Ekleme –> Yıldızlı alanlara giriş zorunlu
Ürün İşlemleri –>Ürünleri tüm kriterlere göre arama ve silme imkanı(Ürün Adı,Ürün kodu,kategori gibi)
Ürün Ekleme Ekleme –> Yıldızlı alanlara giriş zorunlu. + butonu ile firma – kategori ekleme ve silme imkanı.
Kasiyer İşlemleri –>Kasiyerleri tüm kriterlere göre arama ve silme imkanı(Ad,Soyad,Tc Kimlik gibi)
Kasiyer Ekleme –> Yıldızlı alanlara giriş zorunlu
Stok İşlemleri –>Ürünleri tüm kriterlere göre arama ve silme imkanı(Ürün Adı,Ürün kodu,kategori gibi) Var olan ürüne stok ekleme veya yeni stok ekleme imkanı.
Stok Ekleme –> Yıldızlı alanlara giriş zorunlu
Satış İşlemleri –>Müşteri arama yapılabilir. Stok ta olan ürünler comboda gözükür.Stok kalmayan ürünler comboda gözükmez.
Listeden seçilen müşterinin bilgileri textlere otomatik olarak gelir.Ürün Fiyat ve adedine göre Toplam Tutar otomatik hesaplanır.
PROJE İNDİR
C# Yazılım Dersleri 9-Framework 1- Web Servisine Bağlanmak videolu dersini izlemektesiniz. İleri .Net ve Framework ile ilgili serimize başlıyoruz. Belki en fazla kullanılan ve ihtiyaç duyulan konulardan biriside Web service konusudur. Web Service sayesinde uygulamalar sizin servisinize bağlanıp uzaktan veri transferi yapabilirler. veya siz bağlanıp işlemler yapabilirsiniz.
C# Dersleri - Ders 1 (HD YAYIN) videolu dersini izlemektesiniz. Ders 2 : https://www.youtube.com/watch?v=zwTKVSSt-s0 C#'ın ilk dersi ile başlamış bulunmaktayız. Devam eden günlerde parça parça ders ders diğer derslerede geçicez. Sadece c# değil, sonny vegas, photoshop, kurulumlar, windows üzerine birçok ders işliycez. *********************************************************************** ################################################### Web Site/Page Takip : http://gorselegitimlerim.blogspot.com/ Youtube : http://.youtube.com/GorselEgitimlerim Visual Studio 2010 Professional Plus Download : http://bc.vc/s3Pu4A ################################################## ********************************************************************* C# Dersleri A'dan Z'ye C# Tüm Yönleriyle c# Php Asp college information
4 elemanlı string bir dizi tanımlanıp ilk değerleri verilerek formun çalıştırılmasında bu
değerler comboBox() ta listelenmektedir. Açılır liste kutusundan (comboBox) yapılan seçimi
metin kutusunda gösteren program kodu aşağıda
Ayrıca, ilk değer ataması yapılacak olan dizilerde eleman sayısını belirtmeye gerek
yoktur.
string [] Mevsimler= {“İlkbahar”,”Yaz”,”Sonbahar”,”Kış”};
Bu tanımlamaya göre new metodunu kullanmayabilirsiniz. Çünkü dizi değişkenin
eleman sayısı verilen ilk değerlerin sayısına göre belirlenir.
değerler comboBox() ta listelenmektedir. Açılır liste kutusundan (comboBox) yapılan seçimi
metin kutusunda gösteren program kodu aşağıda
Ayrıca, ilk değer ataması yapılacak olan dizilerde eleman sayısını belirtmeye gerek
yoktur.
string [] Mevsimler= {“İlkbahar”,”Yaz”,”Sonbahar”,”Kış”};
Bu tanımlamaya göre new metodunu kullanmayabilirsiniz. Çünkü dizi değişkenin
eleman sayısı verilen ilk değerlerin sayısına göre belirlenir.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Net;
using System.Net.Mail;
namespace EMail
{
public partial class MailGondermeFormu : Form
{
public MailGondermeFormu()
{
InitializeComponent();
}
static bool mailSent = false;
string[] GonderilenlerDizisi = new string[3];
public void SendMail()
{
System.Net.Mail.MailMessage msg = new System.Net.Mail.MailMessage();
msg.To.Add(txtKime.Text);
msg.From = new MailAddress(txtKimden.Text, txtKullaniciAdi.Text, System.Text.Encoding.UTF8);
msg.Subject = txtKonu.Text;
msg.SubjectEncoding = System.Text.Encoding.UTF8;
msg.bOdy = txtMesaj.Text;
msg.bOdyEncoding = System.Text.Encoding.UTF8;
msg.IsbOdyHtml = false;
msg.Priority = MailPriority.High;
if (txtEkDosya.Text != "")
{
msg.Attachments.Add(new Attachment(txtEkDosya.Text));
}
SmtpClient client = new SmtpClient();
client.Credentials = new System.Net.NetworkCredential(txtKullaniciAdi.Text, txtSifre.Text);
client.Port = 587;//or use 587
client.Host = "smtp.gmail.com";
client.EnableSsl = true;
client.SendCompleted += new SendCompletedEventHandler(client_SendCompleted);
object userState = msg;
try
{
client.SendAsync(msg, userState);
}
catch (System.Net.Mail.SmtpException ex)
{
MessageBox.Show(ex.Message, "Mail Gönderme Hatası");
}
}
void client_SendCompleted(object sender, AsyncCompletedEventArgs e)
{
MailMessage mail = (MailMessage)e.UserState;
string subject = mail.Subject;
if (e.Cancelled)
{
string cancelled = string.Format("[{0}] Mail gönderme iptal edildi.", subject);
MessageBox.Show(cancelled);
}
if (e.Error != null)
{
string error = String.Format("[{0}] {1}", subject, e.Error.ToString());
MessageBox.Show(error);
}
else
{
MessageBox.Show("E-Mail başarıyla gönderildi.");
}
mailSent = true;
}
private void btnEkle_Click(object sender, EventArgs e)
{
openFileDialog1.ShowDialog();
if (openFileDialog1.FileName == "")
{
txtEkDosya.Text = "";
}
txtEkDosya.Text = openFileDialog1.FileName;
}
private void btnGonder_Click(object sender, EventArgs e)
{
this.SendMail();
}
private void btnTemizle_Click(object sender, EventArgs e)
{
for (int i = 0; i < groupBox1.Controls.Count; i++)
{
if (groupBox1.Controls[i] is TextBox)
{
groupBox1.Controls[i].ResetText();
}
}
}
}
}
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Net;
using System.Net.Mail;
namespace EMail
{
public partial class MailGondermeFormu : Form
{
public MailGondermeFormu()
{
InitializeComponent();
}
static bool mailSent = false;
string[] GonderilenlerDizisi = new string[3];
public void SendMail()
{
System.Net.Mail.MailMessage msg = new System.Net.Mail.MailMessage();
msg.To.Add(txtKime.Text);
msg.From = new MailAddress(txtKimden.Text, txtKullaniciAdi.Text, System.Text.Encoding.UTF8);
msg.Subject = txtKonu.Text;
msg.SubjectEncoding = System.Text.Encoding.UTF8;
msg.bOdy = txtMesaj.Text;
msg.bOdyEncoding = System.Text.Encoding.UTF8;
msg.IsbOdyHtml = false;
msg.Priority = MailPriority.High;
if (txtEkDosya.Text != "")
{
msg.Attachments.Add(new Attachment(txtEkDosya.Text));
}
SmtpClient client = new SmtpClient();
client.Credentials = new System.Net.NetworkCredential(txtKullaniciAdi.Text, txtSifre.Text);
client.Port = 587;//or use 587
client.Host = "smtp.gmail.com";
client.EnableSsl = true;
client.SendCompleted += new SendCompletedEventHandler(client_SendCompleted);
object userState = msg;
try
{
client.SendAsync(msg, userState);
}
catch (System.Net.Mail.SmtpException ex)
{
MessageBox.Show(ex.Message, "Mail Gönderme Hatası");
}
}
void client_SendCompleted(object sender, AsyncCompletedEventArgs e)
{
MailMessage mail = (MailMessage)e.UserState;
string subject = mail.Subject;
if (e.Cancelled)
{
string cancelled = string.Format("[{0}] Mail gönderme iptal edildi.", subject);
MessageBox.Show(cancelled);
}
if (e.Error != null)
{
string error = String.Format("[{0}] {1}", subject, e.Error.ToString());
MessageBox.Show(error);
}
else
{
MessageBox.Show("E-Mail başarıyla gönderildi.");
}
mailSent = true;
}
private void btnEkle_Click(object sender, EventArgs e)
{
openFileDialog1.ShowDialog();
if (openFileDialog1.FileName == "")
{
txtEkDosya.Text = "";
}
txtEkDosya.Text = openFileDialog1.FileName;
}
private void btnGonder_Click(object sender, EventArgs e)
{
this.SendMail();
}
private void btnTemizle_Click(object sender, EventArgs e)
{
for (int i = 0; i < groupBox1.Controls.Count; i++)
{
if (groupBox1.Controls[i] is TextBox)
{
groupBox1.Controls[i].ResetText();
}
}
}
}
}
Bu makalemizde C# System.Xml alan adını (namespace) kullanarak xml dosyalarını yükleyen, bu xml dosyası içeriğinde istenen anahtar kelimelere (key) göre sonuç döndüren bir katman oluşturacağız. Bu katmanı bir kere yazıp daha sonraki tüm uygulamalarımızda kullanabileceğiz.
Şimdi Visual Studio programında CwXmlLoader isminde yeni bir Class Library projesi açıyoruz. Projemize CwXmlManager isminde yeni bir class ekliyoruz.
INFO: Bir Yazılım Geliştirici olarak geliştirmeye başladığınız projelerinizde yazdığınız sınıfları isimlendirirken başlarına anahtar kelimeler getirerek freamwork içeriklerinden ayırmanız projelerinizin ileri aşamasında kod okuma ve geliştirme safhalarında yazılımcılar için kolaylık sağlayacaktır.
Yeni projemizi oluşturup sınıfımızı ekledikten sonra kodlama işlemine başlayabiliriz. Kodlama işlemine başlarken projemize iki alan adını referans etmemiz gerekmektedir. Bunlar;
using System.Configuration; // Bu alan adı projemize ait App.Config dosyasının içeriğini okumamıza yardımcı olmaktadır.
using System.Xml; //Bu alan adı Xml Dosyalarının içeriğine erişim yapmamıza yardımcı olmaktadır.
Alan adları eklendikten sonra kodlamaya geçebiliriz. Xml dosyasının ismini ve Xml klasörünün yolunu almamıza yarayan field ları yazalım.
Şimdi xml dosyasının yüklemesini yapacak kod blokunu yazalım. Bu kod blokunu yazarken kodlarımızı try – catch bloku içerisine alarak oluşabilecek hatalarda projemizin patlamasını engelleyerek karşılaşılan hatayı kullanıcıya göstermiş olacağız.
Xml Dosyasının içeriğini XmlDocument sınıfına dönüştürerek return edeceğiz.
Şimdi XmlDocument ile listelenen taglara ait değerleri okumamıza yardımcı olacak kod blokunu yazıyoruz.
Evet Xml dosyası içerisinde verilen key değerine göre okuma işlemi yapan kod blokunu da yazdığımıza göre şimdi bu okuma işlemi sonucunda bize değer döndüren kod blokunu yazıyoruz.
Yukardaki kod bloku ile bize tip tanımsız bir değer döndüren kodu yazmış olduk. Bir sonraki makalemizde Tip tanımsız Convert işlemi yapan katmanımızı yazacağız. Katmanımızın son hali aşağıdadır..
Şimdi Visual Studio programında CwXmlLoader isminde yeni bir Class Library projesi açıyoruz. Projemize CwXmlManager isminde yeni bir class ekliyoruz.
INFO: Bir Yazılım Geliştirici olarak geliştirmeye başladığınız projelerinizde yazdığınız sınıfları isimlendirirken başlarına anahtar kelimeler getirerek freamwork içeriklerinden ayırmanız projelerinizin ileri aşamasında kod okuma ve geliştirme safhalarında yazılımcılar için kolaylık sağlayacaktır.
Yeni projemizi oluşturup sınıfımızı ekledikten sonra kodlama işlemine başlayabiliriz. Kodlama işlemine başlarken projemize iki alan adını referans etmemiz gerekmektedir. Bunlar;
using System.Configuration; // Bu alan adı projemize ait App.Config dosyasının içeriğini okumamıza yardımcı olmaktadır.
using System.Xml; //Bu alan adı Xml Dosyalarının içeriğine erişim yapmamıza yardımcı olmaktadır.
Alan adları eklendikten sonra kodlamaya geçebiliriz. Xml dosyasının ismini ve Xml klasörünün yolunu almamıza yarayan field ları yazalım.
Şimdi xml dosyasının yüklemesini yapacak kod blokunu yazalım. Bu kod blokunu yazarken kodlarımızı try – catch bloku içerisine alarak oluşabilecek hatalarda projemizin patlamasını engelleyerek karşılaşılan hatayı kullanıcıya göstermiş olacağız.
Xml Dosyasının içeriğini XmlDocument sınıfına dönüştürerek return edeceğiz.
Şimdi XmlDocument ile listelenen taglara ait değerleri okumamıza yardımcı olacak kod blokunu yazıyoruz.
Evet Xml dosyası içerisinde verilen key değerine göre okuma işlemi yapan kod blokunu da yazdığımıza göre şimdi bu okuma işlemi sonucunda bize değer döndüren kod blokunu yazıyoruz.
Yukardaki kod bloku ile bize tip tanımsız bir değer döndüren kodu yazmış olduk. Bir sonraki makalemizde Tip tanımsız Convert işlemi yapan katmanımızı yazacağız. Katmanımızın son hali aşağıdadır..
135 Adet egitim videosu ile siz de C# ögreneceksiniz! İndirmek için aşagıdaki linki kullanın
https://yadi.sk/d/VdK7Skn1eZwBc
https://yadi.sk/d/VdK7Skn1eZwBc