private void ExportToFile() { DataClass clsDataClass = new DataClass(); PO clsPO = new PO(); PODetails clsPODetails = clsPO.Details(long.Parse(lblPOID.Text)); POItem clsPOItem = new POItem(clsPO.Connection, clsPO.Transaction); DataTable dtaPOItems = clsPOItem.ListAsDataTable(clsPODetails.POID, null, SortOption.Ascending); Branch clsBranch = new Branch(clsPO.Connection, clsPO.Transaction); BranchDetails clsBranchDetails; Contacts clsContact = new Contacts(clsPO.Connection, clsPO.Transaction); ContactDetails clsContactDetails; Products clsProduct = new Products(clsPO.Connection, clsPO.Transaction); ProductDetails clsProductDetails; ProductVariations clsProductVariation = new ProductVariations(clsPO.Connection, clsPO.Transaction); DataTable dtaProductVariation; ProductVariationsMatrix clsProductVariationsMatrix = new ProductVariationsMatrix(clsPO.Connection, clsPO.Transaction); DataTable dtaProductVariationsMatrix; string xmlFileName = Server.MapPath(@"\RetailPlus\temp\" + lblBranchCode.Text.Replace(" ", "").Trim() + "_" + clsPODetails.PONo + "_" + clsPODetails.PODate.ToString("yyyyMMddHHmmssffff") + ".xml"); XmlTextWriter writer = new XmlTextWriter(xmlFileName, System.Text.Encoding.UTF8); writer.Formatting = Formatting.Indented; writer.WriteStartDocument(); writer.WriteComment("This file represents the Purchase Order Details of PO No: '" + clsPODetails.PONo + "' for " + lblBranchCode.Text + " branch."); writer.WriteComment("Save this in your local file. Goto 'File', click 'Save As', select the location in your local directory, click 'Save'."); writer.WriteStartElement("PODetails"); writer.WriteAttributeString("POID", XmlConvert.ToString(clsPODetails.POID)); writer.WriteAttributeString("PONo", clsPODetails.PONo); writer.WriteAttributeString("PODate", clsPODetails.PODate.ToString("MM/dd/yyyy HH:mm:ss")); /******Supplier information******/ clsContactDetails = clsContact.Details(clsPODetails.SupplierID); writer.WriteAttributeString("SupplierID", XmlConvert.ToString(clsContactDetails.ContactID)); writer.WriteAttributeString("SupplierCode", clsContactDetails.ContactCode); writer.WriteAttributeString("SupplierName", clsContactDetails.ContactName); writer.WriteAttributeString("SupplierContact", clsContactDetails.BusinessName); writer.WriteAttributeString("SupplierAddress", clsPODetails.SupplierAddress); writer.WriteAttributeString("SupplierTelephoneNo", clsPODetails.SupplierTelephoneNo); writer.WriteAttributeString("SupplierModeOfTerms", XmlConvert.ToString(clsPODetails.SupplierModeOfTerms)); writer.WriteAttributeString("SupplierTerms", XmlConvert.ToString(clsPODetails.SupplierTerms)); writer.WriteAttributeString("SupplierContactGroupName", clsContactDetails.ContactGroupName); /******End Of Supplier Information******/ writer.WriteAttributeString("RequiredDeliveryDate", clsPODetails.RequiredDeliveryDate.ToString("MM/dd/yyyy HH:mm:ss")); /******Branch & Purchaser Information******/ clsBranchDetails = clsBranch.Details(short.Parse(clsPODetails.BranchID.ToString())); writer.WriteAttributeString("BranchID", XmlConvert.ToString(clsPODetails.BranchID)); writer.WriteAttributeString("BranchCode", clsPODetails.BranchCode); writer.WriteAttributeString("BranchName", clsPODetails.BranchName); writer.WriteAttributeString("BranchAddress", clsPODetails.BranchAddress); writer.WriteAttributeString("BranchDBIP", clsBranchDetails.DBIP); writer.WriteAttributeString("BranchDBPort", clsBranchDetails.DBPort); writer.WriteAttributeString("BranchRemarks", clsBranchDetails.Remarks); writer.WriteAttributeString("PurchaserID", clsPODetails.PurchaserID.ToString()); writer.WriteAttributeString("PurchaserName", clsPODetails.PurchaserName); /******End Of Branch & Purchaser Information******/ /******Amount Information******/ writer.WriteAttributeString("SubTotal", XmlConvert.ToString(clsPODetails.SubTotal)); writer.WriteAttributeString("Discount", XmlConvert.ToString(clsPODetails.Discount)); writer.WriteAttributeString("DiscountApplied", XmlConvert.ToString(clsPODetails.DiscountApplied)); writer.WriteAttributeString("DiscountType", clsPODetails.DiscountType.ToString("d")); writer.WriteAttributeString("VAT", XmlConvert.ToString(clsPODetails.VAT)); writer.WriteAttributeString("VatableAmount", XmlConvert.ToString(clsPODetails.VatableAmount)); writer.WriteAttributeString("EVAT", XmlConvert.ToString(clsPODetails.EVAT)); writer.WriteAttributeString("EVatableAmount", XmlConvert.ToString(clsPODetails.EVatableAmount)); writer.WriteAttributeString("LocalTax", XmlConvert.ToString(clsPODetails.LocalTax)); writer.WriteAttributeString("Freight", XmlConvert.ToString(clsPODetails.Freight)); writer.WriteAttributeString("Deposit", XmlConvert.ToString(clsPODetails.Deposit)); writer.WriteAttributeString("UnpaidAmount", XmlConvert.ToString(clsPODetails.UnpaidAmount)); writer.WriteAttributeString("PaidAmount", XmlConvert.ToString(clsPODetails.PaidAmount)); writer.WriteAttributeString("TotalItemDiscount", XmlConvert.ToString(clsPODetails.TotalItemDiscount)); writer.WriteAttributeString("Status", clsPODetails.Status.ToString("d")); writer.WriteAttributeString("Remarks", clsPODetails.Remarks); writer.WriteAttributeString("SupplierDRNo", clsPODetails.SupplierDRNo); writer.WriteAttributeString("DeliveryDate", clsPODetails.DeliveryDate.ToString("MM/dd/yyyy HH:mm:ss")); writer.WriteAttributeString("CancelledDate", clsPODetails.CancelledDate.ToString("MM/dd/yyyy HH:mm:ss")); writer.WriteAttributeString("CancelledRemarks", clsPODetails.CancelledRemarks); writer.WriteAttributeString("CancelledByID", XmlConvert.ToString(clsPODetails.CancelledByID)); /******End Of Branch Information******/ foreach (DataRow row in dtaPOItems.Rows) { clsProductDetails = new ProductDetails(); clsProductDetails = clsProduct.Details(Convert.ToInt64(row["ProductID"].ToString())); writer.WriteStartElement("POItem"); writer.WriteAttributeString("POItemID", row["POItemID"].ToString()); writer.WriteAttributeString("POID", row["POID"].ToString()); writer.WriteAttributeString("ProductID", row["ProductID"].ToString()); /*****Product Information*****/ writer.WriteAttributeString("ProductCode", clsProductDetails.ProductCode); writer.WriteAttributeString("BarCode", clsProductDetails.BarCode); writer.WriteAttributeString("ProductDesc", clsProductDetails.ProductDesc); writer.WriteAttributeString("MatrixDescription", row["MatrixDescription"].ToString()); writer.WriteAttributeString("ProductSubGroupID", clsProductDetails.ProductSubGroupID.ToString()); writer.WriteAttributeString("ProductSubGroupCode", clsProductDetails.ProductSubGroupCode); writer.WriteAttributeString("ProductSubGroupName", clsProductDetails.ProductSubGroupName); writer.WriteAttributeString("ProductGroupID", clsProductDetails.ProductGroupID.ToString()); writer.WriteAttributeString("ProductGroupCode", clsProductDetails.ProductGroupCode); writer.WriteAttributeString("ProductGroupName", clsProductDetails.ProductGroupName); writer.WriteAttributeString("BaseUnitID", clsProductDetails.BaseUnitID.ToString()); writer.WriteAttributeString("BaseUnitCode", clsProductDetails.BaseUnitCode); writer.WriteAttributeString("BaseUnitName", clsProductDetails.BaseUnitName); writer.WriteAttributeString("DateCreated", clsProductDetails.DateCreated.ToString("MM/dd/yy HH:mm:ss")); writer.WriteAttributeString("Deleted", clsProductDetails.Deleted.ToString()); writer.WriteAttributeString("Price", clsProductDetails.Price.ToString()); writer.WriteAttributeString("PurchasePrice", clsProductDetails.PurchasePrice.ToString()); writer.WriteAttributeString("IncludeInSubtotalDiscount", clsProductDetails.IncludeInSubtotalDiscount.ToString()); writer.WriteAttributeString("VAT", clsProductDetails.VAT.ToString()); writer.WriteAttributeString("EVAT", clsProductDetails.EVAT.ToString()); writer.WriteAttributeString("LocalTax", clsProductDetails.LocalTax.ToString()); writer.WriteAttributeString("Quantity", clsProductDetails.Quantity.ToString()); writer.WriteAttributeString("MinThreshold", clsProductDetails.MinThreshold.ToString()); writer.WriteAttributeString("MaxThreshold", clsProductDetails.MaxThreshold.ToString()); writer.WriteAttributeString("ChartOfAccountIDPurchase", clsProductDetails.ChartOfAccountIDPurchase.ToString()); writer.WriteAttributeString("ChartOfAccountIDSold", clsProductDetails.ChartOfAccountIDSold.ToString()); writer.WriteAttributeString("ChartOfAccountIDInventory", clsProductDetails.ChartOfAccountIDInventory.ToString()); writer.WriteAttributeString("ChartOfAccountIDTaxPurchase", clsProductDetails.ChartOfAccountIDTaxPurchase.ToString()); writer.WriteAttributeString("ChartOfAccountIDTaxSold", clsProductDetails.ChartOfAccountIDTaxSold.ToString()); writer.WriteAttributeString("IsItemSold", clsProductDetails.IsItemSold.ToString()); writer.WriteAttributeString("WillPrintProductComposition", clsProductDetails.WillPrintProductComposition.ToString()); writer.WriteAttributeString("UpdatedBy", clsProductDetails.UpdatedBy.ToString()); writer.WriteAttributeString("UpdatedOn", clsProductDetails.UpdatedOn.ToString("MM/dd/yyyy HH:mm")); writer.WriteAttributeString("PercentageCommision", clsProductDetails.PercentageCommision.ToString()); writer.WriteAttributeString("Active", clsProductDetails.Active.ToString()); /*****End Of Product Information*****/ writer.WriteAttributeString("ItemProductGroup", row["ProductGroup"].ToString()); writer.WriteAttributeString("ItemProductSubGroup", row["ProductSubGroup"].ToString()); writer.WriteAttributeString("ItemVariationMatrixID", row["VariationMatrixID"].ToString()); writer.WriteAttributeString("ItemBaseVariationDescription", row["MatrixDescription"].ToString()); writer.WriteAttributeString("ItemProductUnitID", row["ProductUnitID"].ToString()); writer.WriteAttributeString("ItemProductUnitCode", row["ProductUnitCode"].ToString()); writer.WriteAttributeString("ItemQuantity", row["Quantity"].ToString()); writer.WriteAttributeString("ItemUnitCost", row["UnitCost"].ToString()); writer.WriteAttributeString("ItemDiscount", row["Discount"].ToString()); writer.WriteAttributeString("ItemDiscountApplied", row["DiscountApplied"].ToString()); writer.WriteAttributeString("ItemDiscountType", row["DiscountType"].ToString()); writer.WriteAttributeString("ItemAmount", row["Amount"].ToString()); writer.WriteAttributeString("ItemVAT", row["VAT"].ToString()); writer.WriteAttributeString("ItemVatableAmount", row["VatableAmount"].ToString()); writer.WriteAttributeString("ItemEVAT", row["EVAT"].ToString()); writer.WriteAttributeString("ItemEVatableAmount", row["EVatableAmount"].ToString()); writer.WriteAttributeString("ItemLocalTax", row["LocalTax"].ToString()); writer.WriteAttributeString("ItemisVATInclusive", row["isVATInclusive"].ToString()); writer.WriteAttributeString("ItemPOItemStatus", row["POItemStatus"].ToString()); writer.WriteAttributeString("ItemIsVatable", row["IsVatable"].ToString()); writer.WriteAttributeString("ItemSellingPrice", row["SellingPrice"].ToString()); writer.WriteAttributeString("ItemSellingVAT", row["SellingVAT"].ToString()); writer.WriteAttributeString("ItemSellingEVAT", row["SellingEVAT"].ToString()); writer.WriteAttributeString("ItemSellingLocalTax", row["SellingLocalTax"].ToString()); writer.WriteAttributeString("ItemOldSellingPrice", row["OldSellingPrice"].ToString()); writer.WriteAttributeString("ItemRemarks", row["Remarks"].ToString()); dtaProductVariation = clsProductVariation.ListAsDataTable(clsProductDetails.ProductID, null, System.Data.SqlClient.SortOrder.Ascending); foreach (DataRow rowVariation in dtaProductVariation.Rows) { writer.WriteStartElement("Variation", null); writer.WriteAttributeString("VariationCode", rowVariation["VariationCode"].ToString()); writer.WriteAttributeString("VariationType", rowVariation["VariationType"].ToString()); writer.WriteEndElement(); } dtaProductVariationsMatrix = clsProductVariationsMatrix.ProductVariationsMatrixListAsDataTable(long.Parse(row["VariationMatrixID"].ToString()), null, System.Data.SqlClient.SortOrder.Ascending); foreach (DataRow rowVariationsMatrix in dtaProductVariationsMatrix.Rows) { writer.WriteStartElement("VariationMatrix", null); writer.WriteAttributeString("MatriXID", rowVariationsMatrix["MatriXID"].ToString()); writer.WriteAttributeString("VariationID", rowVariationsMatrix["VariationID"].ToString()); writer.WriteAttributeString("Description", rowVariationsMatrix["Description"].ToString()); writer.WriteAttributeString("VariationCode", rowVariationsMatrix["VariationCode"].ToString()); writer.WriteAttributeString("VariationType", rowVariationsMatrix["VariationType"].ToString()); writer.WriteEndElement(); } writer.WriteEndElement(); } writer.WriteEndElement(); //Write the XML to file and close the writer writer.Flush(); writer.Close(); clsPO.CommitAndDispose(); string stScript = "<Script>"; stScript += "window.open('/RetailPlus/temp/" + lblBranchCode.Text.Replace(" ", "").Trim() + "_" + clsPODetails.PONo + "_" + clsPODetails.PODate.ToString("yyyyMMddHHmmssffff") + ".xml')"; stScript += "</Script>"; Response.Write(stScript); }