private bool getReportDataSet(out BillItemsDataSet dataset) { DataGridViewRow row = invoicesGrid.CurrentRow; int billID = (int)row.Cells[0].Value; StringBuilder sql = new StringBuilder("SELECT Items.NAME, UM.UnitName, BD.Rate, BD.quantity") .Append(" FROM (SELECT * FROM BillDetails WHERE BILLID = ").Append(billID) .Append(") BD INNER JOIN Items ON ItemID = Items.ID ") .Append("INNER JOIN UnitOfMeasurement UM ON BD.UoMID = UM.ID"); string errorText; SqlCeConnection connection = Global.getDatabaseConnection(out errorText); try { using (SqlCeCommand command = connection.CreateCommand()) { command.CommandText = sql.ToString(); using (SqlCeDataReader reader = command.ExecuteReader()) { dataset = new BillItemsDataSet(); BillItemsDataSet.BillItemsTableRow tableRow; while (reader.Read()) { tableRow = dataset.BillItemsTable.NewBillItemsTableRow(); tableRow.ItemName = reader.GetString(0); tableRow.UoM = reader.GetString(1); tableRow.Rate = reader.GetDecimal(2); tableRow.Quantity = reader.GetDecimal(3); tableRow.Amount = tableRow.Rate * tableRow.Quantity; dataset.BillItemsTable.AddBillItemsTableRow(tableRow); } } } } catch (Exception ex) { Cursor.Current = Cursors.Default; SystemSounds.Exclamation.Play(); string message = "An error occurred in retrieving the bill details." + "\nThe error text is as follows:\n" + Global.getExceptionText(ex); Cursor.Current = Cursors.Default; MessageBox.Show(message, "Error Occurred", MessageBoxButtons.OK, MessageBoxIcon.Error); ErrorLogger.LogError(ex); dataset = null; return(false); } return(true); }
private void printBill(int billID) { BillItemsDataSet dataset = getPrintDataSet(); Dictionary <string, object> parameters = getReportParameters(billID); BillReportView form = new BillReportView(dataset, parameters); form.MdiParent = this.MdiParent; try { form.ShowReport(); } catch (Exception ex) { SystemSounds.Hand.Play(); Cursor.Current = Cursors.Default; string message = "An error occurred in showing the Print Preview of the bill." + "\nThe error text is as follows:\n" + Global.getExceptionText(ex); MessageBox.Show(message, "Error Occurred", MessageBoxButtons.OK, MessageBoxIcon.Hand); ErrorLogger.LogError(ex); } }
public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedTableSchema(global::System.Xml.Schema.XmlSchemaSet xs) { global::System.Xml.Schema.XmlSchemaComplexType type = new global::System.Xml.Schema.XmlSchemaComplexType(); global::System.Xml.Schema.XmlSchemaSequence sequence = new global::System.Xml.Schema.XmlSchemaSequence(); BillItemsDataSet ds = new BillItemsDataSet(); global::System.Xml.Schema.XmlSchemaAny any1 = new global::System.Xml.Schema.XmlSchemaAny(); any1.Namespace = "http://www.w3.org/2001/XMLSchema"; any1.MinOccurs = new decimal(0); any1.MaxOccurs = decimal.MaxValue; any1.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax; sequence.Items.Add(any1); global::System.Xml.Schema.XmlSchemaAny any2 = new global::System.Xml.Schema.XmlSchemaAny(); any2.Namespace = "urn:schemas-microsoft-com:xml-diffgram-v1"; any2.MinOccurs = new decimal(1); any2.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax; sequence.Items.Add(any2); global::System.Xml.Schema.XmlSchemaAttribute attribute1 = new global::System.Xml.Schema.XmlSchemaAttribute(); attribute1.Name = "namespace"; attribute1.FixedValue = ds.Namespace; type.Attributes.Add(attribute1); global::System.Xml.Schema.XmlSchemaAttribute attribute2 = new global::System.Xml.Schema.XmlSchemaAttribute(); attribute2.Name = "tableTypeName"; attribute2.FixedValue = "BillItemsTableDataTable"; type.Attributes.Add(attribute2); type.Particle = sequence; global::System.Xml.Schema.XmlSchema dsSchema = ds.GetSchemaSerializable(); if (xs.Contains(dsSchema.TargetNamespace)) { global::System.IO.MemoryStream s1 = new global::System.IO.MemoryStream(); global::System.IO.MemoryStream s2 = new global::System.IO.MemoryStream(); try { global::System.Xml.Schema.XmlSchema schema = null; dsSchema.Write(s1); for (global::System.Collections.IEnumerator schemas = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator(); schemas.MoveNext();) { schema = ((global::System.Xml.Schema.XmlSchema)(schemas.Current)); s2.SetLength(0); schema.Write(s2); if ((s1.Length == s2.Length)) { s1.Position = 0; s2.Position = 0; for (; ((s1.Position != s1.Length) && (s1.ReadByte() == s2.ReadByte()));) { ; } if ((s1.Position == s1.Length)) { return(type); } } } } finally { if ((s1 != null)) { s1.Close(); } if ((s2 != null)) { s2.Close(); } } } xs.Add(dsSchema); return(type); }