/// <summary> /// Get stock creation by id /// </summary> /// <param name="id">StockCreationId</param> /// <returns></returns> public StockCreation GetStockCreation(int id, int OrganizationId) { using (IDbConnection connection = OpenConnection(dataConnection)) { try { #region Get data from [StockCreation] head string query = @"SELECT StockCreationId, StockCreationRefNo, StockCreationDate, ConsumedStockpointId, FinishedStockpointId FROM StockCreation WHERE StockCreationId = @id AND OrganizationId = @organizationId AND isSubAssembly = 0 AND isActive = 1"; StockCreation model = connection.Query <StockCreation>(query, new { id = id, OrganizationId = OrganizationId }).First(); #endregion #region Get data from [StockCreationConsumedItems] query = @"SELECT ConsumedItemsId, StockCreationId, ItemId, Quantity, Rate FROM StockCreationConsumedItems WHERE StockCreationId = @id AND isActive = 1"; model.ConsumedItems = connection.Query <StockCreationConsumedItem>(query, new { id = id }).ToList(); #endregion #region Get data from [StockCreationFinishedGoods] query = @"SELECT FinishedGoodsId, StockCreationId, ItemId, Quantity, Rate FROM StockCreationFinishedGoods WHERE StockCreationId = @id AND isActive = 1"; model.FinishedGoods = connection.Query <StockCreationFinishedGood>(query, new { id = id }).ToList(); #endregion return(model); } catch (Exception) { return(new StockCreation()); } } }
public ActionResult Create() { FillDropdowns(); var model = new StockCreation { StockCreationDate = DateTime.Today, StockCreationRefNo = DatabaseCommonRepository.GetNextDocNo(25, OrganizationId), ConsumedItems = ConsumedItemsGrid(), FinishedGoods = FinishedGoodsGrid() }; return(View(model)); }
public ActionResult Create(StockCreation model) { try { model.OrganizationId = OrganizationId; model.CreatedDate = System.DateTime.Now; model.CreatedBy = UserID.ToString(); string ref_no = new StockCreationRepository().CreateStock(model); TempData["success"] = "Saved successfully. Reference No. is " + ref_no; } catch (Exception) { TempData["error"] = "Some error occured while saving. Please try again."; FillDropdowns(); return(View(model)); } return(RedirectToAction("Create")); }
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); } }