public List <StockElementDTO> GetAll()
        {
            using (var dbContext = new DatabaseContext())
            {
                var stockElements    = dbContext.StockElements.ToList();
                var stockElementDtos = StockElementFactory.ConvertToDtos(stockElements);

                return(stockElementDtos);
            }
        }
        public List <StockElementDTO> GetByFilter(string elementName)
        {
            using (var dbContext = new DatabaseContext())
            {
                var stockElements    = dbContext.StockElements.Where(x => x.Name == elementName).ToList();
                var stockElementDtos = StockElementFactory.ConvertToDtos(stockElements);

                return(stockElementDtos);
            }
        }
 public void CreateNew(StockElementDTO newStockElements)
 {
     using (var dbContext = new DatabaseContext())
     {
         var stockElements = StockElementFactory.ConvertToEntity(newStockElements);
         stockElements.Select(x => { x.PurchaseDate = DateTime.Now; return(x); }).ToList();
         dbContext.AddRange(stockElements);
         dbContext.SaveChanges();
     }
 }
        public void UpdateStockElement(OpeningStockElementDTO updatedStockElements)
        {
            using (var dbContext = new DatabaseContext())
            {
                var stockElement = dbContext.StockElements.Where(x => x.Name == updatedStockElements.Name && x.OpeningDate == null).FirstOrDefault();
                if (stockElement != null)
                {
                    var updatedStockElement = StockElementFactory.UpdateEntity(stockElement, updatedStockElements);
                    dbContext.Update(updatedStockElement);

                    dbContext.SaveChanges();
                }
            }
        }