public ActionResult ManageTransfer([Bind(Include = "SiteTransID,UserID,Tdate,SiteID,ItemID,QtyAdded,QtyRemoved,ToSiteID,Remarks")] SiteTransasction siteTransaction, int OriginalQty) { siteTransaction.Tdate = DateTime.Now; var getStock = db.FirstOrDefault <SiteCurrentStock>("Select SiteStockID,Qty From SiteCurrentStock Where SiteID=@0 and ItemID =@1", siteTransaction.SiteID, siteTransaction.ItemID); var TransferStock = db.FirstOrDefault <SiteCurrentStock>("Select SiteStockID,Qty From SiteCurrentStock Where SiteID=@0 and ItemID =@1", siteTransaction.ToSiteID, siteTransaction.ItemID); using (var transaction = db.GetTransaction()) { try { if (getStock != null) { if (siteTransaction.SiteTransID > 0) { db.Update("SiteCurrentStock", "SiteStockID", new { Qty = getStock.Qty + OriginalQty - siteTransaction.QtyRemoved }, getStock.SiteStockID); } else { db.Update("SiteCurrentStock", "SiteStockID", new { Qty = getStock.Qty - siteTransaction.QtyRemoved }, getStock.SiteStockID); } if (TransferStock != null) { if (siteTransaction.SiteTransID > 0) { db.Update("SiteCurrentStock", "SiteStockID", new { Qty = TransferStock.Qty - OriginalQty + siteTransaction.QtyRemoved }, TransferStock.SiteStockID); } else { db.Update("SiteCurrentStock", "SiteStockID", new { Qty = TransferStock.Qty + siteTransaction.QtyRemoved }, TransferStock.SiteStockID); } } else { var item = new SiteCurrentStock { SiteID = siteTransaction.ToSiteID, ItemID = siteTransaction.ItemID, Qty = siteTransaction.QtyRemoved }; db.Save(item); } base.BaseSave <SiteTransasction>(siteTransaction, siteTransaction.SiteTransID > 0); transaction.Complete(); } } catch (Exception ex) { db.AbortTransaction(); throw ex; } } return(RedirectToAction("ManageTransfer")); }
public ActionResult Manage([Bind(Include = "SiteTransID,UserID,Tdate,SiteID,SupplierID,Path,UploadedFile,ItemID,Price,QtyAdded,Remarks,QtyRemoved")] ChallanImg siteTransaction, int OriginalQty) { siteTransaction.Tdate = DateTime.Now; var currentStock = db.SingleOrDefault <SiteCurrentStock>("select * from SiteCurrentStock where SiteID = @0 and ItemID= @1", siteTransaction.SiteID, siteTransaction.ItemID); using (var transaction = db.GetTransaction()) { try { //on 14 Nov 2017 stanley said suppliers would make their own bills, hence the below was commented out //var sup = db.FirstOrDefault<SupplierBill>("Select SBillID,SupplierID from SupplierBill Where SupplierID = @0", siteTransaction.SupplierID); //var getSupBill = db.FirstOrDefault<SupplierBillDetail>("Select SBillDetailID,SBillID,ItemID,Qty,UnitPrice,QtyRec from SupplierBillDetail Where ItemID= @0 and SBillID = @1", siteTransaction.ItemID, sup.SBillID); //if (siteTransaction.SiteTransID>0) //{ // if (getSupBill != null) // { // db.Update("SupplierBillDetail", "SBillDetailID", new { QtyRec = siteTransaction.QtyAdded + getSupBill.QtyRec - OriginalQty }, getSupBill.SBillDetailID); // siteTransaction.SBillDetailID = getSupBill.SBillDetailID; // } //} //else //{ // if (getSupBill != null) // { // if (getSupBill.Qty != getSupBill.QtyRec) // { // db.Update("SupplierBillDetail", "SBillDetailID", new { QtyRec =siteTransaction.QtyAdded+getSupBill.QtyRec}, getSupBill.SBillDetailID); // } // siteTransaction.SBillDetailID = getSupBill.SBillDetailID; // } //} if (currentStock == null) //this is the first purchase of the item at thissite { // var getSupBill = db.FirstOrDefault<SupplierBillDetail>("SBillDetailID,SBillID,ItemID,Qty,UnitPrice,QtyRec","Supplier as sp inner join SupplierBillDetail as sbd on sp.SBillID = sbd.SBillID where Supplier Where ItemID= @0 and SupplierID=@0",siteTransaction.ItemID,siteTransaction.SupplierID); var item = new SiteCurrentStock { SiteID = siteTransaction.SiteID, ItemID = siteTransaction.ItemID, Qty = siteTransaction.QtyAdded }; db.Save(item); } else { if (siteTransaction.SiteTransID > 0) //Edit mode { db.Update("SiteCurrentStock", "SiteStockID", new { Qty = currentStock.Qty - OriginalQty + siteTransaction.QtyAdded }, currentStock.SiteStockID); } else { db.Update("SiteCurrentStock", "SiteStockID", new { Qty = currentStock.Qty + siteTransaction.QtyAdded }, currentStock.SiteStockID); } } SiteTransasction res = new SiteTransasction { ItemID = siteTransaction.ItemID, Price = siteTransaction.Price, QtyAdded = siteTransaction.QtyAdded, QtyRemoved = siteTransaction.QtyRemoved, Remarks = siteTransaction.Remarks, SiteID = siteTransaction.SiteID, SiteTransID = siteTransaction.SiteTransID, SupplierID = siteTransaction.SupplierID, Tdate = siteTransaction.Tdate, UserID = siteTransaction.UserID }; if (siteTransaction.UploadedFile != null) { string fn = siteTransaction.UploadedFile.FileName.Substring(siteTransaction.UploadedFile.FileName.LastIndexOf('\\') + 1); fn = siteTransaction.SiteID + "_" + fn; string SavePath = System.IO.Path.Combine(Server.MapPath("~/Images"), fn); siteTransaction.UploadedFile.SaveAs(SavePath); //System.Drawing.Bitmap upimg = new System.Drawing.Bitmap(siteTransaction.UploadedFile.InputStream); //System.Drawing.Bitmap svimg = MyExtensions.CropUnwantedBackground(upimg); //svimg.Save(System.IO.Path.Combine(Server.MapPath("~/Images"), fn)); res.path = fn; } else { res.path = siteTransaction.path; } base.BaseSave <SiteTransasction>(res, siteTransaction.SiteTransID > 0); transaction.Complete(); return(RedirectToAction("Index")); } catch (Exception ex) { db.AbortTransaction(); throw ex; } } }