void SatisFisiOlustur()
        {
            if (gridView3.SelectedRowsCount == 0)
            {
                return;
            }
            if (lueStoklar.EditValue == null)
            {
                return;
            }

            int hatali = 0, hatasiz = 0;

            string fkStokKarti = lueStoklar.EditValue.ToString();
            string sql         = "";

            //local trans
            if (DB.conTrans == null)
            {
                DB.conTrans = new SqlConnection(DB.ConnectionString());
            }
            if (DB.conTrans.State == ConnectionState.Closed)
            {
                DB.conTrans.Open();
            }

            for (int i = 0; i < gridView3.SelectedRowsCount; i++)
            {
                #region transları başlat
                //DBWeb.transaction = DBWeb.conTrans.BeginTransaction("AdemTransaction");
                DB.transaction = DB.conTrans.BeginTransaction("AidatTransaction");
                #endregion

                string  v  = gridView3.GetSelectedRows().GetValue(i).ToString();
                DataRow dr = gridView3.GetDataRow(int.Parse(v));
                //DataRow dr = gridView3.GetDataRow(i);
                string  fkFirma      = dr["pkFirma"].ToString();
                decimal aidat_tutari = 0;
                decimal.TryParse(dr["AidatTutari"].ToString(), out aidat_tutari);

                #region Fiş Oluştur
                ArrayList list = new ArrayList();
                list.Add(new SqlParameter("@EskiFis", "0"));
                list.Add(new SqlParameter("@Tarih", TeslimTarihi.DateTime));
                list.Add(new SqlParameter("@fkFirma", fkFirma));//fkFirma)); ana bilgisayardaki pkFirma=Firma_id
                list.Add(new SqlParameter("@Siparis", "1"));
                list.Add(new SqlParameter("@fkKullanici", DB.fkKullanicilar));
                list.Add(new SqlParameter("@fkSatisDurumu", "2"));
                if (txtAciklama.Text == "")
                {
                    list.Add(new SqlParameter("@Aciklama", DBNull.Value));
                }
                else
                {
                    list.Add(new SqlParameter("@Aciklama", txtAciklama.Text));
                }

                list.Add(new SqlParameter("@OdenenKrediKarti", "0"));
                list.Add(new SqlParameter("@CekTutar", "0"));
                list.Add(new SqlParameter("@AlinanPara", "0"));
                list.Add(new SqlParameter("@ToplamTutar", aidat_tutari.ToString().Replace(",", ".")));
                list.Add(new SqlParameter("@Odenen", "0"));
                list.Add(new SqlParameter("@AcikHesap", aidat_tutari.ToString().Replace(",", ".")));
                list.Add(new SqlParameter("@OdemeSekli", "Açık Hesap"));
                list.Add(new SqlParameter("@GuncellemeTarihi", TeslimTarihi.DateTime));
                list.Add(new SqlParameter("@fkSatisFiyatlariBaslik", "1"));
                list.Add(new SqlParameter("@BonusOdenen", "0"));
                list.Add(new SqlParameter("@OncekiBakiye", "0"));
                list.Add(new SqlParameter("@NakitOdenen", "0"));

                sql = "INSERT INTO Satislar (Tarih,fkFirma,Siparis,fkKullanici,fkSatisDurumu,Aciklama,OdemeSekli,fkSatisFiyatlariBaslik,ToplamTutar,Odenen,AcikHesap,EskiFis,AlinanPara,BilgisayarAdi,GuncellemeTarihi,OdenenKrediKarti,CekTutar,BonusOdenen,OncekiBakiye,NakitOdenen,aktarildi)" +
                      " values(@Tarih,@fkFirma,@Siparis,@fkKullanici,@fkSatisDurumu,@Aciklama,@OdemeSekli,@fkSatisFiyatlariBaslik,@ToplamTutar,@Odenen,@AcikHesap,@EskiFis,@AlinanPara,'Aktarım',@GuncellemeTarihi,@OdenenKrediKarti,@CekTutar,@BonusOdenen,@OncekiBakiye,@NakitOdenen,1) select IDENT_CURRENT('Satislar')";

                bool   islembasarili   = true;
                string yeni_pkSatislar = DB.ExecuteScalarSQLTrans(sql, list);

                if (yeni_pkSatislar.Substring(0, 1) == "H")
                {
                    islembasarili = false;
                    //listBoxControl1.Items.Add("Satislar Hata Fiş No: " + pkSatislar + " Hata:" + yeni_pkSatislar);
                }
                #endregion

                #region islembasarili ise Satış Detayları aktar
                if (islembasarili)
                {
                    ArrayList list2 = new ArrayList();
                    list2.Add(new SqlParameter("@fkSatislar", yeni_pkSatislar));
                    list2.Add(new SqlParameter("@fkStokKarti", fkStokKarti));    //fkStokKarti));//ana pc deki stokkarti id =pkStokKarti
                    list2.Add(new SqlParameter("@Tarih", TeslimTarihi.DateTime));
                    list2.Add(new SqlParameter("@Adet", "1"));
                    list2.Add(new SqlParameter("@AlisFiyati", "0"));
                    list2.Add(new SqlParameter("@SatisFiyati", aidat_tutari.ToString().Replace(",", ".")));
                    list2.Add(new SqlParameter("@NakitFiyat", aidat_tutari.ToString().Replace(",", ".")));
                    list2.Add(new SqlParameter("@iade", "0"));
                    list2.Add(new SqlParameter("@KdvOrani", "0"));
                    //if (iskontotutar == "") iskontotutar = "0";
                    list2.Add(new SqlParameter("@iskontotutar", "0"));
                    //if (iskontoyuzdetutar == "") iskontoyuzdetutar = "0";
                    list2.Add(new SqlParameter("@iskontoyuzdetutar", "0"));

                    sql = "INSERT INTO SatisDetay (fkSatislar,fkStokKarti,Tarih,Adet,AlisFiyati,SatisFiyati,NakitFiyat,iade,KdvOrani,iskontotutar,iskontoyuzdetutar,Faturaiskonto,isKdvHaric,GercekAdet) " +
                          " values(@fkSatislar,@fkStokKarti,@Tarih,@adet,@AlisFiyati,@SatisFiyati,@NakitFiyat,@iade,@KdvOrani,@iskontotutar,@iskontoyuzdetutar,0,0,1)";

                    string sonuc = DB.ExecuteSQLTrans(sql, list2);

                    if (sonuc.Substring(0, 1) == "H")
                    {
                        islembasarili = false;
                        //listBoxControl1.Items.Add("SatisDetay Hata Fiş No: " + pkSatislar + " Hata:" + sonuc);
                        //break;//ikinci döngünün içinden çıkması için islembasarili sonraki döngü hatasız ise hatalı olan aktarılmamış olur.
                    }

                    //}
                }
                #endregion

                #region Taksitler
                //private void TaksitlereBol()
                //{
                #region Taksit ekle
                //taksit başlık bilgisi
                //if (taksit_id.Text == "0")
                //{
                ArrayList listt = new ArrayList();
                listt.Add(new SqlParameter("@fkFirma", fkFirma));
                listt.Add(new SqlParameter("@aciklama", txtAciklama.Text));
                listt.Add(new SqlParameter("@kefil", ""));
                listt.Add(new SqlParameter("@mahkeme", ""));
                listt.Add(new SqlParameter("@fkSatislar", yeni_pkSatislar));
                listt.Add(new SqlParameter("@fkKullanici", DB.fkKullanicilar));

                sql = @"insert into Taksit(fkFirma,tarih,aciklama,kefil,mahkeme,fkSatislar,fkKullanici)
                    values(@fkFirma,getdate(),@aciklama,@kefil,@mahkeme,@fkSatislar,@fkKullanici) SELECT IDENT_CURRENT('Taksit')";

                string taksit_id = DB.ExecuteScalarSQLTrans(sql, listt);
                //taksit_id.Text = sonuc;
                //}

                #endregion

                //decimal ToplamOdenen = 0;

                //DateTime HesabaGecisTarih = TilkTaksitTarihi.DateTime;
                //DateTime gruplandir = DateTime.Now;
                //for (int i = 0; i < TAdet.Value; i++)
                {
                    ArrayList list2 = new ArrayList();
                    //list.Add(new SqlParameter("@fkFirma", teMusteri.Tag.ToString()));
                    list2.Add(new SqlParameter("@Tarih", TeslimTarihi.DateTime));

                    //if (checkEdit1.Checked && i == TAdet.Value - 1)
                    //{
                    //list.Add(new SqlParameter("@Odenecek", (ToplamTutar.Value - ToplamOdenen).ToString().Replace(",", ".")));
                    //}
                    //else
                    list2.Add(new SqlParameter("@Odenecek", aidat_tutari.ToString().Replace(",", ".")));

                    list2.Add(new SqlParameter("@Odenen", "0"));
                    list2.Add(new SqlParameter("@SiraNo", (i + 1).ToString()));
                    list2.Add(new SqlParameter("@HesabaGecisTarih", TeslimTarihi.DateTime));
                    list2.Add(new SqlParameter("@taksit_id", taksit_id));

                    DB.ExecuteSQLTrans(" INSERT INTO Taksitler (Tarih,Odenecek,Odenen,SiraNo,HesabaGecisTarih,OdemeSekli,Kaydet,taksit_id)" +
                                       " VALUES(@Tarih,@Odenecek,@Odenen,@SiraNo,@HesabaGecisTarih,'Taksit (Senet)',0,@taksit_id)", list2);

                    //HesabaGecisTarih = HesabaGecisTarih.AddMonths(1);
                    //ToplamOdenen = ToplamOdenen + ceTaksitTutari.Value;
                }

                //Taksitler();
                //taksit_id.Text = "0";
                //}
                #endregion

                #region trans. işlemi
                if (islembasarili)
                {
                    //local sunucu
                    DB.transaction.Commit();
                    hatasiz++;
                    //listBoxControl1.Items.Add("Fiş No: " + pkSatislar + " Başarılı" );
                }
                else
                {
                    //locak sunucuyu kapat
                    //if (DB.conTrans != null && DB.conTrans.State == ConnectionState.Open)
                    DB.transaction.Rollback();
                    hatali++;
                    //listBoxControl1.Items.Add("Hatalı Fiş No: " + pkSatislar + " Hatalı");
                }
                #endregion
            }
            DB.conTrans.Close();

            //formislemleri.Mesajform(say.ToString() + " Adet Aidat Fişi Oluşturuldu", "S", 200);

            MusteriGetir();
        }
