Database Yapısı

Ek 3: FrmMain.cs

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Xml;
using System.Windows.Forms;

namespace MikroSDK
{
public partial class FrmMain : Form
{ private myeDB.myeMainClass _myeMain;
private bool _dbConnectionOk;
private string _connectionString = "";

public FrmMain()
{ InitializeComponent();
_myeMain = new myeDB.myeMainClass(); }

private void FrmMain_Shown(object sender, EventArgs e)
{ loginToolStripMenuItem_Click(null, EventArgs.Empty); }

private void çıkışToolStripMenuItem_Click(object sender, EventArgs e)
{ Close(); }

private void loginToolStripMenuItem_Click(object sender, EventArgs e)
{ FrmLoginInfo loginInfoFrm = new FrmLoginInfo(_myeMain);
loginInfoFrm.ShowDialog();
logoutToolStripMenuItem.Enabled = _myeMain.Logged != 0;
loginInfoFrm.Dispose(); }

private void logoutToolStripMenuItem_Click(object sender, EventArgs e)
{ if (_myeMain.LogOff() == 0)
MessageBox.Show("Logout işlemi sırasında bir hata oluştu."); }

private void tableImportToolStripMenuItem1_Click(object sender, EventArgs e)
{ if (openFileDialog1.ShowDialog() == DialogResult.OK)
ShowResult(_myeMain.ImportXML(openFileDialog1.FileName)); }

private void ShowResult(int result)
{ if (result == 0)
MessageBox.Show("İşlem başarılı", "Sonuç", MessageBoxButtons.OK, MessageBoxIcon.Information);
else
{ string message = "";
switch (result)
{ case -1: message = "SONUC -1 : İşlem Başarısız. Tanımlanmamış Hata!"; break;
case 1: message = "SONUC 1 : Hatali Table No"; break;
case 2: message = "SONUC 2 : Hatali Parametre No"; break;
case 3: message = "SONUC 3 : Header`da Tanim (APN) dosyasi belirtilmemis"; break;
case 4: message = "SONUC 4 : Tanim dosyasi yok"; break;
case 5: message = "SONUC 5 : Import dosyasi bulunamadi yada XML Hatali"; break;
case 6: message = "SONUC 6 : Tekrarlayan Index"; break;
case 7: message = "SONUC 7 : Sirket Bulunamadi"; break;
case 8: message = "SONUC 8 : Kullanici / Sifre Hatali"; break;
case 9: message = "SONUC 9 : Firma Calisma dizini Hatali"; break;
case 10: message = "SONUC 10 : Parametre Hatasi"; break;
case 11: message = "SONUC 11 : Firma Yolu Bulunamadi"; break;
case 12: message = "SONUC 12 : Firma Bilgileri Bulunamadi"; break;
case 13: message = "SONUC 13 : Export Dosyasi Yaratilamiyor"; break;
case 14: message = "SONUC 14 : Alan ismi Bulunamadi"; break;
case 15: message = "SONUC 15 : Sisteme Girilmemis"; break;
case 16: message = "SONUC 16 : Kayit yapilamadi"; break;
default: message = String.Format("SONUC {0} : Hatanın kapsamı bilinmiyor", result); break; }
MessageBox.Show(message, "Hata", MessageBoxButtons.OK, MessageBoxIcon.Error); }
}

private void tableExportToolStripMenuItem_Click(object sender, EventArgs e)
{ if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{ FrmTableSelect tableSelect = new FrmTableSelect();
if (tableSelect.ShowDialog() == DialogResult.OK)
ShowResult(_myeMain.ExportXML(tableSelect.SelectedTableNo, 1, saveFileDialog1.FileName));
tableSelect.Dispose(); } }

private void evrakImportToolStripMenuItem_Click(object sender, EventArgs e)
{ MessageBox.Show("Ekrana gelecek ilk pencere yardımyla XML dosyasını seçmeniz gerekmekte.\nDaha sonra gelecek pencere yardımıyla ise XSL dosyasını seçmelisiniz.\nEğer XML formatı olarak Mikro'nun yapısını kullanmak istiyorsanız XSL dosyası seçimini iptal ediniz.");
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{ string xmlPath = openFileDialog1.FileName;
string xslPath = openFileDialog1.ShowDialog() == DialogResult.OK ?
openFileDialog1.FileName : "";
ShowResult(_myeMain.EvrakImportXML(xmlPath, xslPath)); } }

private void openLogToolStripMenuItem_Click(object sender, EventArgs e)
{ if (openFileDialog1.ShowDialog() == DialogResult.OK)
richTextBox1.LoadFile(openFileDialog1.FileName); }

private void createXMLToolStripMenuItem_Click(object sender, EventArgs e)
{ if (CheckConnection())
{ FrmTableSelect frmTableSelect = new FrmTableSelect();
if (frmTableSelect.ShowDialog() == DialogResult.OK)
{ XmlElement root = CreateBaseDocument();
XmlElement table = root.OwnerDocument.CreateElement("Table");
table.InnerText = frmTableSelect.SelectedTableNo.ToString();
root.AppendChild(table);

XmlElement param = root.OwnerDocument.CreateElement("Param");
param.InnerText = "1";
root.AppendChild(param);

XmlElement row = root.OwnerDocument.CreateElement("row");
InsertFields(row, frmTableSelect.SelectedTableName);
root.AppendChild(row);
WriteDocument(root.OwnerDocument); }
frmTableSelect.Dispose(); } }

private bool CheckConnection()
{ if (!_dbConnectionOk)
toolStripMenuItem1_Click(null, EventArgs.Empty);
return _dbConnectionOk; }

private void toolStripMenuItem1_Click(object sender, EventArgs e)
{ FrmConnectionString connStrFrm = new FrmConnectionString();
if (connStrFrm.ShowDialog() == DialogResult.OK)
{ _dbConnectionOk = true;
_connectionString = connStrFrm.ConnectionString; }
connStrFrm.Dispose(); }

private XmlElement CreateBaseDocument()
{ XmlDocument document = new XmlDocument();
XmlDeclaration declaration = document.CreateXmlDeclaration("1.0", "Windows-1254", null);
document.AppendChild(declaration);
XmlElement root = document.CreateElement("Mikro");
document.AppendChild(root);
return root; }

private void InsertFields(XmlElement rowElement, string tableName)
{ SqlConnection connection = new SqlConnection(_connectionString);
SqlCommand cmd = new SqlCommand("SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = @tableName ORDER BY
ORDINAL_POSITION", connection); SqlDataAdapter adp = new SqlDataAdapter(cmd);
cmd.Parameters.Add("@tableName", SqlDbType.NVarChar).Value = tableName;
try
{ DataSet ds = new DataSet();
adp.Fill(ds);
foreach (DataRow row in ds.Tables[0].Rows)
rowElement.AppendChild(rowElement.OwnerDocument.CreateElement((string)row[0])); }
catch
{ MessageBox.Show("Veri tabanı bağlantısında bir hata oluştu"); }
finally
{ adp.Dispose();
cmd.Dispose();
connection.Dispose(); } }

private void tabloAktarımToolStripMenuItem_Click(object sender, EventArgs e)
{ FrmTableSelect tblSelect = new FrmTableSelect();
if (tblSelect.ShowDialog() == DialogResult.OK)
CreateEvrakXml(0, tblSelect.SelectedTableName, tblSelect.SelectedTableName, null);
tblSelect.Dispose(); }

private void CreateEvrakXml(int evrakType, string evrakDesc, string tableName, string detailTableName)
{ if (CheckConnection())
{ XmlElement root = CreateBaseDocument();
XmlElement evrak = root.OwnerDocument.CreateElement("Evrak");
evrak.InnerText = evrakType.ToString();
root.AppendChild(evrak);

XmlElement desc = root.OwnerDocument.CreateElement("EvrakDesc");
desc.InnerText = evrakDesc;
root.AppendChild(desc);

XmlElement row = root.OwnerDocument.CreateElement("row");
if (tableName != null)
InsertFields(row, tableName);
root.AppendChild(row);

if (detailTableName != null)
{ XmlElement detail = row.OwnerDocument.CreateElement("detail");
row.AppendChild(detail);
InsertFields(detail, detailTableName); }

WriteDocument(root.OwnerDocument); } }

private void malFaturasıEvrağıToolStripMenuItem_Click(object sender, EventArgs e)
{ CreateEvrakXml(1, "Mal Faturası Evrağı", "CARI_HESAP_HAREKETLERI", "STOK_HAREKETLERI"); }

private void kasaFişiEvrağıToolStripMenuItem_Click(object sender, EventArgs e)
{ CreateEvrakXml(2, "Kasa Fişi Evrağı", "CARI_HESAP_HAREKETLERI", null); }

private void muhasebeEvrağıToolStripMenuItem_Click(object sender, EventArgs e)
{ CreateEvrakXml(3, "Muhasebe Fişi Evrağı", null, "MUHASEBE_FISLERI"); }

private void bankaFişiEvrağiToolStripMenuItem_Click(object sender, EventArgs e)
{ CreateEvrakXml(4, "Mal Faturası Evrağı", "CARI_HESAP_HAREKETLERI", "CARI_HESAP_HAREKETLERI"); }

private void toolStripMenuItem2_Click(object sender, EventArgs e)
{ CreateEvrakXml(5, "Çek Giriş Bordrosu Evrağı", null, "CARI_HESAP_HAREKETLERI"); }

private void cariDekontEvrağıToolStripMenuItem_Click(object sender, EventArgs e) { CreateEvrakXml(6, "Cari Dekont Evrağı", null, "CARI_HESAP_HAREKETLERI"); }

private void sarfÇıkışToolStripMenuItem_Click(object sender, EventArgs e) { CreateEvrakXml(7, "Sarf Çıkış Ambar Fişi", null, "STOK_HAREKETLERI"); }

private void WriteDocument(XmlDocument document)
{ System.IO.StringWriter writer = new System.IO.StringWriter();
XmlTextWriter xmlWriter = new XmlTextWriter(writer);
xmlWriter.Formatting = Formatting.Indented;
xmlWriter.Indentation = 4;
document.WriteTo(xmlWriter);
richTextBox1.Text = writer.ToString();
writer.Dispose(); }

private void btnSave_Click(object sender, EventArgs e)
{ if (saveFileDialog1.ShowDialog() == DialogResult.OK)
richTextBox1.SaveFile(saveFileDialog1.FileName); } } }


Güncellenme Tarihi : 09.08.2012 - Bu doküman ile ilgili bize yazın
©2012 Mikro Yazılımevi A.Ş. Tüm Hakları Saklıdır.