Faturamatik Fatura Ödeme Web Servis Örnek Kodu

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.OleDb;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using fatura_ode.yeni_servis;
using fatura_ode.faturamatik_test;

namespace fatura_ode
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}

//public FaturaOdemeServis yonca_fatura = new yeni_servis.FaturaOdemeServis();

public FaturamatikApi yonca_faturamatik = new faturamatik_test.FaturamatikApi();

const string BayiKodu = “xxxxxxxxxx”;
const string TID = “xxxxxxxxxxx”;
const string Sifre = “xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx”;

public BayiGirisBilgisi girisBilgisi = new faturamatik_test.BayiGirisBilgisi { BayiKodu = BayiKodu, TID = TID, SifreMD5 = Sifre };

faturamatik_test.BayiBilgisi girisSonucu;

void odenecek_faturalari_getir(DataSet ds,int sayi)
{
progressBar1.Value = 0;
double progress_artis = (100 / sayi);
int artis = Convert.ToInt32(progress_artis);

//veritanbanımdaki kayıtları tek tek sorguluyan döngü
for (int i = 0; i < sayi; i++)
{

if (progressBar1.Value < 100)
{
progressBar1.Value +=artis;
}

progressBar2.Value = 0;

string idy = ds.Tables[0].Rows[i][0].ToString();
string kurum = ds.Tables[0].Rows[i][1].ToString();
string tesisat_no = ds.Tables[0].Rows[i][2].ToString();
string referans_no = ds.Tables[0].Rows[i][3].ToString();
string fatura_sahibi = ds.Tables[0].Rows[i][4].ToString();
string fatura_no = ds.Tables[0].Rows[i][5].ToString();
string tutar = ds.Tables[0].Rows[i][6].ToString();
string son_odeme = ds.Tables[0].Rows[i][7].ToString();
string tid = txt_tid.Text;
string bayi_koduu = txt_bayi_kodu.Text;

progressBar2.Value = 30;
txt_id.Text = idy;
txt_kurum.Text = kurum;
txt_tesisat_no.Text = tesisat_no;
txt_referans_no.Text = referans_no;
txt_fatura_sahibi.Text = fatura_sahibi;
txt_fatura_no.Text = fatura_no;
txt_tutar.Text = tutar;
txt_son_odeme_tarihi.Text = son_odeme;

string[] fatura_nolar = new string[10];
string[] fatura_son_odeme_tarihleri = new string[10];
string[] fatura_tutarlar = new string[10];

kayit_guncelle_olumlu(“SORGULANDI”, “SORGULANDI”, idy);

if (kurum == “IZSU”) {
if (tesisat_no.Substring(0, 2) == “00”) {
tesisat_no = tesisat_no.Substring(2,8);
}

if (tesisat_no.Substring(0, 1) == “0”)
{
tesisat_no = tesisat_no.Substring(1, 9);
}

}

//FaturaSonuc sorgu_sonucum =yonca_fatura.FaturaSorgula(bayi_koduu, tid, kurum, tesisat_no, referans_no);
var sorgu_sonucum = yonca_faturamatik.FaturaSorgula(girisBilgisi, kurum, tesisat_no, referans_no);

foreach (var fatura in sorgu_sonucum.FaturaListesi)
{
ListViewItem oge = new ListViewItem(fatura.FaturaNo);
oge.SubItems.Add(fatura.SonOdeme.ToString(“dd.MM.yyyy”));
oge.SubItems.Add(fatura.Tutar.ToString());
oge.Tag = fatura;
Faturalar.Items.Add(oge);
}

int adet =sorgu_sonucum.FaturaAdedi;
fatura_nolar = sorgu_sonucum.FaturaNolar;
fatura_son_odeme_tarihleri = sorgu_sonucum.SonOdemeler;
fatura_tutarlar=sorgu_sonucum.Tutarlar;

if (adet > 0)
{

for (int j = 0; j < adet; j++)
{
progressBar2.Value = 90;
string gelen_son_odeme = fatura_son_odeme_tarihleri[j];
string gelen_tutar = fatura_tutarlar[j];
string bizim_tutar = tutar.Replace(“,”, “.”);

if (kurum == “IZSU”)
{
if (gelen_tutar != bizim_tutar)
{
bizim_tutar = bizim_tutar+”00″;
}

}

//alt faturalarda tarihler ve tutarlar eşitse kontrolu
if (kurum != “ISKI” && gelen_tutar == bizim_tutar && gelen_son_odeme == son_odeme)
{

string gelen_fatura_no = fatura_nolar[j];
Sonuc sonuc = new Sonuc();
//sadece bir kere servise gönderiyor

sonuc = yonca_fatura.FaturaEkle(bayi_koduu, tid, kurum, tesisat_no, referans_no, fatura_sahibi, gelen_fatura_no, tutar, son_odeme, false);

string islem_sonucu = “”;
string barkod_kodu = sonuc.BarkodKodu;
txt_barkod.Text = barkod_kodu;
islem_sonucu = sonuc.IslemSonucu.ToString();

if (islem_sonucu != “”)
{
if (barkod_kodu == null) barkod_kodu = “BOŞ BARKOD”;
kayit_guncelle_olumlu(barkod_kodu, islem_sonucu, idy);
}
else
{

list_mesaj.Items.Add(“İŞLEM SONUCU DÖNMEDİ” + ” : ” + DateTime.Now.ToString());
//kayit_guncelle_olumsuz(“İŞLEM SONUCU DÖNMEDİ”, idy);
}

}
else
{

//kayit_guncelle_olumsuz(“TUTAR VE SON ÖDEME TARİHİ EŞLEŞMİYOR”, idy);
list_mesaj.Items.Add(“TUTAR VE SON ÖDEME TARİHİ EŞLEŞMİYOR” + ” : ” + DateTime.Now.ToString());
}

//iski için tutar kontrolü yok

//alt faturalarda tarihler ve tutarlar eşitse kontrolu
if (kurum == “ISKI” && gelen_son_odeme == son_odeme)
{

string gelen_fatura_no = fatura_nolar[j];
Sonuc sonuc = new Sonuc();
//sadece bir kere servise gönderiyor

sonuc = yonca_fatura.FaturaEkle(bayi_koduu, tid, kurum, tesisat_no, referans_no, fatura_sahibi, gelen_fatura_no, tutar, son_odeme, false);

string islem_sonucu = “”;
string barkod_kodu = sonuc.BarkodKodu;
txt_barkod.Text = barkod_kodu;
islem_sonucu = sonuc.IslemSonucu.ToString();

if (islem_sonucu != “”)
{
if (barkod_kodu == null) barkod_kodu = “BOŞ BARKOD”;
kayit_guncelle_olumlu(barkod_kodu, islem_sonucu, idy);
}
else
{

list_mesaj.Items.Add(“İŞLEM SONUCU DÖNMEDİ” + ” : ” + DateTime.Now.ToString());
//kayit_guncelle_olumsuz(“İŞLEM SONUCU DÖNMEDİ”, idy);
}

}
else
{

//kayit_guncelle_olumsuz(“TUTAR VE SON ÖDEME TARİHİ EŞLEŞMİYOR”, idy);
list_mesaj.Items.Add(“TUTAR VE SON ÖDEME TARİHİ EŞLEŞMİYOR” + ” : ” + DateTime.Now.ToString());
}

}

}
else
{
//kayit_guncelle_olumsuz(“ALT FATURA ADEDİ SIFIR”, idy);
list_mesaj.Items.Add(“ALT FATURA ADEDİ SIFIR” + ” : ” + DateTime.Now.ToString());
}

progressBar2.Value = 100;
}

progressBar1.Value = 100;
}

