public void ChangeSalesOrderItem(int salesOrderDetailID, short orderQty)
        {
            //Change an existing order detail item
            //Create the TransactionScope to execute the commands, guaranteeing that both commands can commit or roll back as a single unit of work
            using (TransactionScope scope = new TransactionScope()) {
                //update the sales order item and update the sales order
                if (this.mUseTableBased)
                {
                    new SalesOrderDetailTableGateway().UpdateSalesOrderDetail(salesOrderDetailID, orderQty);
                    Recordset.SalesOrderDetailTableRow salesOrderDetail = new SalesOrderDetailTableGateway().ReadSalesOrderDetail(salesOrderDetailID);
                    int salesOrderID = salesOrderDetail.SalesOrderID;
                    Recordset.SalesOrderTableRow salesOrder = new SalesOrderTableGateway().ReadSalesOrder(salesOrderID);
                    decimal lineTotal = orderQty * salesOrderDetail.UnitPrice * (1 - salesOrderDetail.UnitPriceDiscount);
                    decimal subTotal  = salesOrder.SubTotal + lineTotal;
                    decimal taxAmt    = salesOrder.TaxAmt + (0.05M * lineTotal);
                    decimal freight   = salesOrder.Freight;
                    new SalesOrderTableGateway().UpdateSalesOrder(salesOrderID, subTotal, taxAmt, freight);
                }
                else
                {
                    SalesOrderDetailRowGateway salesOrderDetail = SalesOrderDetailRowGateway.ReadSalesOrderDetail(salesOrderDetailID);
                    salesOrderDetail.OrderQty = orderQty;
                    salesOrderDetail.Update();
                    SalesOrderRowGateway salesOrder = SalesOrderRowGateway.ReadSalesOrder(salesOrderDetail.SalesOrderID);
                    decimal lineTotal = orderQty * salesOrderDetail.UnitPrice * (1 - salesOrderDetail.UnitPriceDiscount);
                    salesOrder.SubTotal = salesOrder.SubTotal + lineTotal;
                    salesOrder.TaxAmt   = salesOrder.TaxAmt + (0.05M * lineTotal);
                    salesOrder.Freight  = salesOrder.Freight;
                    salesOrder.Update();
                }

                //Commits the transaction; if an exception is thrown, Complete is not called and the transaction is rolled back
                scope.Complete();
            }
        }
        public void RemoveSalesOrderItem(int salesOrderDetailID)
        {
            //Delete an existing order detail item; update the sales order
            //Create the TransactionScope to execute the commands, guaranteeing that both commands can commit or roll back as a single unit of work
            using (TransactionScope scope = new TransactionScope()) {
                //remove the sales order item and update the sales order
                if (this.mUseTableBased)
                {
                    //delete the sales order detail and update the sales order
                    new SalesOrderDetailTableGateway().DeleteSalesOrderDetail(salesOrderDetailID);
                    Recordset.SalesOrderDetailTableRow salesOrderDetail = new SalesOrderDetailTableGateway().ReadSalesOrderDetail(salesOrderDetailID);
                    int salesOrderID = salesOrderDetail.SalesOrderID;
                    Recordset.SalesOrderTableRow salesOrder = new SalesOrderTableGateway().ReadSalesOrder(salesOrderID);
                    decimal subTotal = salesOrder.SubTotal - salesOrderDetail.LineTotal;
                    decimal taxAmt   = salesOrder.TaxAmt - (0.05M * salesOrderDetail.LineTotal);
                    decimal freight  = salesOrder.Freight;
                    new SalesOrderTableGateway().UpdateSalesOrder(salesOrderID, subTotal, taxAmt, freight);
                }
                else
                {
                    SalesOrderDetailRowGateway salesOrderDetail = SalesOrderDetailRowGateway.ReadSalesOrderDetail(salesOrderDetailID);
                    salesOrderDetail.Delete();
                    int salesOrderID = salesOrderDetail.SalesOrderID;
                    SalesOrderRowGateway salesOrder = SalesOrderRowGateway.ReadSalesOrder(salesOrderID);
                    salesOrder.SubTotal = salesOrder.SubTotal - salesOrderDetail.LineTotal;
                    salesOrder.TaxAmt   = salesOrder.TaxAmt - (0.05M * salesOrderDetail.LineTotal);
                    salesOrder.Freight  = salesOrder.Freight;
                    salesOrder.Update();
                }

                //Commits the transaction; if an exception is thrown, Complete is not called and the transaction is rolled back
                scope.Complete();
            }
        }
        public void ChangeSalesOrderItem(int salesOrderDetailID,short orderQty) {
            //Change an existing order detail item            
            //Create the TransactionScope to execute the commands, guaranteeing that both commands can commit or roll back as a single unit of work
            using(TransactionScope scope = new TransactionScope()) {
                //update the sales order item and update the sales order
               if(this.mUseTableBased) {
                    new SalesOrderDetailTableGateway().UpdateSalesOrderDetail(salesOrderDetailID,orderQty);
                    Recordset.SalesOrderDetailTableRow salesOrderDetail = new SalesOrderDetailTableGateway().ReadSalesOrderDetail(salesOrderDetailID);
                    int salesOrderID = salesOrderDetail.SalesOrderID;
                    Recordset.SalesOrderTableRow salesOrder = new SalesOrderTableGateway().ReadSalesOrder(salesOrderID);
                    decimal lineTotal = orderQty * salesOrderDetail.UnitPrice * (1 - salesOrderDetail.UnitPriceDiscount);
                    decimal subTotal = salesOrder.SubTotal + lineTotal;
                    decimal taxAmt = salesOrder.TaxAmt + (0.05M * lineTotal);
                    decimal freight = salesOrder.Freight;
                    new SalesOrderTableGateway().UpdateSalesOrder(salesOrderID,subTotal,taxAmt,freight);
                }
                else {
                    SalesOrderDetailRowGateway salesOrderDetail = SalesOrderDetailRowGateway.ReadSalesOrderDetail(salesOrderDetailID);
                    salesOrderDetail.OrderQty = orderQty;
                    salesOrderDetail.Update();
                    SalesOrderRowGateway salesOrder = SalesOrderRowGateway.ReadSalesOrder(salesOrderDetail.SalesOrderID);
                    decimal lineTotal = orderQty * salesOrderDetail.UnitPrice * (1 - salesOrderDetail.UnitPriceDiscount);
                    salesOrder.SubTotal = salesOrder.SubTotal + lineTotal;
                    salesOrder.TaxAmt = salesOrder.TaxAmt + (0.05M * lineTotal);
                    salesOrder.Freight = salesOrder.Freight;
                    salesOrder.Update();
                }

               //Commits the transaction; if an exception is thrown, Complete is not called and the transaction is rolled back
               scope.Complete();
            }
        }
