0% found this document useful (0 votes)
26 views

DBManager With Orders Form Code

This class file defines a DBManager class that provides methods for managing database connections and queries. It includes: - Properties for connection strings, data adapters, datasets and bindingsources to manage data retrieval and binding - Constructor to initialize connection string and dataset - Methods to open/close connections, fill datasets, and create data adapters for different tables - Methods to create relations between tables in the dataset and get related bindingsources - Utility methods like getting next IDs and validating user input The class aims to encapsulate common database operations like establishing connections, executing queries, and managing relations between tables for use across different forms and modules.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
26 views

DBManager With Orders Form Code

This class file defines a DBManager class that provides methods for managing database connections and queries. It includes: - Properties for connection strings, data adapters, datasets and bindingsources to manage data retrieval and binding - Constructor to initialize connection string and dataset - Methods to open/close connections, fill datasets, and create data adapters for different tables - Methods to create relations between tables in the dataset and get related bindingsources - Utility methods like getting next IDs and validating user input The class aims to encapsulate common database operations like establishing connections, executing queries, and managing relations between tables for use across different forms and modules.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 13

DBManager.

class File Source Code:


using System;
using System.Data.SqlClient;
using System.Data;
using System.Windows.Forms;
namespace MyLibrary{
public class DBManager {
public string connectionstring;
public SqlConnection dbconnection = null;
public DataSet DSMydataset;
public SqlConnection con = null;
public SqlDataAdapter daVenderType = new SqlDataAdapter();
public SqlDataAdapter daVenders = new SqlDataAdapter();
public SqlDataAdapter daOrderDetails = new SqlDataAdapter();
public SqlDataAdapter daOrderStatus = new SqlDataAdapter();
public SqlDataAdapter daProductType = new SqlDataAdapter();
public SqlDataAdapter daProductCategory = new SqlDataAdapter();
public SqlDataAdapter daProducts = new SqlDataAdapter();
public SqlDataAdapter daPaymentMode = new SqlDataAdapter();
public SqlDataAdapter daPayments = new SqlDataAdapter();

public BindingSource bsVenderType = new BindingSource();


public BindingSource bsVenders = new BindingSource();
public BindingSource bsOrders = new BindingSource();
public BindingSource bsOrderDetails = new BindingSource();
public BindingSource bsOrderStatus = new BindingSource();
public BindingSource bsProductType = new BindingSource();
public BindingSource bsProductCategory = new BindingSource();
public BindingSource bsProducts = new BindingSource();
public BindingSource bsPaymentMode = new BindingSource();
public BindingSource bsPayments = new BindingSource();

public DBManager () {
connectionstring = @"Data Source=.\SQLEXPRESS;AttachDbFilename
=F:\C#programs\MobileShopManagementSystem\MobileShopManagement
System\MSMSystem.mdf;Integrated Security=True;Connect Timeout
=30; User Instance=True";
dbconnection = new SqlConnection(connectionstring);
DSMydataset = new DataSet();
DSMydataset.Locale =
System.Globalization.CultureInfo.InvariantCulture;
}
public void open(){
Handleconnection();
}
public void close(){
dbconnection.Close();
}
public void Handleconnection() {
if (dbconnection.State == ConnectionState.Open){
dbconnection.Close();
dbconnection.Open();
}
else if (dbconnection.State == ConnectionState.Closed){
dbconnection.Open();
}
else {
dbconnection.Close();
dbconnection.Open();
}
}
#region Create Data Adapter
public SqlDataAdapter createDataAdapter(string tableName){
SqlDataAdapter adapter = new SqlDataAdapter();
adapter.MissingSchemaAction =
MissingSchemaAction.AddWithKey;
try {
string cmd = string.Format("SELECT * FROM {0}",
tableName);
adapter.SelectCommand = new SqlCommand(cmd,
dbconnection);
adapter.SelectCommand.Connection = dbconnection;
SqlCommandBuilder Builder = new
SqlCommandBuilder(adapter);
adapter.UpdateCommand = Builder.GetUpdateCommand();
adapter.DeleteCommand = Builder.GetDeleteCommand();
adapter.InsertCommand = Builder.GetInsertCommand();
}
catch (Exception ex){
MessageBox.Show(ex.Message, "Exception at command
creation");
}
return adapter;
}
public void cdaVendorType(){
daVenderType = createDataAdapter("VendorType");
daVenderType.Fill(DSMydataset, "VendorType");
bsVenderType = new BindingSource(DSMydataset,"VendorType");
}
public void cdaVendors() {
daVenders = createDataAdapter("Vendors");
daVenders.Fill(DSMydataset, "Vendors");
bsVenders = new BindingSource(DSMydataset, "Vendors");
}
public void cdaOrderStatus()
{
daOrderStatus = createDataAdapter("OrderStatus");
daOrderStatus.Fill(DSMydataset, "OrderStatus");
bsOrderStatus = new BindingSource(DSMydataset, "OrderStatus");
}
public void cdaOrders()
{
daOrders = createDataAdapter("Orders");
daOrders.Fill(DSMydataset, "Orders");
bsOrders = new BindingSource(DSMydataset, "Orders");
}
public void cdaOrderDetails()
{
daOrderDetails = createDataAdapter("OrderDetails");
daOrderDetails.Fill(DSMydataset, "OrderDetails");
bsOrderDetails = new BindingSource(DSMydataset, "OrderDetails");
}
public void cdaProductType()
{
daProductType = createDataAdapter("ProductType");
daProductType.Fill(DSMydataset, "ProductType");
bsProductType = new BindingSource(DSMydataset, "ProductType");
}
public void cdaProductCategory()
{
daProductCategory = createDataAdapter("ProductCategory");
daProductCategory.Fill(DSMydataset, "ProductCategory");
bsProductCategory = new BindingSource(DSMydataset, "ProductCategory");
}
public void cdaProducts()
{
daProducts = createDataAdapter("Products");
daProducts.Fill(DSMydataset, "Products");
bsProducts = new BindingSource(DSMydataset, "Products");
}
public void cdaPaymentMode()
{
daPaymentMode = createDataAdapter("PaymentMode");
daPaymentMode.Fill(DSMydataset, "PaymentMode");
bsPaymentMode = new BindingSource(DSMydataset, "PaymentMode");
}
public void cdaPayment()
{
daPayments = createDataAdapter("Payments");
daPayments.Fill(DSMydataset, "Payments");
bsPayments = new BindingSource(DSMydataset, "Payments");
}
#endregion

#region Relation
public string CreateRelation(string ParentTable, string
ChildTable, string ColumnName) {
string relationName = string.Concat(ParentTable, "2",
ChildTable);
DSMydataset.Relations.Add(relationName,
DSMydataset.Tables[ParentTable].Columns[ColumnName],
DSMydataset.Tables[ChildTable].Columns[ColumnName]);
return relationName;
}

public void RemoveRelation(string relationName) {


DSMydataset.Relations.Remove(relationName);
}

public BindingSource GetRelationBS(string relationName,


BindingSource bsMaster)
{
BindingSource bs = new BindingSource(bsMaster, relationName);
return bs;
}

public string crVendorType_Vendors(){


string r1 = CreateRelation("VendorType", "Vendors","VendorTypeID");
bsVenders = GetRelationBS(r1, bsVenderType);
return r1;
}
public string crVendors_Orders(){
string r2 = CreateRelation("Vendors", "Orders", "VendorID");
bsOrders = GetRelationBS(r2, bsVenders);
return r2;
}
public string crOrders_OrderDetails()
{
string r3 = CreateRelation("Orders", "OrderDetails", "OrderID");
bsOrderDetails = GetRelationBS(r3, bsOrders);
return r3;
}
public string crProductType_ProductCategory()
{
string r4 = CreateRelation("ProductType", "ProductCategory",
"ProductTypeID");
bsProductCategory = GetRelationBS(r4, bsProductType);
return r4;
}
public string crProductCategory_Products()
{
string r5 = CreateRelation("ProductCategory", "Products",
"ProductCategoryID");
bsProducts = GetRelationBS(r5, bsProductCategory);
return r5;
}
public string crProductType_ProductCategory_Products(){
string r6 = CreateRelation("ProductType", "ProductCategory",
"ProductTypeID");
bsProductCategory = GetRelationBS(r6, bsProductType);
string r7 = CreateRelation("ProductCategory", "Products",
"ProductCategoryID");
bsProducts = GetRelationBS(r7, bsProductCategory);
return r7;
}
public string crOrders_Payment(){
string r8 = CreateRelation("Orders", "Payments", "OrderID");
bsPayments = GetRelationBS(r8, bsOrders);
return r8;
}
#endregion

#region Utils
public int GetNextID(string TableName, string Primarykey){
int NextId = 0;
try {
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter();
da = createDataAdapter(TableName);
da.Fill(ds, TableName);
DataTable Table = ds.Tables[TableName];
DataView Row = Table.DefaultView;
string qry = string.Format("max({0})", Primarykey);
NextId = Convert.ToInt32(Table.Compute(qry, " "));
}
catch (Exception ex) {
MessageBox.Show(ex.ToString());
}
return NextId + 1;
}

public void RejectChanges() {


MessageBox.Show("Changes Rejectes!!");
}
#endregion

#region validation
public bool charactorValidation(char ch) {
if (ch == '\b' || ch == (char)32) { }
else{
if ((ch < (char)65 || ch > (char)90) & (ch < (char)97 ||
ch > (char)122))
{
MessageBox.Show("Enter charactor only", "Charactor
validation", MessageBoxButtons.OK,
MessageBoxIcon.Error);
return true;
}
else {
return false;
}
}
return false;
}

public bool NumberValitadion(char ch){


if (ch != '\b'){
}
else {
if (ch < (char)48 || ch > (char)57) {
MessageBox.Show("Enter digit number only", "Digital
validation", MessageBoxButtons.OK, MessageBoxIcon.Information);
return true;
}
else{
return false;
}
}
return false;
}
#endregion

public String AddNewData(BindingSource bs, String tblName, String


primaryKey)
{
bs.AddNew();
return GetNextID(tblName, primaryKey).ToString();
}

public void saveData(BindingSource bsVenders, SqlDataAdapter


daVenders, String tblName)
{
BindingSource bs = bsVenders;
SqlDataAdapter da = daVenders;
try{
bs.EndEdit();
da.Update(DSMydataset, tblName);
DSMydataset.AcceptChanges();
MessageBox.Show("Record Save Sucessfully...", "Save",
MessageBoxButtons.OK, MessageBoxIcon.Information);
bs.MoveLast();
}
catch (Exception ex){
bs.RemoveCurrent();
MessageBox.Show(ex.ToString());
}
}

public void bsProductType(){


throw new NotImplementedException();
}

public void DeleteData(BindingSource bsVenders){


BindingSource bs = bsVenders;
try{
bs.RemoveCurrent();
MessageBox.Show("Record delete Sucessfully...", "Save",
MessageBoxButtons.OK, MessageBoxIcon.Information);
bs.MoveLast();
}
catch (Exception ex){
MessageBox.Show(ex.ToString());
}
}
}
}
Source code for frmOrders.cs form.

using System;
using System.Data;
using System.Windows.Forms;
using System.Data.SqlClient;
using System.Collections.Generic;
using System.Configuration;
using System.Windows;
using DBManager; // add Class Library i.e. DLL file namespace .

namespace MobileShopManagementSystem {
public partial class frmOdersDemo : Form {
DBManagerNew dbm = new DBManagerNew();
BindingSource bsVendorType;
BindingSource bsVendors;

public frmOdersDemo() {
InitializeComponent();
}

private void frmOdersDemo_Load(object sender, EventArgs e) {


//call cda’s
dbm.cdaVendorType();
dbm.cdaVendors();
dbm.cdaOrderStatus();
dbm.cdaOrders();
dbm.cdaOrderDetails();
dbm.cdaProductType();
dbm.cdaProductCategory();
dbm.cdaProducts();

//call relations
dbm.crVendorType_Vendors();
dbm.crVendors_Orders();
dbm.crOrders_OrderDetails();
dbm.crProductType_ProductCategory_Products();

//assign bindingSource
bsVendorType = dbm.bsVenderType;
bsVendors = dbm.bsVenders;
bsOrderStatus = dbm.bsOrderStatus;
bsOrders = dbm.bsOrders;
bsOrderDetails = dbm.bsOrderDetails;
bsProductType = dbm.bsProductType;
bsProductCategory = dbm.bsProductCategory;
bsProducts = dbm.bsProducts;

//calculate orderLToDetails tabs “Ltotal=Qty*UnitPrice”


dbm.DSMydataset.Tables["OrderDetails"].Columns.Add("LTotal",
System.Type.GetType("System.Double"));
dbm.DSMydataset.Tables["OrderDetails"].Columns["LTotal"].Expression =
"Qty*UnitPrice";

//calculate Orders Table OrderTotal = sum(Orders2OrderDetails).LTotal


dbm.DSMydataset.Tables["Orders"].Columns.Add("OrderTotal",
System.Type.GetType("System.Double"));
dbm.DSMydataset.Tables["Orders"].Columns["OrderTotal"].Expression =
"ISNull(sum(child(Orders2OrderDetails).LTotal),0)";
//calculate Orders Table TotalDiscount=(OrderTotal*Discount)/100"

dbm.DSMydataset.Tables["Orders"].Columns.Add("TotalDiscount",
System.Type.GetType("System.Double"));
dbm.DSMydataset.Tables["Orders"].Columns["TotalDiscount"].Expression =
"(OrderTotal*Discount)/100";

//calculate Order Table: FinalTotal=OrderTotal-(OrderTotal*Discount)/100


dbm.DSMydataset.Tables["Orders"].Columns.Add("FinalTotal",
System.Type.GetType("System.Double"));
dbm.DSMydataset.Tables["Orders"].Columns["FinalTotal"].Expression =
"OrderTotal - TotalDiscount";

if (dbm.DSMydataset != null)
{
//Vendors TAB
cbVendorTypeID.DataSource = bsVendorType;
cbVendorTypeID.DisplayMember = "VendorTypeName";
cbVendorTypeID.ValueMember = "VendorTypeID";

lstVendors.DataSource = bsVendors;
lstVendors.DisplayMember = "VendorName";
lstVendors.ValueMember = "VendorID";

//Orders TAB
lblVendorTypeNameOrder.DataBindings.Add(new Binding("Text",
bsVendorType, "VendorTypeName", true));
lblVendorNameOrders.DataBindings.Add(new Binding("Text", bsVendors,
"VendorName", true));
lblOrderTotalOrders.DataBindings.Add(new Binding("Text", bsOrders,
"OrderTotal", true));

tbOrderIDOrders.DataBindings.Add(new Binding("Text", bsOrders,


"OrderID", true));
dtpOrders.DataBindings.Add(new Binding("Value", bsOrders,
"OrderDate", true));
cbOrderStatusName.DataBindings.Add(new Binding("SelectedValue",
bsOrders, "OrderStatusID", true));
tbDiscount.DataBindings.Add(new Binding("Text", bsOrders,
"Discount", true));

cbOrderStatusName.DataSource = bsOrderStatus;
cbOrderStatusName.DisplayMember = "OrderStatusName";
cbOrderStatusName.ValueMember = "OrderStatusID";

dgvOrders.DataSource = bsOrders;
dgvOrders.AutoSizeColumnsMode =
DataGridViewAutoSizeColumnsMode.AllCells;
//OrderDetails TAB
lblVTNameOD.DataBindings.Add(new Binding("Text", bsVendorType,
"VendorTypeName", true));
lblVNameOD.DataBindings.Add(new Binding("Text", bsVendors,
"VendorName", true));
lblOrderTotal_OD.DataBindings.Add(new Binding("Text", bsOrders,
"FinalTotal", true));
cbProductTypeName.DataSource = bsProductType;
cbProductTypeName.DisplayMember = "ProductTypeName";
cbProductTypeName.ValueMember = "ProductTypeID";
cbProductCatName.DataSource = bsProductCategory;
cbProductCatName.DisplayMember = "ProductCategoryName";
cbProductCatName.ValueMember = "ProductCategoryID";
cbProductName.DataSource = bsProducts;
cbProductName.DisplayMember = "ProductName";
cbProductName.ValueMember = "ProductID";
tbOrderID_OD.DataBindings.Add(new Binding("Text", bsOrderDetails,
"OrderID", true));
cbProductName.DataBindings.Add(new Binding("SelectedValue",
bsOrderDetails, "ProductID", true));
tbQuantity.DataBindings.Add(new Binding("Text", bsOrderDetails,
"Qty", true));
tbUnitPrice.DataBindings.Add(new Binding("Text", bsOrderDetails,
"UnitPrice", true));

//data from products table


tbStockUnitPrice.DataBindings.Add(new Binding("Text",
dbm.bsProducts, "UnitPrice", true));
tbStockQuanity.DataBindings.Add(new Binding("Text", dbm.bsProducts,
"Quanity", true));
tbStockMargin.DataBindings.Add(new Binding("Text", dbm.bsProducts,
"Margin", true));

dgvOrderDetails.DataSource = bsOrderDetails;
dgvOrderDetails.AutoSizeColumnsMode =
DataGridViewAutoSizeColumnsMode.AllCells;
}
}

private void btnAddOrders_Click(object sender, EventArgs e)


{
tbOrderIDOrders.Text = dbm.AddNewData(bsOrders, "Orders", "OrderID");
}
private void btnOrdersSave_Click(object sender, EventArgs e)
{
dbm.saveData(bsOrders, dbm.daOrders, "Orders");
}
private void btnOrderDelete_Click(object sender, EventArgs e)
{
dbm.DeleteData(bsOrders);
}
private void btnOrderExit_Click(object sender, EventArgs e)
{
}
private void btnOD_ADD_Click(object sender, EventArgs e)
{
dbm.AddNewData(bsOrderDetails, "OrderDetails", "OrderID");
}
private void btnOD_SAVE_Click(object sender, EventArgs e)
{
dbm.saveData(bsOrderDetails, dbm.daOrderDetails, "OrderDetails");
}
private void btnOD_DELETE_Click(object sender, EventArgs e)
{
dbm.DeleteData(bsOrderDetails);
}
private void tbQuantity_TextChanged(object sender, EventArgs e)
{
double stockMargin = double.Parse(tbStockMargin.Text);
if (Convert.ToInt32(cbVendorTypeID.SelectedValue) == 1) {
double stockUnitPrice = double.Parse(tbStockUnitPrice.Text);
tbUnitPrice.Text = stockUnitPrice.ToString();
}
else {
double stockUnitPrice = double.Parse(tbStockUnitPrice.Text);
tbUnitPrice.Text = (stockUnitPrice + (stockUnitPrice * stockMargin)
/ 100).ToString();
}
}
}
}
Output: Displays the records as per VendorType to Vendors:
VendorType => Supplier Vendors => Kishor Infortech / Sagar Mohite / Sachin patil

Show Existing Orders of Supplier : sachin patil

Creating new Orders of Supplier : sachin patil then click to ADD button
Just Created new Orders [orderID = 11] of Supplier : sachin patil to save that record then click to Save
button

After storing new Orders [orderID = 11] of Supplier : sachin patil then fill its Order Details in
OrderDetails form then click to OrderDetails tab & fill the required data in it and click to Save button.
Customers’ Orders : VendorType => Customer Vendors => Tanmay Infotech / Tanvi enterprises

You might also like