public ActionResult Create([Bind(Include = "Id,Name,Description,Store")]
                                   Product product)
        {
            if (ModelState.IsValid)
            {
                db.Products.Add(product);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(product));
        }
示例#2
0
 public async Task <bool> UpdateProject(Project project)
 {
     try
     {
         _db.Set <Project>().Update(project);
         _db.SaveChanges();
     }
     catch (Exception e)
     {
         return(false);
     }
     return(true);
 }
        public ActionResult Edit([Bind(Include = "Id,Name,Address")] Store store, int[] selectedProducts)
        {
            if (ModelState.IsValid)
            {
                var storeFind = db.Stores.Find(store.Id);
                if (storeFind != null)
                {
                    storeFind.Products.Clear();
                    if (selectedProducts != null)
                    {
                        foreach (var prod in db.Products.Where(p => selectedProducts.Contains(p.Id)))
                        {
                            storeFind.Products.Add(prod);
                        }
                    }

                    db.SaveChanges();
                    db.Entry(storeFind).State = EntityState.Modified;
                }

                _storeRepository.UpdateStore(store);

                return(RedirectToAction("Index"));
            }

            return(View(store));
        }
        public IActionResult CreateTask(CreateTaskPostData createTaskPostData)
        {
            if (!ModelState.IsValid)
            {
                return(RedirectToAction(nameof(Index), new { message = "Please fill all fields to create task" }));
            }

            TestTaskDb testTaskDb = new TestTaskDb
            {
                Title       = createTaskPostData.Title,
                Description = createTaskPostData.Decription,
                Status      = (int)TaskStatus.New
            };

            TestTaskDb createdTask = _testTaskContext.Add(testTaskDb).Entity;

            _testTaskContext.SaveChanges();

            return(RedirectToAction(nameof(Index), new { message = $"Task {createdTask.Id} created" }));
        }
示例#5
0
        /// <summary>
        /// Запрашивает курсы валют записывает их в базу и выводит в консоль
        /// </summary>
        static void GetCourse()
        {
            //Добавление нескольких тестовых записей в таблицу Curencies если таблица пустая
            using (TestTaskContext db = new TestTaskContext())
            {
                if (!db.Currencies.Any())
                {
                    var currencies = new List <Currency>
                    {
                        new Currency {
                            CharCode = "USD", Id = "R01235"
                        },
                        new Currency {
                            CharCode = "EUR", Id = "R01239"
                        },
                        new Currency {
                            CharCode = "JPY", Id = "R01820"
                        }
                    };
                    db.Currencies.AddRange(currencies);
                    db.SaveChanges();
                }
            }

            while (true)
            {
                var dateString = DateTime.Now.ToString("dd.MM.yyyy");

                WebClient wc = new WebClient()
                {
                    Encoding = Encoding.GetEncoding(1251)
                };
                var response = wc.DownloadString($"http://www.cbr.ru/scripts/XML_daily.asp?date_req={dateString}");

                var col      = XDocument.Parse(response).Root;
                var elements = col.Elements();

                using (TestTaskContext db = new TestTaskContext())
                {
                    //Удаляем курсы за текущую дату чтобы не было дублей за один день
                    var todayCurrencyRates = db.CurrencyRates.Where(x => x.Date.Year == DateTime.Now.Year && x.Date.Month == DateTime.Now.Month && x.Date.Day == DateTime.Now.Day);
                    db.CurrencyRates.RemoveRange(todayCurrencyRates);

                    //Выбираем курсы только которые есть в таблице Currencies и сохраняем их в базу с текущей датой
                    var charCodes = db.Currencies.Select(e => e.CharCode).ToList();
                    foreach (var item in elements)
                    {
                        var element = item.Element("CharCode").Value.ToString();
                        if (charCodes.Contains(element))
                        {
                            CurrencyRate cr = new CurrencyRate();
                            cr.Date     = DateTime.Now.Date;
                            cr.Currency = element;
                            cr.Сourse   = decimal.Parse(item.Element("Value").Value.ToString());
                            db.CurrencyRates.Add(cr);
                        }
                    }
                    db.SaveChanges();

                    Console.WriteLine("Список валют:");
                    foreach (var currency in db.Currencies)
                    {
                        Console.WriteLine($"Код: {currency.CharCode} ID: {currency.Id}");
                    }

                    Console.WriteLine("Список курсов:");
                    foreach (var currencyRate in db.CurrencyRates)
                    {
                        Console.WriteLine($"Дата: {currencyRate.Date.ToString("dd.MM.yyyy")} Код: {currencyRate.Currency} Курс: {currencyRate.Сourse}");
                    }
                }
                Thread.Sleep(interval);
            }
        }
示例#6
0
 public void InsertStore(Store store)
 {
     context.Stores.Add(store);
     context.SaveChanges();
 }
示例#7
0
 public void InsertProduct(Product product)
 {
     context.Products.Add(product);
     context.SaveChanges();
 }