public Int32 insertStockTransferItem(Models.TrnStockTransferItem stockTransferItem) { try { Data.TrnStockTransferItem newStockTransferItem = new Data.TrnStockTransferItem(); newStockTransferItem.STId = stockTransferItem.STId; newStockTransferItem.ItemId = stockTransferItem.ItemId; newStockTransferItem.ItemInventoryId = stockTransferItem.ItemInventoryId; newStockTransferItem.Particulars = stockTransferItem.Particulars; newStockTransferItem.UnitId = stockTransferItem.UnitId; newStockTransferItem.Quantity = stockTransferItem.Quantity; newStockTransferItem.Cost = stockTransferItem.Cost; newStockTransferItem.Amount = stockTransferItem.Amount; newStockTransferItem.BaseUnitId = stockTransferItem.BaseUnitId; var item = from d in db.MstArticles where d.Id == stockTransferItem.ItemId select d; newStockTransferItem.BaseUnitId = item.First().UnitId; var conversionUnit = from d in db.MstArticleUnits where d.ArticleId == stockTransferItem.ItemId && d.UnitId == stockTransferItem.UnitId select d; if (conversionUnit.First().Multiplier > 0) { newStockTransferItem.BaseQuantity = stockTransferItem.Quantity * (1 / conversionUnit.First().Multiplier); } else { newStockTransferItem.BaseQuantity = stockTransferItem.Quantity * 1; } var baseQuantity = stockTransferItem.Quantity * (1 / conversionUnit.First().Multiplier); if (baseQuantity > 0) { newStockTransferItem.BaseCost = stockTransferItem.Amount / baseQuantity; } else { newStockTransferItem.BaseCost = stockTransferItem.Amount; } db.TrnStockTransferItems.InsertOnSubmit(newStockTransferItem); db.SubmitChanges(); return newStockTransferItem.Id; } catch { return 0; } }
public Int32 insertStockTransferItem(Models.TrnStockTransferItem stockTransferItem) { try { Data.TrnStockTransferItem newStockTransferItem = new Data.TrnStockTransferItem(); newStockTransferItem.STId = stockTransferItem.STId; newStockTransferItem.ItemId = stockTransferItem.ItemId; newStockTransferItem.ItemInventoryId = stockTransferItem.ItemInventoryId; newStockTransferItem.Particulars = stockTransferItem.Particulars; newStockTransferItem.UnitId = stockTransferItem.UnitId; newStockTransferItem.Quantity = stockTransferItem.Quantity; newStockTransferItem.Cost = stockTransferItem.Cost; newStockTransferItem.Amount = stockTransferItem.Amount; newStockTransferItem.BaseUnitId = stockTransferItem.BaseUnitId; var item = from d in db.MstArticles where d.Id == stockTransferItem.ItemId select d; newStockTransferItem.BaseUnitId = item.First().UnitId; var conversionUnit = from d in db.MstArticleUnits where d.ArticleId == stockTransferItem.ItemId && d.UnitId == stockTransferItem.UnitId select d; if (conversionUnit.First().Multiplier > 0) { newStockTransferItem.BaseQuantity = stockTransferItem.Quantity * (1 / conversionUnit.First().Multiplier); } else { newStockTransferItem.BaseQuantity = stockTransferItem.Quantity * 1; } var baseQuantity = stockTransferItem.Quantity * (1 / conversionUnit.First().Multiplier); if (baseQuantity > 0) { newStockTransferItem.BaseCost = stockTransferItem.Amount / baseQuantity; } else { newStockTransferItem.BaseCost = stockTransferItem.Amount; } db.TrnStockTransferItems.InsertOnSubmit(newStockTransferItem); db.SubmitChanges(); return(newStockTransferItem.Id); } catch { return(0); } }
public HttpResponseMessage AddStockTransferItem(Entities.TrnStockTransferItem objStockTransferItem, String STId) { try { var currentUser = from d in db.MstUsers where d.UserId == User.Identity.GetUserId() select d; if (currentUser.Any()) { var currentUserId = currentUser.FirstOrDefault().Id; var currentBranchId = currentUser.FirstOrDefault().BranchId; var userForms = from d in db.MstUserForms where d.UserId == currentUserId && d.SysForm.FormName.Equals("StockTransferDetail") select d; if (userForms.Any()) { if (userForms.FirstOrDefault().CanAdd) { var stockTransfer = from d in db.TrnStockTransfers where d.Id == Convert.ToInt32(STId) select d; if (stockTransfer.Any()) { if (!stockTransfer.FirstOrDefault().IsLocked) { var item = from d in db.MstArticles where d.Id == objStockTransferItem.ItemId && d.IsInventory == true && d.Kitting != 2 && d.IsLocked == true select d; if (item.Any()) { var conversionUnit = from d in db.MstArticleUnits where d.ArticleId == objStockTransferItem.ItemId && d.UnitId == objStockTransferItem.UnitId && d.MstArticle.IsLocked == true select d; if (conversionUnit.Any()) { var itemInventories = from d in db.MstArticleInventories where d.ArticleId == objStockTransferItem.ItemId && d.BranchId == currentBranchId && d.Quantity > 0 && d.MstArticle.IsInventory == true && d.MstArticle.IsLocked == true select d; if (itemInventories.Any()) { Decimal baseQuantity = objStockTransferItem.Quantity * 1; if (conversionUnit.FirstOrDefault().Multiplier > 0) { baseQuantity = objStockTransferItem.Quantity * (1 / conversionUnit.FirstOrDefault().Multiplier); } Decimal baseCost = objStockTransferItem.Amount; if (baseQuantity > 0) { baseCost = objStockTransferItem.Amount / baseQuantity; } Data.TrnStockTransferItem newStockTransferItem = new Data.TrnStockTransferItem { STId = Convert.ToInt32(STId), ItemId = objStockTransferItem.ItemId, ItemInventoryId = objStockTransferItem.ItemInventoryId, Particulars = objStockTransferItem.Particulars, UnitId = objStockTransferItem.UnitId, Quantity = objStockTransferItem.Quantity, Cost = objStockTransferItem.Cost, Amount = objStockTransferItem.Amount, BaseUnitId = item.FirstOrDefault().UnitId, BaseQuantity = baseQuantity, BaseCost = baseCost, }; db.TrnStockTransferItems.InsertOnSubmit(newStockTransferItem); db.SubmitChanges(); return(Request.CreateResponse(HttpStatusCode.OK)); } else { return(Request.CreateResponse(HttpStatusCode.BadRequest, "The selected item has no inventory code.")); } } else { return(Request.CreateResponse(HttpStatusCode.BadRequest, "The selected item has no unit conversion.")); } } else { return(Request.CreateResponse(HttpStatusCode.BadRequest, "The selected item was not found in the server.")); } } else { return(Request.CreateResponse(HttpStatusCode.BadRequest, "You cannot add new stock transfer item if the current stock transfer detail is locked.")); } } else { return(Request.CreateResponse(HttpStatusCode.NotFound, "These current stock transfer details are not found in the server. Please add new stock transfer first before proceeding.")); } } else { return(Request.CreateResponse(HttpStatusCode.BadRequest, "Sorry. You have no rights to add new stock transfer item in this stock transfer detail page.")); } } else { return(Request.CreateResponse(HttpStatusCode.BadRequest, "Sorry. You have no access in this stock transfer detail page.")); } } else { return(Request.CreateResponse(HttpStatusCode.BadRequest, "Theres no current user logged in.")); } } catch (Exception e) { Debug.WriteLine(e); return(Request.CreateResponse(HttpStatusCode.InternalServerError, "Something's went wrong from the server.")); } }
public HttpResponseMessage AddFolderMonitoringStockTransfer(List <Entities.FolderMonitoringTrnStockTransfer> folderMonitoringTrnStockTransferObjects) { try { if (folderMonitoringTrnStockTransferObjects.Any()) { foreach (var folderMonitoringTrnStockTransferObject in folderMonitoringTrnStockTransferObjects) { Boolean isBranchExist = false, isToBranchExist = false, isArticleExist = false, isUserExist = false, isItemExist = false; var branch = from d in db.MstBranches where d.BranchCode.Equals(folderMonitoringTrnStockTransferObject.BranchCode) select d; if (branch.Any()) { isBranchExist = true; } var toBranch = from d in db.MstBranches where d.BranchCode.Equals(folderMonitoringTrnStockTransferObject.ToBranchCode) select d; if (toBranch.Any()) { isToBranchExist = true; } var article = from d in db.MstArticles where d.ArticleTypeId == 6 && d.ManualArticleCode.Equals(folderMonitoringTrnStockTransferObject.ArticleCode) select d; if (article.Any()) { isArticleExist = true; } var user = from d in db.MstUsers where d.UserName.Equals(folderMonitoringTrnStockTransferObject.UserCode) select d; if (user.Any()) { isUserExist = true; } var item = from d in db.MstArticles where d.ArticleTypeId == 1 && d.ManualArticleCode.Equals(folderMonitoringTrnStockTransferObject.ItemCode) && d.IsInventory == true && d.IsLocked == true select d; if (item.Any()) { isItemExist = true; } if (isBranchExist && isToBranchExist && isUserExist && isArticleExist && isItemExist) { Int32 STId = 0; var currentStockTransfer = from d in db.TrnStockTransfers where d.BranchId == branch.FirstOrDefault().Id&& d.ManualSTNumber.Equals(folderMonitoringTrnStockTransferObject.ManualSTNumber) && d.IsLocked == true select d; if (currentStockTransfer.Any()) { STId = currentStockTransfer.FirstOrDefault().Id; var unlockStockTransfer = currentStockTransfer.FirstOrDefault(); unlockStockTransfer.IsLocked = false; unlockStockTransfer.UpdatedById = user.FirstOrDefault().Id; unlockStockTransfer.UpdatedDateTime = Convert.ToDateTime(folderMonitoringTrnStockTransferObject.CreatedDateTime); db.SubmitChanges(); journal.DeleteStockTransferJournal(STId); inventory.DeleteStockTransferInventory(STId); } else { var defaultSTNumber = "0000000001"; var lastStockTransfer = from d in db.TrnStockTransfers.OrderByDescending(d => d.Id) where d.BranchId == branch.FirstOrDefault().Id select d; if (lastStockTransfer.Any()) { var STNumber = Convert.ToInt32(lastStockTransfer.FirstOrDefault().STNumber) + 0000000001; defaultSTNumber = FillLeadingZeroes(STNumber, 10); } Data.TrnStockTransfer newStockTransfer = new Data.TrnStockTransfer { BranchId = branch.FirstOrDefault().Id, STNumber = defaultSTNumber, STDate = Convert.ToDateTime(folderMonitoringTrnStockTransferObject.STDate), ToBranchId = toBranch.FirstOrDefault().Id, ArticleId = article.FirstOrDefault().Id, Particulars = folderMonitoringTrnStockTransferObject.Remarks, ManualSTNumber = folderMonitoringTrnStockTransferObject.ManualSTNumber, PreparedById = user.FirstOrDefault().Id, CheckedById = user.FirstOrDefault().Id, ApprovedById = user.FirstOrDefault().Id, Status = null, IsPrinted = false, IsLocked = false, CreatedById = user.FirstOrDefault().Id, CreatedDateTime = Convert.ToDateTime(folderMonitoringTrnStockTransferObject.CreatedDateTime), UpdatedById = user.FirstOrDefault().Id, UpdatedDateTime = Convert.ToDateTime(folderMonitoringTrnStockTransferObject.CreatedDateTime) }; db.TrnStockTransfers.InsertOnSubmit(newStockTransfer); db.SubmitChanges(); STId = newStockTransfer.Id; } var unitConversion = from d in item.FirstOrDefault().MstArticleUnits where d.MstUnit.Unit.Equals(folderMonitoringTrnStockTransferObject.Unit) select d; if (unitConversion.Any()) { Decimal baseQuantity = folderMonitoringTrnStockTransferObject.Quantity * 1; if (unitConversion.FirstOrDefault().Multiplier > 0) { baseQuantity = folderMonitoringTrnStockTransferObject.Quantity * (1 / unitConversion.FirstOrDefault().Multiplier); } Decimal baseCost = folderMonitoringTrnStockTransferObject.Amount; if (baseQuantity > 0) { baseCost = folderMonitoringTrnStockTransferObject.Amount / baseQuantity; } Int32 itemInventoryId = 0; var itemInventory = from d in db.MstArticleInventories where d.BranchId == branch.FirstOrDefault().Id&& d.ArticleId == item.FirstOrDefault().Id select d; if (itemInventory.Any()) { itemInventoryId = itemInventory.FirstOrDefault().Id; } if (itemInventoryId > 0) { Data.TrnStockTransferItem newStockTransferItem = new Data.TrnStockTransferItem { STId = STId, ItemId = item.FirstOrDefault().Id, ItemInventoryId = itemInventoryId, Particulars = folderMonitoringTrnStockTransferObject.Particulars, UnitId = unitConversion.FirstOrDefault().UnitId, Quantity = folderMonitoringTrnStockTransferObject.Quantity, Cost = folderMonitoringTrnStockTransferObject.Cost, Amount = folderMonitoringTrnStockTransferObject.Amount, BaseUnitId = item.FirstOrDefault().UnitId, BaseQuantity = baseQuantity, BaseCost = baseCost }; db.TrnStockTransferItems.InsertOnSubmit(newStockTransferItem); db.SubmitChanges(); } var stockTransfer = from d in db.TrnStockTransfers where d.Id == STId && d.IsLocked == false select d; if (stockTransfer.Any()) { var lockStockTransfer = stockTransfer.FirstOrDefault(); lockStockTransfer.IsLocked = true; lockStockTransfer.UpdatedById = user.FirstOrDefault().Id; lockStockTransfer.UpdatedDateTime = Convert.ToDateTime(folderMonitoringTrnStockTransferObject.CreatedDateTime); db.SubmitChanges(); journal.InsertStockTransferJournal(STId); inventory.InsertStockTransferInventory(STId); } } } } return(Request.CreateResponse(HttpStatusCode.OK)); } else { return(Request.CreateResponse(HttpStatusCode.NotFound, "No data found.")); } } catch (Exception ex) { Debug.WriteLine(ex); return(Request.CreateResponse(HttpStatusCode.InternalServerError, "Something's went wrong from the server.")); } }