Ejemplo n.º 4
0
 private void OnSalesOrderSelected(object sender,EventArgs e) {
     if(this.grdSalesOrders.SelectedRows.Count > 0) {
         int id = Convert.ToInt32(this.grdSalesOrders.SelectedRows[0].Cells[0].Value);
         Recordset rs = new SalesOrderDetailTableGateway().ReadSalesOrderDetails(id);
         this.mRecordset.SalesOrderDetailTable.Clear();
         this.mRecordset.SalesOrderDetailTable.Merge(rs.SalesOrderDetailTable);
     }
 }
Ejemplo n.º 5
0
 private void OnSalesOrderSelected(object sender, EventArgs e)
 {
     if (this.grdSalesOrders.SelectedRows.Count > 0)
     {
         int       id = Convert.ToInt32(this.grdSalesOrders.SelectedRows[0].Cells[0].Value);
         Recordset rs = new SalesOrderDetailTableGateway().ReadSalesOrderDetails(id);
         this.mRecordset.SalesOrderDetailTable.Clear();
         this.mRecordset.SalesOrderDetailTable.Merge(rs.SalesOrderDetailTable);
     }
 }
        public void RemoveSalesOrderItem(int salesOrderDetailID) {
            //Delete an existing order detail item; update the sales order
            //Create the TransactionScope to execute the commands, guaranteeing that both commands can commit or roll back as a single unit of work
            using(TransactionScope scope = new TransactionScope()) {
                //remove the sales order item and update the sales order
                if(this.mUseTableBased) {
                    //delete the sales order detail and update the sales order
                    new SalesOrderDetailTableGateway().DeleteSalesOrderDetail(salesOrderDetailID);
                    Recordset.SalesOrderDetailTableRow salesOrderDetail = new SalesOrderDetailTableGateway().ReadSalesOrderDetail(salesOrderDetailID);
                    int salesOrderID = salesOrderDetail.SalesOrderID;
                    Recordset.SalesOrderTableRow salesOrder = new SalesOrderTableGateway().ReadSalesOrder(salesOrderID);
                    decimal subTotal = salesOrder.SubTotal - salesOrderDetail.LineTotal;
                    decimal taxAmt = salesOrder.TaxAmt - (0.05M * salesOrderDetail.LineTotal);
                    decimal freight = salesOrder.Freight;
                    new SalesOrderTableGateway().UpdateSalesOrder(salesOrderID,subTotal,taxAmt,freight);
                }
                else {
                    SalesOrderDetailRowGateway salesOrderDetail = SalesOrderDetailRowGateway.ReadSalesOrderDetail(salesOrderDetailID);
                    salesOrderDetail.Delete();
                    int salesOrderID = salesOrderDetail.SalesOrderID;
                    SalesOrderRowGateway salesOrder = SalesOrderRowGateway.ReadSalesOrder(salesOrderID);
                    salesOrder.SubTotal = salesOrder.SubTotal - salesOrderDetail.LineTotal;
                    salesOrder.TaxAmt = salesOrder.TaxAmt - (0.05M * salesOrderDetail.LineTotal);
                    salesOrder.Freight = salesOrder.Freight;
                    salesOrder.Update();
                }

                //Commits the transaction; if an exception is thrown, Complete is not called and the transaction is rolled back
                scope.Complete();
            }
        }