Beispiel #1
0
        public async Task <IActionResult> UpdateCurrencies()
        {
            if (!Enumerable.Any(_context.Currencies, currency => currency != null))
            {
                return(NotFound());
            }
            if (!Enumerable.Any(_context.Products, product => product != null))
            {
                return(NotFound());
            }
            var products = await _context.Products.ToListAsync();

            var currenciesInDatabase = await _context.Currencies.ToListAsync();

            var newData = await UtilityCurrencies.TakeData();

            UtilityCurrencies.AddingUah(newData);
            UtilityCurrencies.Recalculate(newData);
            UtilityProduct.CalculateBasicCurrencies(newData, products);
            foreach (var oldData in currenciesInDatabase)
            {
                foreach (var editedData in newData.Where(editedData => oldData.CC == editedData.CC))
                {
                    oldData.Rate         = editedData.Rate;
                    oldData.ExchangeDate = DateTime.Today.ToString("dd.MM.yyyy");
                    _context.Update(oldData);
                }
            }

            foreach (var product in products)
            {
                _context.Update(product);
            }
            await _context.SaveChangesAsync();

            return(RedirectToAction(nameof(Index)));
        }
        public async Task <IActionResult> Create(ProductsView viewProduct)
        {
            if (ModelState.IsValid)
            {
                var currency = await _context.Currencies.FindAsync(viewProduct.CurrencyId);

                viewProduct.BasicPrice    = viewProduct.Price / currency.Rate;
                viewProduct.BarcodeNumber = UtilityProduct.GenerateUniqueCode();
                var product = UtilityProduct.Create(viewProduct);
                _context.Add(product);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["ProductCategoryId"] = new SelectList(
                _context.ProductCategories,
                "ProductCategoryId",
                "ProductCategoryName");
            ViewData["CurrencyId"] = new SelectList(
                _context.Currencies,
                "CurrencyId",
                "CC");
            return(View(viewProduct));
        }