public void SaveUpdateSubProductItems(List <SubProductItemModel> model, List <SubProductItemModel> deleteProducts) { try { List <SubProductItem> insertSubProductItem = new List <SubProductItem>(); List <SubProductItem> updateSubProductItem = new List <SubProductItem>(); List <SubProductItem> deleteSubProductItem = new List <SubProductItem>(); model?.ForEach(x => { SubProductItem updateStock = new SubProductItem(x.Id > 0 ? x.Id : 0, x.ParentProductId, x.Quantity, x.Retail, UserModelVm.UserId, null, CommonFunctions.ParseDateToFinclaveString(DateTime.Now.ToShortDateString()), string.Empty); if (x.Id > 0) { updateSubProductItem.Add(updateStock); } else { insertSubProductItem.Add(updateStock); } }); ; if (deleteProducts.Any()) { deleteSubProductItem.AddRange(deleteProducts.Select(x => new SubProductItem(x.Id, x.ParentProductId, x.Quantity, x.Retail, x.CreatedBy, UserModelVm.UserId, x.CreatedDate, CommonFunctions.ParseDateToFinclaveString(DateTime.Now.ToShortDateString())))); } _productRepository.SaveUpdateSubProductItems(updateSubProductItem, insertSubProductItem, deleteSubProductItem); } catch (Exception ex) { fault.Result = false; fault.ErrorMessage = "Error in SaveUpdateSubProductItems method"; fault.ErrorDetails = ex.ToString(); throw new FaultException <FaultData>(fault); } }
//OPTIMIZED.. //Need to Check update case //public List<StockModel> GetStocksById(int purchaseId, int companyId, int? branchId) // { // List<Stock> stocks = _purchaseRepository.GetStocksById(purchaseId) // return stocks?.Select(x => new StockModel(x.Id, x.PurchaseId, x.Quantity, x.CostPrice, x.SellingPrice, x.MRP, x.ItemTaxPercentage, x.BatchNo, x.ProductCode, x.PurchaseOrderId)).ToList(); // } //Optimized public void SaveUpdateSubProductItems(List <SubProductItemModel> model, List <SubProductItemModel> deleteProducts) { List <SubProductItem> insertSubProductItem = new List <SubProductItem>(); List <SubProductItem> updateSubProductItem = new List <SubProductItem>(); List <SubProductItem> deleteSubProductItem = new List <SubProductItem>(); model?.ForEach(x => { SubProductItem updateStock = new SubProductItem(x.Id > 0 ? x.Id : 0, x.ParentProductId, x.Quantity, x.Retail, UserModelVm.UserId, null, DateTime.Now.ToShortDateString(), string.Empty); if (x.Id > 0) { updateSubProductItem.Add(updateStock); } else { insertSubProductItem.Add(updateStock); } }); ; if (deleteProducts.Any()) { deleteSubProductItem.AddRange(deleteProducts.Select(x => new SubProductItem(x.Id, x.ParentProductId, x.Quantity, x.Retail, x.CreatedBy, UserModelVm.UserId, x.CreatedDate, DateTime.Now.ToShortDateString()))); } _productRepository.SaveUpdateSubProductItems(updateSubProductItem, insertSubProductItem, deleteSubProductItem); }
public void SaveSubProductItems(List <SubProductItemModel> model) { try { List <SubProductItem> insertSubProductItem = new List <SubProductItem>(); model?.ForEach(x => { SubProductItem updateStock = new SubProductItem(0, x.ParentProductId, x.Quantity, x.Retail, UserModelVm.UserId, null, CommonFunctions.ParseDateToFinclaveString(DateTime.Now.ToShortDateString()), string.Empty); insertSubProductItem.Add(updateStock); }); _productRepository.SaveSubProductItems(insertSubProductItem); } catch (Exception ex) { fault.Result = false; fault.ErrorMessage = "Error in SaveSubProductItems method"; fault.ErrorDetails = ex.ToString(); throw new FaultException <FaultData>(fault); } }