public void LinkTranToStock(ITransaction TransactionObject, skStock StockOBJ, int UserID) { dtStock StockObj = DB.dtStocks.Single(x => x.sID == StockOBJ.Stockid); dtStockDetail StockDetais = DB.dtStockDetails.Single(x => x.StockID == StockOBJ.Stockid); switch (TransactionObject.TransactionType) { case TransactionType.Sale: StockDetais.SaleValue = StockOBJ.SaleValue; dtSale SaleObj = DB.dtSales.Single(x => x.tID == TransactionObject.ID); SaleObj.SoldValue += StockDetais.SaleValue; StockObj.SaleID = TransactionObject.ID; CreateNewStockStatus(StockOBJ.Stockid, "Linked To sale " + SaleObj.tID, UserID, Convert.ToDecimal(StockOBJ.SaleValue)); break; case TransactionType.Purchase: StockDetais.PurchaseValue = StockOBJ.purchasedvalue; dtPurchese PurchaseObj = DB.dtPurcheses.Single(x => x.pID == TransactionObject.ID); PurchaseObj.PurchesedValue += StockDetais.PurchaseValue; StockObj.PurchaseID = TransactionObject.ID; CreateNewStockStatus(StockOBJ.Stockid, "Linked To Purchase " + PurchaseObj.pID, UserID, Convert.ToDecimal(StockOBJ.purchasedvalue)); break; } DB.SubmitChanges(); }
public void UpdateSale(skSales SaleObject) { dtSale SaleToUpdate = DB.dtSales.Single(x => x.tID == SaleObject.ID); if (SaleToUpdate != null) { SaleToUpdate.Description = SaleObject.Description; SaleToUpdate.Title = SaleObject.Title; SaleToUpdate.SoldDate = SaleObject.TransactionTime; SaleToUpdate.Updated = DateTime.Now; DB.SubmitChanges(); } else { throw new Exception("Sale record doesnt exist within the Database."); } }
public void AddNewSale(skSales TransactionObject, int UserID) { dtSale newtransaction = new dtSale { SoldValue = TransactionObject.Amount, PaypayFees = TransactionObject.PayPalFees, PandP = TransactionObject.Postage, SaleMethod = TransactionObject.SaleMethod, SoldDate = TransactionObject.SaleDate, SoldBy = UserID, PayPalTransactionID = TransactionObject.PayPalTransactionID, Updated = DateTime.Now, Created = DateTime.Now, Title = TransactionObject.Title, Description = TransactionObject.Description, PersonID = TransactionObject.PersonObj.pID }; DB.dtSales.InsertOnSubmit(newtransaction); DB.SubmitChanges(); int tid = MostRecentsalesID(); decimal pvalue = Math.Abs(Convert.ToDecimal(TransactionObject.PayPalFees)) * (-1); decimal ppvalue = Math.Abs(Convert.ToDecimal(TransactionObject.Postage)) * (-1); dtTransactionLedger newsaleledger = new dtTransactionLedger { SaleID = tid, PurchaseID = null, TotelAmount = Convert.ToDecimal(TransactionObject.Amount), TransactionType = "Item Sale", TransactionDateTime = Convert.ToDateTime(TransactionObject.SaleDate) }; dtTransactionLedger newspaypal = new dtTransactionLedger { SaleID = tid, PurchaseID = null, TotelAmount = pvalue, TransactionType = "PayPal Fees", TransactionDateTime = Convert.ToDateTime(TransactionObject.SaleDate) }; dtTransactionLedger newepostage = new dtTransactionLedger { SaleID = tid, PurchaseID = null, TotelAmount = ppvalue, TransactionType = "Sale Postage", TransactionDateTime = Convert.ToDateTime(TransactionObject.SaleDate) }; foreach (skStock s in TransactionObject.StockList) { dtStockHistory newstatus = new dtStockHistory { StoockID = Convert.ToInt32(s.Stockid), Status = "Stock Sold", Value = 0, UserID = UserID, Created = DateTime.Now, StatusID = 1 }; DB.dtStockHistories.InsertOnSubmit(newstatus); dtStockDetail SD = DB.dtStockDetails.Single(x => x.StockID == s.Stockid); SD.SaleValue = s.SaleValue; } List <long> StockIds = new List <long>(); foreach (skStock s in TransactionObject.StockList) { StockIds.Add(s.Stockid); } var setsold = from ST in DB.dtStocks where StockIds.Contains(ST.sID) select ST; foreach (dtStock s in setsold) { s.Sold = true; s.SaleID = tid; } DB.dtTransactionLedgers.InsertOnSubmit(newepostage); DB.dtTransactionLedgers.InsertOnSubmit(newspaypal); DB.dtTransactionLedgers.InsertOnSubmit(newsaleledger); DB.SubmitChanges(); }