Faturamatik Fatura Ödeme Kodu Yeni Webservis

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.Data.OleDb;
using System.Security.Cryptography;
using System.Runtime.InteropServices;

namespace FaturamatikYeni
{
public partial class FaturamatikYeni : Form
{

string tutar, sonodeme,dosyaYolu;
float fatura_tutari = 0;

[DllImport(“kernel32.dll”)]
static extern uint GetPrivateProfileString(
string lpAppName, string lpKeyName, string lpDefault, StringBuilder lpReturnedString, int nSize, string lpFileName);

OleDbConnection con;
OleDbDataAdapter da;
OleDbCommand cmd;
DataSet ds;

// foyfatura.FoyNewMerchantWSSoapClient fatura = new foyfatura.FoyNewMerchantWSSoapClient();

faturamatik.FaturamatikApi apiServis = new faturamatik.FaturamatikApi();
faturamatik.BayiGirisBilgisi girisBilgisi;

faturamatik.BayiBilgisi girisSonucu;

public static string alMD5Hash(string input)
{
MD5CryptoServiceProvider x = new MD5CryptoServiceProvider();
byte[] bs = Encoding.GetEncoding(“iso-8859-9”).GetBytes(input);
bs = x.ComputeHash(bs);

System.Text.StringBuilder s = new System.Text.StringBuilder();
foreach (byte b in bs) s.Append(b.ToString(“X2”).ToLower());
return s.ToString();
}

void griddoldur()
{

con = new OleDbConnection(“Provider=Microsoft.ACE.Oledb.12.0;Data Source=faturamatik.mdb”);
da = new OleDbDataAdapter(“Select * from faturamatik where DURUM=’bos’ and BARKOD=’bos’ “, con);
ds = new DataSet();
con.Open();
da.Fill(ds, “fatura”);
dataGridView1.DataSource = ds.Tables[“fatura”];
//con.Close();
}

void fatura_sorgula()
{

griddoldur();

String sql = “Select * from faturamatik where DURUM=’bos’ and BARKOD=’bos’ “;

OleDbCommand komut = new OleDbCommand(sql, con);

int Count = Convert.ToInt32(komut.ExecuteScalar());

if (Count != 0)
{

OleDbDataReader oku = komut.ExecuteReader();
while (oku.Read())
{
txsorgu_id.Text = oku[“ID”].ToString();
txkurumno.Text = oku[“KURUM”].ToString();
txaboneno1.Text = oku[“TESISAT_NO”].ToString();
txaboneno2.Text = oku[“REFERANS_NO”].ToString();
tutar = oku[“TUTAR”].ToString();
sonodeme = oku[“SON_ODEME”].ToString();

var sorgu = apiServis.FaturaSorgula(girisBilgisi, txkurumno.Text, txaboneno1.Text, txaboneno2.Text);

if (!sorgu.Basarili)
{
richTextBox1.Text = sorgu.IslemSonucu;
return;
}
else { richTextBox1.Text = sorgu.ToString(); }

foreach (var fatura in sorgu.FaturaListesi)
{

string FaturaId = fatura.FaturaNo.ToString();
string SonOdemeTarihi = fatura.SonOdeme.ToString(“dd.MM.yyyy”);
string FaturaTutari = fatura.Tutar.ToString();

float vt_tutar = float.Parse(tutar);
fatura_tutari = float.Parse(fatura.Tutar.ToString());

richTextBox1.Text += FaturaId + Environment.NewLine + SonOdemeTarihi + Environment.NewLine + FaturaTutari + Environment.NewLine;

//SON ÖDEME VE TUTAR KONTROLÜ YAP

if ((fatura_tutari – vt_tutar <= 1) && (fatura_tutari – vt_tutar>= 0))
{
if (sonodeme.Trim() == SonOdemeTarihi.Trim())
{

String sql1 = “UPDATE faturamatik SET FATURA_NO='” + FaturaId + “‘, DURUM=’SORGULANDI’, BARKOD=’SORGULANDI’ WHERE ID=” + txsorgu_id.Text + ” AND SON_ODEME='” + SonOdemeTarihi + “‘ “;

OleDbCommand kmt1 = new OleDbCommand(sql1, con);
kmt1.ExecuteNonQuery();

}
else
{

String sql1 = “UPDATE faturamatik SET DURUM=’Sorgu Başarısız’ WHERE ID=” + txsorgu_id.Text + “”;
OleDbCommand kmt1 = new OleDbCommand(sql1, con);
kmt1.ExecuteNonQuery();

}

}
else
{

String sql1 = “UPDATE faturamatik SET DURUM=’Yüksek Tutar Farkı’ WHERE ID=” + txsorgu_id.Text + ” “;
OleDbCommand kmt1 = new OleDbCommand(sql1, con);
kmt1.ExecuteNonQuery();

}

}

System.Threading.Thread.Sleep(2000);

}

}

}

void fatura_ode()
{

griddoldur();

String sql = “Select * from faturamatik where DURUM=’bos’ AND BARKOD=’bos’ “;

OleDbCommand komut = new OleDbCommand(sql, con);

int Count = Convert.ToInt32(komut.ExecuteScalar());

if (Count != 0)
{

OleDbDataReader oku = komut.ExecuteReader();
while (oku.Read())
{

txsorgu_id.Text = oku[“ID”].ToString();
txkurumno.Text = oku[“KURUM”].ToString();
txaboneno1.Text = oku[“TESISAT_NO”].ToString();
txaboneno2.Text = oku[“REFERANS_NO”].ToString();
tutar = oku[“TUTAR”].ToString();
sonodeme = oku[“SON_ODEME”].ToString();
string fatura_no = oku[“FATURA_NO”].ToString();

float vttutar = float.Parse(oku[“TUTAR”].ToString().Trim());
int odeme = 0;

Faturalar.Items.Clear();

var sorguSonucu = apiServis.FaturaSorgula(girisBilgisi, txkurumno.Text, txaboneno1.Text, txaboneno2.Text);

if (sorguSonucu.Basarili)
{

foreach (var fatura in sorguSonucu.FaturaListesi)
{

string FaturaId = fatura.FaturaNo.ToString();
string FaturaTutari = fatura.Tutar.ToString();
string SonOdemeTarihi = fatura.SonOdeme.ToString(“dd.MM.yyyy”);

fatura_tutari = float.Parse(fatura.Tutar.ToString());

// MessageBox.Show( fatura_tutari.ToString() + ” – ” + vttutar.ToString());

if ((sonodeme.Trim() == SonOdemeTarihi.Trim()) && (fatura_tutari – vttutar <= 1) && (fatura_tutari – vttutar>= 0))
{
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);

String sql1 = “UPDATE faturamatik SET FATURA_ID='” + FaturaId + “‘, DURUM=’SORGULANDI’, BARKOD=’SORGULANDI’ WHERE ID=” + txsorgu_id.Text + ” AND SON_ODEME='” + SonOdemeTarihi + “‘ “;
OleDbCommand kmt1 = new OleDbCommand(sql1, con);
kmt1.ExecuteNonQuery();

List<faturamatik.Fatura> odenecekFaturalar = new List<faturamatik.Fatura>();

foreach (ListViewItem o in Faturalar.Items)
{
odenecekFaturalar.Add((faturamatik.Fatura)o.Tag);

}

string odemeRefID = “”;

var sonuc = apiServis.FaturaOde(girisBilgisi, odenecekFaturalar.ToArray(), odemeRefID, false);

if (sonuc.Basarili){

double kalanbakiyem = sonuc.Bakiye;
string islem_id = sonuc.IslemID;

sql1 = “UPDATE faturamatik SET DURUM=’Ödeme Yapıldı’,BARKOD='” + islem_id + “‘ where FATURA_ID='” + FaturaId + “‘ “;
kmt1 = new OleDbCommand(sql1, con);
kmt1.ExecuteNonQuery();
odeme = 1;

}
else
{

sql1 = “UPDATE faturamatik SET BARKOD='” + sonuc.IslemSonucu + “‘ where FATURA_ID='” + FaturaId + “‘ “;
kmt1 = new OleDbCommand(sql1, con);
kmt1.ExecuteNonQuery();

}

}

else
{

if (odeme == 0)
{
String sql1 = “UPDATE faturamatik SET DURUM=’Sorgu Başarısız’ WHERE ID=” + txsorgu_id.Text + “”;
OleDbCommand kmt1 = new OleDbCommand(sql1, con);
kmt1.ExecuteNonQuery();
}

}

}
}
else
{

String sql1 = “UPDATE faturamatik SET DURUM=’Sorgu Başarısız’ WHERE ID=” + txsorgu_id.Text + “”;
OleDbCommand kmt1 = new OleDbCommand(sql1, con);
kmt1.ExecuteNonQuery();
}

System.Threading.Thread.Sleep(2000);

}

}

}

public FaturamatikYeni()
{
InitializeComponent();
}

private void button2_Click(object sender, EventArgs e)
{

if (timer1.Enabled == true)
{

timer1.Enabled = false;
button2.Text = “Sorguya Başla”;

}

else
{

timer1.Enabled = true;
button2.Text = “Sorguyu Durdur”;

}
}

private void timer1_Tick(object sender, EventArgs e)
{
timer1.Enabled = false;
fatura_sorgula();
timer1.Enabled = true;
}

private void timer2_Tick(object sender, EventArgs e)
{
timer2.Enabled = false;
fatura_ode();
timer2.Enabled = true;
}

private void button3_Click(object sender, EventArgs e)
{

if (timer2.Enabled == true)
{

timer2.Enabled = false;
button3.Text = “Ödemeye Başla”;

}

else
{

timer2.Enabled = true;
button3.Text = “Ödemeyi Durdur”;

}
}

private void button1_Click(object sender, EventArgs e)
{

}

private void btnsorgula_Click(object sender, EventArgs e)
{

}

private void btnbakiye_Click(object sender, EventArgs e)
{

}

private void btnfaturaborcutahsil_Click(object sender, EventArgs e)
{

}

private void FaturamatikYeni_Load(object sender, EventArgs e)
{

dosyaYolu = Application.StartupPath + “\\Settings.ini”;

StringBuilder sb = new StringBuilder(500);

GetPrivateProfileString(“BAYI”, “KODU”, “”, sb, sb.Capacity, dosyaYolu);
bayikodu.Text = sb.ToString();
GetPrivateProfileString(“BAYI”, “TID”, “”, sb, sb.Capacity, dosyaYolu);
tid.Text = sb.ToString();
GetPrivateProfileString(“BAYI”, “PAROLA”, “”, sb, sb.Capacity, dosyaYolu);
parola.Text = sb.ToString();

string BayiKodu = bayikodu.Text;
string TID = tid.Text;
string Sifre = parola.Text;

// girisBilgisi = new faturamatik.BayiGirisBilgisi { BayiKodu = BayiKodu, TID = TID, SifreMD5 = alMD5Hash(Sifre) };
girisBilgisi = new faturamatik.BayiGirisBilgisi { BayiKodu = BayiKodu, TID = TID, SifreMD5 = Sifre };

girisSonucu = apiServis.Giris(girisBilgisi);

if (!girisSonucu.Basarili)
{
MessageBox.Show(girisSonucu.IslemSonucu);
return;
}

// Girişte alınan OturumID bilgisi artık tüm işlemlerde gönderilmelidir
girisBilgisi.OturumID = girisSonucu.OturumID;

var kurumListesiSonucu = apiServis.KurumListesi(girisBilgisi);

if (!kurumListesiSonucu.Basarili)
{
MessageBox.Show(kurumListesiSonucu.IslemSonucu);
return;
}

foreach (var kurum in kurumListesiSonucu.KurumListesi)
{
// richTextBox1.Lines.Add(kurum.KurumKodu);
}

Text = “Bakiye: ” + girisSonucu.Bakiye;
}

}
}

Bir cevap yazın

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