void kayit_guncelle_olumlu(string barkod_kodu, string islem_sonucu,string idy)
{

OleDbConnection bag = new OleDbConnection(“Provider = Microsoft.jet.oledb.4.0; data source=faturamatik.mdb”);
OleDbCommand kmt = new OleDbCommand();
kmt.Connection = bag;
int idx = Convert.ToInt32(idy);
string sql2 = “UPDATE faturamatik SET BARKOD='” + barkod_kodu + “‘, DURUM='” + islem_sonucu + “‘ WHERE ID=” + idx + “”;
//string sql2 = “UPDATE faturamatik SET BARKOD='” + barkod_kodu + “‘, DURUM=’BEKLİYOR’ WHERE ID=” + idx + “”;
kmt.CommandText = sql2;
bag.Open();
kmt.ExecuteNonQuery();
bag.Close();

}

void kayit_guncelle_olumsuz(string islem_sonucu, string idy)
{

OleDbConnection bag22 = new OleDbConnection(“Provider = Microsoft.jet.oledb.4.0; data source=faturamatik.mdb”);
OleDbCommand kmt = new OleDbCommand();
kmt.Connection = bag22;
int idx = Convert.ToInt32(idy);
string sql22 = “UPDATE faturamatik SET BARKOD='” + “ÖDENEMEDİ” + “‘, DURUM='” + islem_sonucu + “‘ WHERE ID=” + idx + “”;
//string sql2 = “UPDATE faturamatik SET BARKOD='” + barkod_kodu + “‘, DURUM=’BEKLİYOR’ WHERE ID=” + idx + “”;
kmt.CommandText = sql22;
bag22.Open();
kmt.ExecuteNonQuery();
bag22.Close();
list_mesaj.Items.Add(islem_sonucu + ” : ” + DateTime.Now.ToString());

}

