public void AddNewRefund(skRefund RefundObject, int UserID)
        {
            dtRefund NewRefund = new dtRefund
            {
                Reason     = RefundObject.Description,
                Amount     = Convert.ToDecimal(RefundObject.Amount),
                Postage    = RefundObject.SHippingCosts,
                Refunded   = DateTime.Now,
                RefundedBy = UserID,
                StockID    = Convert.ToInt32(RefundObject.StockItem.Stockid),
                Created    = DateTime.Now,
                Updated    = DateTime.Now
            };

            DB.dtRefunds.InsertOnSubmit(NewRefund);
            DB.SubmitChanges();

            dtTransactionLedger NewRefundLedger = new dtTransactionLedger
            {
                RefundID            = getlastrefund(),
                TransactionType     = "Refund",
                TotelAmount         = Maths.GetNegativeValue(Convert.ToDecimal(RefundObject.Amount)),
                TransactionDateTime = DateTime.Now
            };

            dtStockHistory NewStatus = new dtStockHistory
            {
                StoockID = Convert.ToInt32(RefundObject.StockItem.Stockid),
                Status   = "Return",
                Value    = RefundObject.Amount,
                UserID   = UserID,
                Created  = DateTime.Now,
                StatusID = 0
            };

            DB.dtTransactionLedgers.InsertOnSubmit(NewRefundLedger);
            DB.dtStockHistories.InsertOnSubmit(NewStatus);
            DB.SubmitChanges();


            dtStock stock = DB.dtStocks.Single(s => s.sID == RefundObject.StockItem.Stockid);

            stock.Sold = false;
            DB.SubmitChanges();
        }
        public void AddNewRefund(skRefund RefundObject, bool ReturnStock, int UserID)
        {
            dtRefund NewRefund = new dtRefund
            {
                Reason     = RefundObject.Description,
                Amount     = Convert.ToDecimal(RefundObject.Amount),
                Postage    = RefundObject.SHippingCosts,
                Refunded   = DateTime.Now,
                RefundedBy = UserID,
                StockID    = Convert.ToInt32(RefundObject.StockItem.Stockid),
                Created    = DateTime.Now,
                Updated    = DateTime.Now,
            };

            dtStockHistory NewStatus = new dtStockHistory
            {
                StoockID = Convert.ToInt32(RefundObject.StockItem.Stockid),
                Status   = "Return",
                Value    = RefundObject.Amount,
                UserID   = UserID,
                Created  = DateTime.Now,
                StatusID = 0
            };


            if (ReturnStock == true)
            {
                dtStockDetail details = DB.dtStockDetails.Single(s => s.StockID == RefundObject.StockItem.Stockid);
                dtStock       stock   = DB.dtStocks.Single(s => s.sID == RefundObject.StockItem.Stockid);

                stock.Sold        = false;
                stock.SaleID      = null;
                details.SaleValue = null;
            }

            DB.dtRefunds.InsertOnSubmit(NewRefund);
            DB.dtStockHistories.InsertOnSubmit(NewStatus);

            DB.SubmitChanges();
        }