You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
88 lines
4.9 KiB
88 lines
4.9 KiB
using BiskLog_Point_Of_Sale.Classes;
|
|
using BiskLog_Point_Of_Sale.Properties;
|
|
using Microsoft.Reporting.WinForms;
|
|
using Point_Of_Sale_Managment;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data.SqlClient;
|
|
using System.IO;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Windows.Forms;
|
|
|
|
namespace BiskLog_Point_Of_Sale.Delivery
|
|
{
|
|
|
|
public class RegenerateInvoice
|
|
{
|
|
public static void generateFile(string deliveryID)
|
|
{
|
|
SqlConnection cn;
|
|
SqlCommand cm;
|
|
SqlDataReader dr;
|
|
DatabaseConn conn = new DatabaseConn();
|
|
|
|
cn = new SqlConnection(conn.MyConnection());
|
|
try
|
|
{
|
|
List<OrderInvoice> deliveryInvoice = new List<OrderInvoice>();
|
|
List<products> productsList = new List<products>();
|
|
string fullname, address, telephone, email, charges, itemTotal, fromDate, toDate, allTotal;
|
|
OrderInvoice order = null;
|
|
cn.Open();
|
|
cm = new SqlCommand("Declare @totalProduct decimal(19,2) = (Select Sum(cost) from tblDeliveryDetails where deliveryID = @deliveryID) " +
|
|
"Declare @Addition decimal(19, 2) = case when(Select totalCost from tblDeliveryHead where deliveryID = @deliveryID) - @totalProduct <= 0 then 0 " +
|
|
"else (Select totalCost from tblDeliveryHead where deliveryID = @deliveryID) - @totalProduct end " +
|
|
"Select DR.fullname,DR.address,DR.telephone,DR.email,DR.fromDate,DR.toDate,DH.totalCost,DP.product_name,DD.quantity,DD.cost,@totalProduct,@Addition,DD.pcode,u.unitname from " +
|
|
"tblDeliveryDetails DD Inner Join tblDeliveryRecipients DR on DR.deliveryID = DD.deliveryID Inner Join tblDeliveryHead DH On DH.deliveryID = DD.deliveryID Inner Join " +
|
|
"tblProduct DP On DP.pcode = DD.pcode Inner Join UnitOfMeasure u On u.unitCode = DD.unit where DD.deliveryID = @deliveryID and DH.branchID = @branchID", cn);
|
|
cm.Parameters.AddWithValue("@deliveryID", deliveryID);
|
|
cm.Parameters.AddWithValue("@branchID", Settings.Default.BranchID);
|
|
cm.ExecuteNonQuery();
|
|
dr = cm.ExecuteReader();
|
|
while (dr.Read())
|
|
{
|
|
fullname = dr[0].ToString().ToUpper();
|
|
address = dr[1].ToString().ToUpper();
|
|
telephone = dr[2].ToString();
|
|
email = dr[3].ToString();
|
|
fromDate = dr[4].ToString();
|
|
toDate = dr[5].ToString();
|
|
charges = Settings.Default.currrencyCode + " " + dr[11].ToString();
|
|
itemTotal = Settings.Default.currrencyCode + " " + dr[10].ToString();
|
|
allTotal = Settings.Default.currrencyCode + " " + dr[6].ToString();
|
|
products p = new products(dr[7].ToString().ToUpper(), dr[8].ToString(), Settings.Default.currrencyCode + " " + dr[9].ToString(),dr[12].ToString());
|
|
productsList.Add(p);
|
|
order = new OrderInvoice(
|
|
orderDate: DateTime.Now.ToString("yyyy-MM-dd"), beginDate: fromDate, endDate: toDate,
|
|
ProductsCost: itemTotal, additional: charges, All: allTotal, address: address, email: email,
|
|
telephone: telephone, branchtelephone: Settings.Default.BranchTelephone, branchLocation: Settings.Default.BranchCity, branchName: Settings.Default.BranchName,
|
|
orderid: deliveryID, companyName: Settings.Default.CompanyName, customer: fullname
|
|
);
|
|
}
|
|
dr.Close();
|
|
cn.Close();
|
|
deliveryInvoice.Add(order);
|
|
if (!Directory.Exists(Environment.CurrentDirectory + @"\Order Invoice"))
|
|
{
|
|
Directory.CreateDirectory(Environment.CurrentDirectory + @"\Order Invoice");
|
|
}
|
|
string printLocation = Environment.CurrentDirectory + @"\Order Invoice\" + deliveryID + ".pdf";
|
|
LocalReport report = new LocalReport();
|
|
string path = Path.GetDirectoryName(Application.ExecutablePath);
|
|
string fullpath = Path.GetDirectoryName(Application.ExecutablePath).Remove(path.Length - 10) +
|
|
@"\Delivery\OrderInvoice.rdlc";
|
|
report.ReportPath = fullpath;
|
|
report.DataSources.Add(new ReportDataSource("Details", deliveryInvoice));
|
|
report.DataSources.Add(new ReportDataSource("products", productsList));
|
|
OrderInvoiceConfig.PrintToPrinter(report, printLocation, "Microsoft Print to PDF");
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
cn.Close();
|
|
ErrorLogging.WriteToFile(ex.ToString());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|