public HttpResponseMessage unlockStockTransfer(String id, Models.TrnStockTransfer stockTransfer) { try { var userId = (from d in db.MstUsers where d.UserId == User.Identity.GetUserId() select d.Id).SingleOrDefault(); var stockTransfers = from d in db.TrnStockTransfers where d.Id == Convert.ToInt32(id) select d; if (stockTransfers.Any()) { var updateStockTransfer = stockTransfers.FirstOrDefault(); updateStockTransfer.IsLocked = false; updateStockTransfer.UpdatedById = userId; updateStockTransfer.UpdatedDateTime = DateTime.Now; db.SubmitChanges(); inventory.DeleteStockTransferInventory(Convert.ToInt32(id)); journal.DeleteStockTransferJournal(Convert.ToInt32(id)); return(Request.CreateResponse(HttpStatusCode.OK)); } else { return(Request.CreateResponse(HttpStatusCode.NotFound)); } } catch { return(Request.CreateResponse(HttpStatusCode.BadRequest)); } }
public Int32 insertStockTransfer(Models.TrnStockTransfer stockTransfer) { try { var userId = (from d in db.MstUsers where d.UserId == User.Identity.GetUserId() select d.Id).SingleOrDefault(); var lastSTNumber = from d in db.TrnStockTransfers.OrderByDescending(d => d.Id) where d.BranchId == currentBranchId() select d; var STNumberResult = "0000000001"; if (lastSTNumber.Any()) { var STNumber = Convert.ToInt32(lastSTNumber.FirstOrDefault().STNumber) + 0000000001; STNumberResult = zeroFill(STNumber, 10); } var users = from d in db.MstUsers where d.Id == userId select d; var branches = from d in db.MstBranches where d.Id != currentBranchId() && d.CompanyId == users.FirstOrDefault().CompanyId select d; var otherArticles = from d in db.MstArticles where d.ArticleTypeId == 6 select d; Data.TrnStockTransfer newStockTransfer = new Data.TrnStockTransfer(); newStockTransfer.BranchId = currentBranchId(); newStockTransfer.STNumber = STNumberResult; newStockTransfer.STDate = DateTime.Today; newStockTransfer.ToBranchId = branches.FirstOrDefault().Id; newStockTransfer.ArticleId = otherArticles.FirstOrDefault().Id; newStockTransfer.Particulars = "NA"; newStockTransfer.ManualSTNumber = "NA"; newStockTransfer.PreparedById = userId; newStockTransfer.CheckedById = userId; newStockTransfer.ApprovedById = userId; newStockTransfer.IsLocked = false; newStockTransfer.CreatedById = userId; newStockTransfer.CreatedDateTime = DateTime.Now; newStockTransfer.UpdatedById = userId; newStockTransfer.UpdatedDateTime = DateTime.Now; db.TrnStockTransfers.InsertOnSubmit(newStockTransfer); db.SubmitChanges(); return(newStockTransfer.Id); } catch { return(0); } }
public HttpResponseMessage updateStockTransfer(String id, Models.TrnStockTransfer stockTransfer) { try { var userId = (from d in db.MstUsers where d.UserId == User.Identity.GetUserId() select d.Id).SingleOrDefault(); var stockTransfers = from d in db.TrnStockTransfers where d.Id == Convert.ToInt32(id) select d; if (stockTransfers.Any()) { var updateStockTransfer = stockTransfers.FirstOrDefault(); updateStockTransfer.BranchId = stockTransfer.BranchId; updateStockTransfer.STNumber = stockTransfer.STNumber; updateStockTransfer.STDate = Convert.ToDateTime(stockTransfer.STDate); updateStockTransfer.ToBranchId = stockTransfer.ToBranchId; updateStockTransfer.Particulars = stockTransfer.Particulars; updateStockTransfer.ArticleId = stockTransfer.ArticleId; updateStockTransfer.ManualSTNumber = stockTransfer.ManualSTNumber; updateStockTransfer.PreparedById = stockTransfer.PreparedById; updateStockTransfer.CheckedById = stockTransfer.CheckedById; updateStockTransfer.ApprovedById = stockTransfer.ApprovedById; updateStockTransfer.IsLocked = true; updateStockTransfer.UpdatedById = userId; updateStockTransfer.UpdatedDateTime = DateTime.Now; db.SubmitChanges(); inventory.InsertStockTransferInventory(Convert.ToInt32(id)); journal.InsertStockTransferJournal(Convert.ToInt32(id)); // Check for negative inventory bool foundNegativeQuantity = false; if (updateStockTransfer.TrnStockTransferItems.Any()) { foreach (var stockTransferItem in updateStockTransfer.TrnStockTransferItems) { if (stockTransferItem.MstArticle.IsInventory) { var mstArticleInventory = from d in db.MstArticleInventories where d.TrnStockTransferItems.Contains(stockTransferItem) select d; if (mstArticleInventory.Any()) { if (stockTransferItem.MstArticleInventory.Quantity < 0) { foundNegativeQuantity = true; break; } } } } } if (!foundNegativeQuantity) { return(Request.CreateResponse(HttpStatusCode.OK)); } else { inventory.DeleteStockTransferInventory(Convert.ToInt32(id)); journal.DeleteStockTransferJournal(Convert.ToInt32(id)); updateStockTransfer.IsLocked = false; db.SubmitChanges(); return(Request.CreateResponse(HttpStatusCode.BadRequest, "Negative Inventory Found!")); } } else { return(Request.CreateResponse(HttpStatusCode.NotFound)); } } catch (Exception e) { Debug.WriteLine(e); return(Request.CreateResponse(HttpStatusCode.BadRequest)); } }