private void fatura_sorgula()
{
list_mesaj.Items.Clear();
progressBar1.Value = 0;
try
{

lbl_listelenme_saati.Text = (DateTime.Now.ToString()).ToString();
bilgileri_al();

DataSet ds = new DataSet();
OleDbConnection baglanti = new OleDbConnection(“Provider = Microsoft.jet.oledb.4.0; data source=faturamatik.mdb”);
baglanti.Open();

string sql = “select * from faturamatik where barkod=’bos'”;
OleDbDataAdapter verial = new OleDbDataAdapter(sql, baglanti);
verial.Fill(ds);
int sayi = ds.Tables[0].Rows.Count;
baglanti.Close();

if (sayi > 0)
{

odenecek_faturalari_getir(ds, sayi);

}
else
{
list_mesaj.Items.Clear();
list_mesaj.Items.Add(“ÖDENECEK FAURA YOK : ” + DateTime.Now.ToString());
}

}
catch
{
list_mesaj.Items.Clear();
list_mesaj.Items.Add(“BİLİNMEYEN HATA OLUŞTU : ” + DateTime.Now.ToString());

}

}

void bilgileri_al()
{

string yol = Application.StartupPath + “\\bilgiler.ini”;
StreamReader oku = new StreamReader(yol);
list_bilgiler.Items.Clear();
try
{
do
{

list_bilgiler.Items.Add(oku.ReadLine());
}
while (oku.Peek() != -1);
}

catch
{

}

txt_bayi_kodu.Text = list_bilgiler.Items[0].ToString();
txt_tid.Text = list_bilgiler.Items[1].ToString();
}

private void Form2_Load(object sender, EventArgs e)
{
this.Top = 30;
this.Left = 350;
bilgileri_al();
}

private void btn_fatura_ode_Click(object sender, EventArgs e)
{
fatura_sorgula();

}

private void btn_cikis_Click(object sender, EventArgs e)
{
Application.Exit();
}

private void Form2_FormClosing(object sender, FormClosingEventArgs e)
{
Application.Exit();
}

void sure_ayarla()
{

lbl_saniye.Text = “60”;
string yazi = cmb_dk.Text;
if (yazi == “10 DK”)
{
lbl_dakika.Text = “9”;
}

else if (yazi == “8 DK”)
{
lbl_dakika.Text = “7”;
}
else if (yazi == “5 DK”)
{
lbl_dakika.Text = “4”;
}
else if (yazi == “3 DK”)
{
lbl_dakika.Text = “2”;
}
else if (yazi == “2 DK”)
{

lbl_dakika.Text = “1”;
}

}

private void say_Tick(object sender, EventArgs e)
{

if (lbl_saniye.Text == “0” && lbl_dakika.Text == “0”)
{
fatura_sorgula();

}

lbl_saniye.Text = (Convert.ToInt32(lbl_saniye.Text) – 1).ToString();
if (lbl_saniye.Text == “-1”)
{
lbl_dakika.Text = (Convert.ToInt32(lbl_dakika.Text) – 1).ToString();
lbl_saniye.Text = “60”;
if (lbl_dakika.Text == “-1”) sure_ayarla();

}
}

private void cmb_dk_SelectedIndexChanged(object sender, EventArgs e)
{
sure_ayarla();
}
}
}

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir