public bool SaveArticleStockInData(ArticleStockInModel articleStockInModel) { try { var invoice = new Invoice(); var orderHdr = new OrderHdr(); orderHdr.OrderDtl = new List <OrderDtl>(); var articleStockBalances = new List <ArticleStockBalances>(); //Get article codes for updating article stock var articleCodes = (from a in articleStockInModel.ArticleStockBalanceModels select a.ArticleCode).ToList(); var articleStockBalanceList = this.articleStockBalanceRepository.GetArticleStockBalanceByArticleCodes(articleCodes); Mapper.Map(articleStockInModel.InvoiceModel, invoice); Mapper.Map(articleStockInModel.OrderHdrModel, orderHdr); for (int rowIndex = 0; rowIndex < articleStockInModel.OrderDtlModels.Count; rowIndex++) { orderHdr.OrderDtl.Add(Mapper.Map(articleStockInModel.OrderDtlModels[rowIndex], new OrderDtl())); } for (int rowIndex = 0; rowIndex < articleStockInModel.ArticleStockBalanceModels.Count; rowIndex++) { var articleStockBalance = articleStockBalanceList.Where(a => a.ArticleCode == articleStockInModel.ArticleStockBalanceModels[rowIndex].ArticleCode && a.SiteCode == CommonModel.SiteCode).FirstOrDefault(); if (articleStockBalance != null) { articleStockBalance.PhysicalQty += articleStockInModel.ArticleStockBalanceModels[rowIndex].PhysicalQty; articleStockBalance.TotalPhysicalSaleableQty += articleStockInModel.ArticleStockBalanceModels[rowIndex].TotalPhysicalSaleableQty; articleStockBalance.TotalSaleableQty += articleStockInModel.ArticleStockBalanceModels[rowIndex].TotalSaleableQty; articleStockBalance.UPDATEDAT = CommonModel.SiteCode; articleStockBalance.UPDATEDBY = CommonModel.UserID; articleStockBalance.UPDATEDON = DateTime.Now; } } return(this.articleStockBalanceRepository.SaveArticleStockInData(invoice, orderHdr, articleStockBalanceList.ToList())); } catch (Exception ex) { Logger.Log(ex.Message, Logger.LogingLevel.Error); throw ex; } }
/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnUpdateStock_Click(object sender, EventArgs e) { try { if (ValidateArticleStock()) { if (CommonFunc.ShowMessage("Are you sure? The stock Quantity will be updated in the system.", MessageType.OKCancel) == DialogResult.OK) { bool status = false; DateTime dt = DateTime.Now; string stryear = dt.ToString("yy"); finYear = dt.ToString("yyyy"); string sitecodenew = CommonModel.SiteCode.ToString(); sitecodenew = sitecodenew.Substring(sitecodenew.Length - 3); int grnNextNo = commonManager.GetNextID(CommonModel.SiteCode, "GR"); grnNextNo = grnNextNo + 1; string strlastcode = string.Format("{0}", grnNextNo.ToString().PadLeft(7, '0')); grnNumber = "GRS" + sitecodenew + stryear + strlastcode; documentNumber = grnNumber; invoiceNumber = "INVS" + sitecodenew + stryear + strlastcode; articleStockInOutModel = new ArticleStockInModel(); articleStockInOutModel.OrderDtlModels = FillOrderDtlDataToModel(); articleStockInOutModel.OrderHdrModel = FillOrderHdrDataToModel(); articleStockInOutModel.ArticleStockBalanceModels = FillArticleStockBalanceDataToModel(); articleStockInOutModel.InvoiceModel = FillInvoiceDataToModel(); this.articleStockManager.SaveArticleStockInData(articleStockInOutModel); CommonFunc.ShowMessage("Stock Quantity has been updated", MessageType.Information); ResetArticleStockInData(); } } } catch (Exception ex) { CommonFunc.ShowMessage(ex.Message, MessageType.Information); Logger.Log(ex.Message, Logger.LogingLevel.Error); } }