Ejemplo n.º 2
0
        private void simpleButton3_Click(object sender, EventArgs e)
        {
            DataTable dt = DB.GetData("SELECT * FROM Envanter with(nolock) where convert(varchar(10),Donem,112)='" +
                                      ilkdate.DateTime.ToString("yyyyMMdd") + "'");

            if (dt.Rows.Count > 0)
            {
                MessageBox.Show("Daha Önce " + ilkdate.DateTime.ToString("dd.MM.yyyy") + " Olarak Kaydedildi. \r Lütfen Başka Bir Dönem Seçiniz!");
                ilkdate.Focus();
                return;
            }
            try
            {
                if (DB.conTrans == null)
                {
                    DB.conTrans = new SqlConnection(DB.ConnectionString());
                    //DB.conTrans.Open();
                    //transaction = conTrans.BeginTransaction("AdemTransaction");
                }
                if (DB.conTrans.State == ConnectionState.Closed)
                {
                    //DB.conTrans = new SqlConnection(DB.ConnectionString());
                    DB.conTrans.Open();
                    //transaction = conTrans.BeginTransaction("AdemTransaction");
                }
                //DB.conTrans.BeginTransaction();
                DB.transaction = DB.conTrans.BeginTransaction("AdemTransaction");

                string yeni_id =
                    DB.ExecuteScalarSQLTrans("INSERT INTO Envanter (Donem,Tarih,Aciklama) values('" + ilkdate.DateTime.ToString("yyyy-MM-dd") + "',getdate(),'" + tEaciklama.Text + "') select IDENT_CURRENT('Envanter');");
                int hatali = 0, say = 0;

                frmYukleniyor yukleniyor = new frmYukleniyor();
                yukleniyor.labelControl1.Text = "Envanter Oluşturuluyor Lütfen Bekleyiniz...";
                yukleniyor.TopMost            = true;
                yukleniyor.Show();

                for (int i = 0; i < gridView1.DataRowCount; i++)
                {
                    DataRow dr = gridView1.GetDataRow(i);
                    //TODO:trans kullanılacak
                    ArrayList list = new ArrayList();
                    list.Add(new SqlParameter("@fkEnvanter", yeni_id));
                    list.Add(new SqlParameter("@fkStokKarti", dr["pkStokKarti"].ToString().Replace(",", ".")));
                    list.Add(new SqlParameter("@Adet", dr["Mevcut"].ToString().Replace(",", ".")));
                    list.Add(new SqlParameter("@AlisFiyati", dr["AlisiskEnvanter"].ToString().Replace(",", ".")));
                    list.Add(new SqlParameter("@SatisFiyati", dr["SatisiskEnvanter"].ToString().Replace(",", ".")));

                    string sonuc = DB.ExecuteSQLTrans(@"INSERT INTO EnvanterDetay (fkEnvanter,fkStokKarti,Adet,AlisFiyati,SatisFiyati) 
                    values(@fkEnvanter,@fkStokKarti,@Adet,@AlisFiyati,@SatisFiyati)", list);
                    if (sonuc == "-1")
                    {
                        hatali++;
                    }
                    else
                    {
                        say++;
                    }
                }

                yukleniyor.Close();
                if (hatali == 0)
                {
                    MessageBox.Show("Envanter Kaydedildi");
                }
                else
                {
                    MessageBox.Show(hatali.ToString() + " hatalı");
                }
            }
            catch (Exception exp)
            {
                try
                {
                    DB.transaction.Rollback();
                }
                catch (Exception ex2)
                {
                    DB.conTrans.Close();

                    MessageBox.Show("Rollback Exception Type: {0}", ex2.GetType().ToString());
                    MessageBox.Show("  Message: {0}", ex2.Message);
                }
                //DB.conTrans.Close();
                //return;
            }
            finally
            {
                DB.transaction.Commit();
                //DB.conTrans.Close();
            }
            DB.conTrans.Close();
        }