public List <FeedingIngredientViewParAll> GetAllFeedIngr() { using (var feedIng = new FeedingIngredientRepository()) { return(feedIng.GetAll().Select(x => new FeedingIngredientViewParAll { FeedingIngredientsId = x.FeedingIngredientsId, Percentage = (_percentage.GetAll().ToList().Find(p => p.FeedingPercentageId == x.FeedingPercentageId).Percentage).ToString(CultureInfo.InvariantCulture), StockItem = _stock.GetAll().ToList().Find(s => s.FeedingStockId == x.FeedingStockId).ItemName, IngredientMass = x.IngredientMass }).ToList()); } }
public void DeleteAllIngredientsFromList() { using (var feedIng = new FeedingIngredientRepository()) { foreach (var ingredient in feedIng.GetAll()) { var ing = feedIng.GetById(ingredient.FeedingIngredientsId); if (ing != null) { feedIng.Delete(ing); } } } }
public void AddFeedRatio(FeedingRatioView model) { using (var feedRatio = new FeedingRatioRepository()) { //from ingredients double totalIngredientsMass = _ingredients.GetAll().Sum(x => Convert.ToDouble(x.IngredientMass)); var feed = new FeedingRatio { FeedingRatioId = model.FeedingRatioId, ProductName = model.ProductName, ProductMass = totalIngredientsMass.ToString(CultureInfo.InvariantCulture) + " Kg." }; feedRatio.Insert(feed); DeleteAllIngredientsFromList(); } }
public void AddFeedIngr(FeedingIngredientsView model) { using (var feedIng = new FeedingIngredientRepository()) { //calculate percentage from dropdown list string per = _percentage.GetAll() .ToList() .Find(x => x.FeedingPercentageId == model.FeedingPercentageId) .Percentage; //get percentage length int indper = per.Length; //Get total mass from feeding stock double mass = _stock.GetAll().ToList().Find(x => x.FeedingStockId == model.FeedingStockId).TotalMass; //calculatye percentage mass that has been added as an ingredient double calcPercMass = ((Convert.ToDouble(per.Substring(0, indper - 2))) / 100) * mass; //Add Ingredients to database FeedingIngredients getList = feedIng.GetAll().ToList().Find(x => x.FeedingStockId == model.FeedingStockId); if (getList != null) { getList.IngredientMass = Convert.ToString(Convert.ToDouble(getList.IngredientMass) + calcPercMass, CultureInfo.InvariantCulture); getList.FeedingPercentageId = model.FeedingPercentageId; getList.FeedingStockId = model.FeedingStockId; feedIng.Update(getList); } else { var feedIn = new FeedingIngredients { FeedingIngredientsId = model.FeedingIngredientsId, IngredientMass = calcPercMass.ToString(CultureInfo.InvariantCulture), FeedingPercentageId = model.FeedingPercentageId, FeedingStockId = model.FeedingStockId }; //Call repository insert feedIng.Insert(feedIn); } //Mass from stock update every time ingredient is added //Gets stock item that has been selected var stock = _stock.GetAll().ToList().Find(x => x.FeedingStockId == model.FeedingStockId); if (stock != null) { //Calculate mass left double massLeff = stock.TotalMass - calcPercMass; //Get the number of items minused in stock double massRatio = massLeff / stock.Mass; //Check if number is a double int index = massRatio.ToString(CultureInfo.InvariantCulture).IndexOf('.'); //calculates the number of items bought and replace values with left int number; if (index > 0) { number = (Convert.ToInt16(massRatio.ToString(CultureInfo.InvariantCulture).Substring(0, index)) + 1); stock.NumberOfItems = number; } else { number = Convert.ToInt16(massRatio.ToString(CultureInfo.InvariantCulture)); stock.NumberOfItems = number; } //update mass stock to new value stock.TotalMass = Math.Round(massLeff, 0); //call update method from repository and update _stock.Update(stock); } } }