public string CreateStock(StockCreation model) { using (IDbConnection connection = OpenConnection(dataConnection)) { IDbTransaction txn = connection.BeginTransaction(); try { model.StockCreationRefNo = DatabaseCommonRepository.GetNewDocNo(connection, model.OrganizationId, 25, true, txn); string query = @"INSERT INTO StockCreation ( StockCreationRefNo, StockCreationDate, CreatedBy, CreatedDate, OrganizationId, ConsumedStockpointId, FinishedStockpointId) VALUES ( @StockCreationRefNo, @StockCreationDate, @CreatedBy, @CreatedDate, @OrganizationId, @ConsumedStockpointId, @FinishedStockpointId) ; SELECT CAST(SCOPE_IDENTITY() AS INT)"; int id = connection.Query <int>(query, model, txn).First(); #region Inserting Finished Goods + Stock Updation foreach (var item in model.FinishedGoods) { item.StockCreationId = id; if (item.Quantity > 0) { var i = new StockCreationFinishedGoodsRepository().InsertFinishedGoods(item, connection, txn); } new StockUpdateRepository().InsertStockUpdate(new StockUpdate { OrganizationId = model.OrganizationId, CreatedBy = model.CreatedBy, CreatedDate = model.CreatedDate, StockPointId = model.FinishedStockpointId, StockType = "StockCreation", StockInOut = "IN", stocktrnDate = System.DateTime.Today, ItemId = item.ItemId, Quantity = item.Quantity, StocktrnId = id, StockUserId = model.StockCreationRefNo }, connection, txn); } #endregion #region Inserting Consumed Items + Stock Updation foreach (var item in model.ConsumedItems) { item.StockCreationId = id; if (item.Quantity > 0) { var i = new StockCreationConsumedItemsRepository().InsertConsumedItems(item, connection, txn); } new StockUpdateRepository().InsertStockUpdate(new StockUpdate { OrganizationId = model.OrganizationId, CreatedBy = model.CreatedBy, CreatedDate = model.CreatedDate, StockPointId = model.ConsumedStockpointId, StockType = "StockCreation", StockInOut = "OUT", stocktrnDate = System.DateTime.Today, ItemId = item.ItemId, Quantity = item.Quantity * (-1), StocktrnId = id, StockUserId = model.StockCreationRefNo }, connection, txn); } #endregion InsertLoginHistory(dataConnection, model.CreatedBy, "Create", "Stock Creation", id.ToString(), "0"); txn.Commit(); } catch (Exception ex) { txn.Rollback(); throw ex; } return(model.StockCreationRefNo); } }
private int Create(SubAssembly model, IDbConnection connection, IDbTransaction txn) { try { #region Inserting into [StockCreation] head string query = @"INSERT INTO StockCreation ( StockCreationRefNo, StockCreationDate, isSubAssembly, EmployeeId, WorkingHours, CreatedBy, CreatedDate, OrganizationId, ConsumedStockpointId, FinishedStockpointId ) VALUES ( @StockCreationRefNo, @StockCreationDate, 1, @EmployeeId, @WorkingHours, @CreatedBy, @CreatedDate, @OrganizationId, @ConsumedStockpointId, @FinishedStockpointId ); SELECT CAST(SCOPE_IDENTITY() AS INT)"; int id = connection.Query <int>(query, model, txn).First(); #endregion #region Inserting Finished Goods + Stock Updation foreach (var item in model.FinishedGoods) { item.StockCreationId = id; var i = new StockCreationFinishedGoodsRepository().InsertFinishedGoods(item, connection, txn); new StockUpdateRepository().InsertStockUpdate(new StockUpdate { OrganizationId = model.OrganizationId, CreatedBy = model.CreatedBy, CreatedDate = model.CreatedDate, StockPointId = model.FinishedStockpointId, StockType = typeof(SubAssembly).Name, StockInOut = "IN", stocktrnDate = System.DateTime.Today, ItemId = item.ItemId, Quantity = item.Quantity, StocktrnId = id, StockUserId = model.StockCreationRefNo }, connection, txn); } #endregion #region Inserting Consumed Items + Stock Updation foreach (var item in model.ConsumedItems) { item.StockCreationId = id; var i = new StockCreationConsumedItemsRepository().InsertConsumedItems(item, connection, txn); new StockUpdateRepository().InsertStockUpdate(new StockUpdate { OrganizationId = model.OrganizationId, CreatedBy = model.CreatedBy, CreatedDate = model.CreatedDate, StockPointId = model.ConsumedStockpointId, StockType = typeof(SubAssembly).Name, StockInOut = "OUT", stocktrnDate = System.DateTime.Today, ItemId = item.ItemId, Quantity = item.Quantity * (-1), StocktrnId = id, StockUserId = model.StockCreationRefNo }, connection, txn); } #endregion return(id); } catch (Exception) { throw; } }