public Int32 insertStockInItem(Models.TrnStockInItem stockInItem) { try { Data.TrnStockInItem newStockInItem = new Data.TrnStockInItem(); newStockInItem.INId = stockInItem.INId; newStockInItem.ItemId = stockInItem.ItemId; newStockInItem.Particulars = stockInItem.Particulars; newStockInItem.UnitId = stockInItem.UnitId; newStockInItem.Quantity = stockInItem.Quantity; newStockInItem.Cost = stockInItem.Cost; newStockInItem.Amount = stockInItem.Amount; var item = from d in db.MstArticles where d.Id == stockInItem.ItemId select d; newStockInItem.BaseUnitId = item.First().UnitId; var conversionUnit = from d in db.MstArticleUnits where d.ArticleId == stockInItem.ItemId && d.UnitId == stockInItem.UnitId select d; if (conversionUnit.First().Multiplier > 0) { newStockInItem.BaseQuantity = stockInItem.Quantity * (1 / conversionUnit.First().Multiplier); } else { newStockInItem.BaseQuantity = stockInItem.Quantity * 1; } var baseQuantity = stockInItem.Quantity * (1 / conversionUnit.First().Multiplier); if (baseQuantity > 0) { newStockInItem.BaseCost = stockInItem.Amount / baseQuantity; } else { newStockInItem.BaseCost = stockInItem.Amount; } db.TrnStockInItems.InsertOnSubmit(newStockInItem); db.SubmitChanges(); return newStockInItem.Id; } catch { return 0; } }
public Int32 insertStockInItem(Models.TrnStockInItem stockInItem) { try { Data.TrnStockInItem newStockInItem = new Data.TrnStockInItem(); newStockInItem.INId = stockInItem.INId; newStockInItem.ItemId = stockInItem.ItemId; newStockInItem.Particulars = stockInItem.Particulars; newStockInItem.UnitId = stockInItem.UnitId; newStockInItem.Quantity = stockInItem.Quantity; newStockInItem.Cost = stockInItem.Cost; newStockInItem.Amount = stockInItem.Amount; var item = from d in db.MstArticles where d.Id == stockInItem.ItemId select d; newStockInItem.BaseUnitId = item.First().UnitId; var conversionUnit = from d in db.MstArticleUnits where d.ArticleId == stockInItem.ItemId && d.UnitId == stockInItem.UnitId select d; if (conversionUnit.First().Multiplier > 0) { newStockInItem.BaseQuantity = stockInItem.Quantity * (1 / conversionUnit.First().Multiplier); } else { newStockInItem.BaseQuantity = stockInItem.Quantity * 1; } var baseQuantity = stockInItem.Quantity * (1 / conversionUnit.First().Multiplier); if (baseQuantity > 0) { newStockInItem.BaseCost = stockInItem.Amount / baseQuantity; } else { newStockInItem.BaseCost = stockInItem.Amount; } db.TrnStockInItems.InsertOnSubmit(newStockInItem); db.SubmitChanges(); return(newStockInItem.Id); } catch { return(0); } }
public HttpResponseMessage AddStockInItem(Entities.TrnStockInItem objStockInItem, String INId) { 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 userForms = from d in db.MstUserForms where d.UserId == currentUserId && d.SysForm.FormName.Equals("StockInDetail") select d; if (userForms.Any()) { if (userForms.FirstOrDefault().CanAdd) { var stockIn = from d in db.TrnStockIns where d.Id == Convert.ToInt32(INId) select d; if (stockIn.Any()) { if (!stockIn.FirstOrDefault().IsLocked) { var item = from d in db.MstArticles where d.Id == objStockInItem.ItemId && d.ArticleTypeId == 1 && d.IsLocked == true select d; if (item.Any()) { var conversionUnit = from d in db.MstArticleUnits where d.ArticleId == objStockInItem.ItemId && d.UnitId == objStockInItem.UnitId && d.MstArticle.IsLocked == true select d; if (conversionUnit.Any()) { Decimal baseQuantity = objStockInItem.Quantity * 1; if (conversionUnit.FirstOrDefault().Multiplier > 0) { baseQuantity = objStockInItem.Quantity * (1 / conversionUnit.FirstOrDefault().Multiplier); } Decimal baseCost = objStockInItem.Amount; if (baseQuantity > 0) { baseCost = objStockInItem.Amount / baseQuantity; } Data.TrnStockInItem newStockInItem = new Data.TrnStockInItem { INId = Convert.ToInt32(INId), ItemId = objStockInItem.ItemId, Particulars = objStockInItem.Particulars, UnitId = objStockInItem.UnitId, Quantity = objStockInItem.Quantity, Cost = objStockInItem.Cost, Amount = objStockInItem.Amount, BaseUnitId = item.FirstOrDefault().UnitId, BaseQuantity = baseQuantity, BaseCost = baseCost }; db.TrnStockInItems.InsertOnSubmit(newStockInItem); db.SubmitChanges(); return(Request.CreateResponse(HttpStatusCode.OK)); } 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 in item if the current stock in detail is locked.")); } } else { return(Request.CreateResponse(HttpStatusCode.NotFound, "These current stock in details are not found in the server. Please add new stock in first before proceeding.")); } } else { return(Request.CreateResponse(HttpStatusCode.BadRequest, "Sorry. You have no rights to add new stock in item in this stock in detail page.")); } } else { return(Request.CreateResponse(HttpStatusCode.BadRequest, "Sorry. You have no access in this stock in 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 AddFolderMonitoringStockIn(List <Entities.FolderMonitoringTrnStockIn> folderMonitoringTrnStockInObjects) { try { if (folderMonitoringTrnStockInObjects.Any()) { String returnMessage = ""; List <Entities.FolderMonitoringTrnStockInHeader> newFolderMonitoringTrnStockInHeaders = new List <Entities.FolderMonitoringTrnStockInHeader>(); List <Entities.FolderMonitoringTrnStockInItem> newFolderMonitoringTrnStockInItems = new List <Entities.FolderMonitoringTrnStockInItem>(); Boolean isDataValid = false; foreach (var folderMonitoringTrnStockInObject in folderMonitoringTrnStockInObjects) { Boolean isBranchExist = false, isAccountExist = false, isArticleExist = false, isUserExist = false, isItemExist = false, isUnitExist = false; var branch = from d in db.MstBranches where d.BranchCode.Equals(folderMonitoringTrnStockInObject.BranchCode) select d; if (branch.Any()) { isBranchExist = true; } List <easyfis.Entities.MstArticle> listArticles = new List <easyfis.Entities.MstArticle>(); var account = from d in db.MstAccounts where d.AccountCode.Equals(folderMonitoringTrnStockInObject.AccountCode) select d; if (account.Any()) { isAccountExist = true; var accountArticleTypes = from d in db.MstAccountArticleTypes where d.AccountId == Convert.ToInt32(account.FirstOrDefault().Id) group d by d.ArticleTypeId into g select g; if (accountArticleTypes.Any()) { foreach (var accountArticleType in accountArticleTypes) { var articles = from d in db.MstArticles where d.ArticleTypeId == accountArticleType.Key && d.IsLocked == true select d; if (articles.Any()) { foreach (var articleObject in articles) { listArticles.Add(new easyfis.Entities.MstArticle() { Id = articleObject.Id, ManualArticleCode = articleObject.ManualArticleCode, Article = articleObject.Article }); } } } } } var article = from d in listArticles where d.ManualArticleCode.Equals(folderMonitoringTrnStockInObject.ArticleCode) select d; if (article.Any()) { isArticleExist = true; } var user = from d in db.MstUsers where d.UserName.Equals(folderMonitoringTrnStockInObject.UserCode) select d; if (user.Any()) { isUserExist = true; } var item = from d in db.MstArticles where d.ArticleTypeId == 1 && d.ManualArticleCode.Equals(folderMonitoringTrnStockInObject.ItemCode) && d.IsInventory == true && d.IsLocked == true select d; if (item.Any()) { isItemExist = true; } var unit = from d in db.MstUnits where d.Unit.Equals(folderMonitoringTrnStockInObject.Unit) select d; if (unit.Any()) { isUnitExist = true; } if (!isBranchExist) { returnMessage = "Invalid Branch Code: " + folderMonitoringTrnStockInObject.BranchCode; isDataValid = false; break; } else if (!isAccountExist) { returnMessage = "Invalid Account Code: " + folderMonitoringTrnStockInObject.AccountCode; isDataValid = false; break; } else if (!isArticleExist) { returnMessage = "Invalid Article Code: " + folderMonitoringTrnStockInObject.ArticleCode; isDataValid = false; break; } else if (!isUserExist) { returnMessage = "Invalid User Code: " + folderMonitoringTrnStockInObject.UserCode; isDataValid = false; break; } else if (!isItemExist) { returnMessage = "Invalid Item Code: " + folderMonitoringTrnStockInObject.ItemCode; isDataValid = false; break; } else if (!isUnitExist) { returnMessage = "Invalid Unit: " + folderMonitoringTrnStockInObject.Unit; isDataValid = false; break; } else { var currentStockIn = from d in db.TrnStockIns where d.BranchId == branch.FirstOrDefault().Id && d.ManualINNumber.Equals(folderMonitoringTrnStockInObject.ManualINNumber) select d; if (currentStockIn.Any()) { returnMessage = "This Manual IN No. " + folderMonitoringTrnStockInObject.ManualINNumber + " is already exist!"; isDataValid = false; break; } else { var unitConversion = from d in item.FirstOrDefault().MstArticleUnits where d.UnitId == unit.FirstOrDefault().Id select d; if (unitConversion.Any()) { Decimal baseQuantity = folderMonitoringTrnStockInObject.Quantity * 1; if (unitConversion.FirstOrDefault().Multiplier > 0) { baseQuantity = folderMonitoringTrnStockInObject.Quantity * (1 / unitConversion.FirstOrDefault().Multiplier); } Decimal baseCost = folderMonitoringTrnStockInObject.Amount; if (baseQuantity > 0) { baseCost = folderMonitoringTrnStockInObject.Amount / baseQuantity; } var folderMonitoringTrnStockInHeader = from d in newFolderMonitoringTrnStockInHeaders where d.BranchId == branch.FirstOrDefault().Id && d.ManualINNumber.Equals(folderMonitoringTrnStockInObject.ManualINNumber) select d; if (folderMonitoringTrnStockInHeader.Any()) { var currentFolderMonitoringTrnStockInHeader = folderMonitoringTrnStockInHeader.FirstOrDefault(); currentFolderMonitoringTrnStockInHeader.ListFolderMonitoringTrnStockInItems.Add(new Entities.FolderMonitoringTrnStockInItem() { ManualINNumber = folderMonitoringTrnStockInObject.ManualINNumber, ItemId = item.FirstOrDefault().Id, Particulars = folderMonitoringTrnStockInObject.Particulars, UnitId = unit.FirstOrDefault().Id, Quantity = folderMonitoringTrnStockInObject.Quantity, Cost = folderMonitoringTrnStockInObject.Cost, Amount = folderMonitoringTrnStockInObject.Amount, BaseUnitId = item.FirstOrDefault().UnitId, BaseQuantity = baseQuantity, BaseCost = baseCost }); } else { newFolderMonitoringTrnStockInItems = new List <Entities.FolderMonitoringTrnStockInItem> { new Entities.FolderMonitoringTrnStockInItem() { ManualINNumber = folderMonitoringTrnStockInObject.ManualINNumber, ItemId = item.FirstOrDefault().Id, Particulars = folderMonitoringTrnStockInObject.Particulars, UnitId = unit.FirstOrDefault().Id, Quantity = folderMonitoringTrnStockInObject.Quantity, Cost = folderMonitoringTrnStockInObject.Cost, Amount = folderMonitoringTrnStockInObject.Amount, BaseUnitId = item.FirstOrDefault().UnitId, BaseQuantity = baseQuantity, BaseCost = baseCost } }; if (newFolderMonitoringTrnStockInItems.Any()) { newFolderMonitoringTrnStockInHeaders.Add(new Entities.FolderMonitoringTrnStockInHeader() { BranchId = branch.FirstOrDefault().Id, INNumber = "0000000000", INDate = Convert.ToDateTime(folderMonitoringTrnStockInObject.INDate), AccountId = account.FirstOrDefault().Id, ArticleId = article.FirstOrDefault().Id, Particulars = folderMonitoringTrnStockInObject.Remarks, ManualINNumber = folderMonitoringTrnStockInObject.ManualINNumber, IsProduced = folderMonitoringTrnStockInObject.IsProduce, 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(folderMonitoringTrnStockInObject.CreatedDateTime), UpdatedById = user.FirstOrDefault().Id, UpdatedDateTime = Convert.ToDateTime(folderMonitoringTrnStockInObject.CreatedDateTime), ListFolderMonitoringTrnStockInItems = newFolderMonitoringTrnStockInItems }); } } isDataValid = true; } else { returnMessage = "This item code: " + folderMonitoringTrnStockInObject.ItemCode + " has invalid unit conversion. Unit: " + folderMonitoringTrnStockInObject.Unit; isDataValid = false; break; } } } } if (isDataValid) { if (newFolderMonitoringTrnStockInHeaders.Any()) { foreach (var newFolderMonitoringTrnStockInHeader in newFolderMonitoringTrnStockInHeaders) { Int32 INId = 0; var defaultINNumber = "0000000001"; var lastStockIn = from d in db.TrnStockIns.OrderByDescending(d => d.Id) where d.BranchId == newFolderMonitoringTrnStockInHeader.BranchId select d; if (lastStockIn.Any()) { var INNumber = Convert.ToInt32(lastStockIn.FirstOrDefault().INNumber) + 0000000001; defaultINNumber = FillLeadingZeroes(INNumber, 10); } Data.TrnStockIn newStockIn = new Data.TrnStockIn { BranchId = newFolderMonitoringTrnStockInHeader.BranchId, INNumber = defaultINNumber, INDate = newFolderMonitoringTrnStockInHeader.INDate, AccountId = newFolderMonitoringTrnStockInHeader.AccountId, ArticleId = newFolderMonitoringTrnStockInHeader.ArticleId, Particulars = newFolderMonitoringTrnStockInHeader.Particulars, ManualINNumber = newFolderMonitoringTrnStockInHeader.ManualINNumber, IsProduced = newFolderMonitoringTrnStockInHeader.IsProduced, PreparedById = newFolderMonitoringTrnStockInHeader.PreparedById, CheckedById = newFolderMonitoringTrnStockInHeader.CheckedById, ApprovedById = newFolderMonitoringTrnStockInHeader.ApprovedById, Status = newFolderMonitoringTrnStockInHeader.Status, IsPrinted = newFolderMonitoringTrnStockInHeader.IsPrinted, IsLocked = newFolderMonitoringTrnStockInHeader.IsLocked, CreatedById = newFolderMonitoringTrnStockInHeader.CreatedById, CreatedDateTime = newFolderMonitoringTrnStockInHeader.CreatedDateTime, UpdatedById = newFolderMonitoringTrnStockInHeader.UpdatedById, UpdatedDateTime = newFolderMonitoringTrnStockInHeader.UpdatedDateTime, }; db.TrnStockIns.InsertOnSubmit(newStockIn); db.SubmitChanges(); INId = newStockIn.Id; if (newFolderMonitoringTrnStockInHeader.ListFolderMonitoringTrnStockInItems.Any()) { foreach (var listFolderMonitoringTrnStockInItem in newFolderMonitoringTrnStockInHeader.ListFolderMonitoringTrnStockInItems) { Data.TrnStockInItem newStockInItem = new Data.TrnStockInItem { INId = INId, ItemId = listFolderMonitoringTrnStockInItem.ItemId, Particulars = listFolderMonitoringTrnStockInItem.Particulars, UnitId = listFolderMonitoringTrnStockInItem.UnitId, Quantity = listFolderMonitoringTrnStockInItem.Quantity, Cost = listFolderMonitoringTrnStockInItem.Cost, Amount = listFolderMonitoringTrnStockInItem.Amount, BaseUnitId = listFolderMonitoringTrnStockInItem.BaseUnitId, BaseQuantity = listFolderMonitoringTrnStockInItem.BaseQuantity, BaseCost = listFolderMonitoringTrnStockInItem.BaseCost }; } } var stockIn = from d in db.TrnStockIns where d.Id == INId select d; if (stockIn.Any()) { var lockStockIn = stockIn.FirstOrDefault(); lockStockIn.IsLocked = true; db.SubmitChanges(); journal.InsertStockInJournal(INId); inventory.InsertStockInInventory(INId); } } } } return(Request.CreateResponse(HttpStatusCode.OK, returnMessage)); } else { return(Request.CreateResponse(HttpStatusCode.NotFound, "Data Source is Invalid or Empty.")); } } catch (Exception ex) { Debug.WriteLine(ex); return(Request.CreateResponse(HttpStatusCode.InternalServerError, "Backend Error: " + ex.Message)); } }
public HttpResponseMessage AddFolderMonitoringStockIn(List <Entities.FolderMonitoringTrnStockIn> folderMonitoringTrnStockInObjects) { try { if (folderMonitoringTrnStockInObjects.Any()) { foreach (var folderMonitoringTrnStockInObject in folderMonitoringTrnStockInObjects) { Boolean isBranchExist = false, isAccountExist = false, isArticleExist = false, isUserExist = false, isItemExist = false; var branch = from d in db.MstBranches where d.BranchCode.Equals(folderMonitoringTrnStockInObject.BranchCode) select d; if (branch.Any()) { isBranchExist = true; } List <easyfis.Entities.MstArticle> listArticles = new List <easyfis.Entities.MstArticle>(); var account = from d in db.MstAccounts where d.AccountCode.Equals(folderMonitoringTrnStockInObject.AccountCode) select d; if (account.Any()) { isAccountExist = true; var accountArticleTypes = from d in db.MstAccountArticleTypes where d.AccountId == Convert.ToInt32(account.FirstOrDefault().Id) select d; if (accountArticleTypes.Any()) { foreach (var accountArticleType in accountArticleTypes) { var articles = from d in db.MstArticles where d.ArticleTypeId == accountArticleType.ArticleTypeId && d.IsLocked == true select d; if (articles.Any()) { foreach (var articleObject in articles) { listArticles.Add(new easyfis.Entities.MstArticle() { Id = articleObject.Id, ManualArticleCode = articleObject.ManualArticleCode, Article = articleObject.Article }); } } } } } var article = from d in listArticles where d.ManualArticleCode.Equals(folderMonitoringTrnStockInObject.ArticleCode) select d; if (article.Any()) { isArticleExist = true; } var user = from d in db.MstUsers where d.UserName.Equals(folderMonitoringTrnStockInObject.UserCode) select d; if (user.Any()) { isUserExist = true; } var item = from d in db.MstArticles where d.ArticleTypeId == 1 && d.ManualArticleCode.Equals(folderMonitoringTrnStockInObject.ItemCode) && d.IsInventory == true && d.IsLocked == true select d; if (item.Any()) { isItemExist = true; } if (isBranchExist && isUserExist && isAccountExist && isArticleExist && isItemExist) { Int32 INId = 0; var currentStockIn = from d in db.TrnStockIns where d.BranchId == branch.FirstOrDefault().Id&& d.ManualINNumber.Equals(folderMonitoringTrnStockInObject.ManualINNumber) && d.IsLocked == true select d; if (currentStockIn.Any()) { INId = currentStockIn.FirstOrDefault().Id; var unlockStockIn = currentStockIn.FirstOrDefault(); unlockStockIn.IsLocked = false; unlockStockIn.UpdatedById = user.FirstOrDefault().Id; unlockStockIn.UpdatedDateTime = Convert.ToDateTime(folderMonitoringTrnStockInObject.CreatedDateTime); db.SubmitChanges(); journal.DeleteStockInJournal(INId); inventory.DeleteStockInInventory(INId); } else { var defaultINNumber = "0000000001"; var lastStockIn = from d in db.TrnStockIns.OrderByDescending(d => d.Id) where d.BranchId == branch.FirstOrDefault().Id select d; if (lastStockIn.Any()) { var INNumber = Convert.ToInt32(lastStockIn.FirstOrDefault().INNumber) + 0000000001; defaultINNumber = FillLeadingZeroes(INNumber, 10); } Data.TrnStockIn newStockIn = new Data.TrnStockIn { BranchId = branch.FirstOrDefault().Id, INNumber = defaultINNumber, INDate = Convert.ToDateTime(folderMonitoringTrnStockInObject.INDate), AccountId = account.FirstOrDefault().Id, ArticleId = article.FirstOrDefault().Id, Particulars = folderMonitoringTrnStockInObject.Remarks, ManualINNumber = folderMonitoringTrnStockInObject.ManualINNumber, IsProduced = folderMonitoringTrnStockInObject.IsProduce, 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(folderMonitoringTrnStockInObject.CreatedDateTime), UpdatedById = user.FirstOrDefault().Id, UpdatedDateTime = Convert.ToDateTime(folderMonitoringTrnStockInObject.CreatedDateTime) }; db.TrnStockIns.InsertOnSubmit(newStockIn); db.SubmitChanges(); INId = newStockIn.Id; } var unitConversion = from d in item.FirstOrDefault().MstArticleUnits where d.MstUnit.Unit.Equals(folderMonitoringTrnStockInObject.Unit) select d; if (unitConversion.Any()) { Decimal baseQuantity = folderMonitoringTrnStockInObject.Quantity * 1; if (unitConversion.FirstOrDefault().Multiplier > 0) { baseQuantity = folderMonitoringTrnStockInObject.Quantity * (1 / unitConversion.FirstOrDefault().Multiplier); } Decimal baseCost = folderMonitoringTrnStockInObject.Amount; if (baseQuantity > 0) { baseCost = folderMonitoringTrnStockInObject.Amount / baseQuantity; } Data.TrnStockInItem newStockInItem = new Data.TrnStockInItem { INId = INId, ItemId = item.FirstOrDefault().Id, Particulars = folderMonitoringTrnStockInObject.Particulars, UnitId = unitConversion.FirstOrDefault().UnitId, Quantity = folderMonitoringTrnStockInObject.Quantity, Cost = folderMonitoringTrnStockInObject.Cost, Amount = folderMonitoringTrnStockInObject.Amount, BaseUnitId = item.FirstOrDefault().UnitId, BaseQuantity = baseQuantity, BaseCost = baseCost }; db.TrnStockInItems.InsertOnSubmit(newStockInItem); db.SubmitChanges(); var stockIn = from d in db.TrnStockIns where d.Id == INId && d.IsLocked == false select d; if (stockIn.Any()) { var lockStockIn = stockIn.FirstOrDefault(); lockStockIn.IsLocked = true; lockStockIn.UpdatedById = user.FirstOrDefault().Id; lockStockIn.UpdatedDateTime = Convert.ToDateTime(folderMonitoringTrnStockInObject.CreatedDateTime); db.SubmitChanges(); journal.InsertStockInJournal(INId); inventory.InsertStockInInventory(INId); } } } } 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.")); } }
public HttpResponseMessage AddCSVIntegratorStockInItem(List <CSVIntegratorEntities.CSVIntegratorTrnStockInItem> objStockInItems) { try { if (objStockInItems.Any()) { List <Int32> listStockInIds = new List <Int32>(); foreach (var objStockInItem in objStockInItems) { Boolean stockInExists = false; var stockIn = from d in db.TrnStockIns where d.MstBranch.BranchCode.Equals(objStockInItem.BranchCode) && d.ManualINNumber.Equals(objStockInItem.ManualINNumber) select d; if (stockIn.Any()) { listStockInIds.Add(stockIn.FirstOrDefault().Id); stockInExists = true; } Boolean itemExists = false; var item = from d in db.MstArticles where d.ManualArticleCode.Equals(objStockInItem.ItemCode) && d.ArticleTypeId == 1 && d.IsLocked == true select d; if (item.Any()) { itemExists = true; } Boolean isValid = false; if (stockInExists) { if (itemExists) { if (!stockIn.FirstOrDefault().IsLocked) { isValid = true; } } } if (isValid) { var conversionUnit = from d in db.MstArticleUnits where d.ArticleId == item.FirstOrDefault().Id && d.UnitId == item.FirstOrDefault().UnitId && d.MstArticle.IsLocked == true select d; if (conversionUnit.Any()) { Decimal baseQuantity = objStockInItem.Quantity * 1; if (conversionUnit.FirstOrDefault().Multiplier > 0) { baseQuantity = objStockInItem.Quantity * (1 / conversionUnit.FirstOrDefault().Multiplier); } Decimal baseCost = objStockInItem.Amount; if (baseQuantity > 0) { baseCost = objStockInItem.Amount / baseQuantity; } Data.TrnStockInItem newStockInItem = new Data.TrnStockInItem { INId = stockIn.FirstOrDefault().Id, ItemId = item.FirstOrDefault().Id, Particulars = objStockInItem.Particulars, UnitId = item.FirstOrDefault().UnitId, Quantity = objStockInItem.Quantity, Cost = objStockInItem.Cost, Amount = objStockInItem.Amount, BaseUnitId = item.FirstOrDefault().UnitId, BaseQuantity = baseQuantity, BaseCost = baseCost }; db.TrnStockInItems.InsertOnSubmit(newStockInItem); } } } db.SubmitChanges(); if (listStockInIds.Any()) { var stockInIds = from d in listStockInIds group d by d into g select g.Key; if (stockInIds.Any()) { foreach (var stockInId in stockInIds) { LockCSVIntegratorStockIn(stockInId); } } } return(Request.CreateResponse(HttpStatusCode.OK, "Sent Successful!")); } else { return(Request.CreateResponse(HttpStatusCode.BadRequest, "Empty!")); } } catch (Exception e) { Debug.WriteLine(e.Message); return(Request.CreateResponse(HttpStatusCode.InternalServerError, "Something's went wrong from the server.")); } }