using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
namespace ConsoleApplication22
{
class Program
{
static void Main(string[] args)
{
//ArrayList sepet=new ArrayList(); //object türünden bir kolleksiyon
List<Urun> sepet = new List<Urun>(); //Urun turunde generic bir collection olan List i kullandık.
Urun kalem = new Urun();
Urun silgi = new Urun();
Urun defter = new Urun();
Urun kitap = new Urun();
kalem.Ad = "çıtçıt"; kalem.Fiyat = 12.55M; kalem.adet = 5;
silgi.Ad = "kokulu"; silgi.Fiyat = 15.2M; silgi.adet = 10;
defter.Ad= "çizgili"; defter.Fiyat = 9.54M;
kitap.Ad = "Roman"; kitap.Fiyat = 25.99M;
sepet.Add(kalem); sepet.Add(silgi); sepet.Add(defter); sepet.Add(kitap);
Console.WriteLine("Urun Adı:\tUrun Fiyat:\tUrun Adet:\t Kdvli Fiyat\tUrunSeriNo:\t\t");
Console.WriteLine("--------\t--------\t-------\t\t------\t\t-----\t\t");
foreach (Urun item in sepet)
{
//Urun urunum = (Urun)item;//List türünde kolleksiyon kulladığımız için Unboxing işlemine gerek kalmadı.
Console.WriteLine("{0}\t\t {1}\t {2}\t {3}\t {4}\t", item.Ad, item.Fiyat, item.adet, item.KdvHesapla().ToString(), item.SeriNo);
}
}
interface IUrun
{
string Ad { get; set; }
decimal Fiyat { get; set; }
decimal KdvHesapla();
}
class Urun : IUrun
{
Guid seriNo;
public Guid SeriNo
{
get { return seriNo; }//kimsenin değiştirmesin diye sadece okunur özellik yaptık.
}
public Urun()
{
seriNo = Guid.NewGuid();
}
string _ad;
public int adet = 1;
public string Ad
{
get
{
return _ad;
}
set
{
_ad = value;
}
}
decimal _fiyat;
public decimal Fiyat
{
get
{
return _fiyat;
}
set
{
_fiyat = value;
}
}
public decimal KdvHesapla()
{
return _fiyat * 1.18M*adet;
}
}
enum Renkler
{
Mavi,Kırmızı,Yeşil,Siyah,Gri,Turuncu,Mor,Beyaz
}
}
}