public ActionResult Delete(int id_Quest_Item) { Quest_Item foo = db.Quest_Item.Find(id_Quest_Item); db.Quest_Item.Remove(foo); db.Quest.Find(foo.Id_quest).LastEdit = DateTime.Now; //updateState-для поиска по пректу //блок обновления состояния. да я знаю надо-бы вытащить в функцию //но что-то когда вытаскиваю не нравиться. позже может быть перетащю в методы класса Quest r = db.Quest.Find(foo.Id_quest); int state = 1; foreach (var item in r.Quest_Item) { if (item.count > item.countIn) { state = 0; break; } } r.State = state; //его окончание db.SaveChanges(); return(RedirectToAction("Quest")); }
public ActionResult AddItemInQuest(int?id_quest, int?Item_count, int?Barcode_Item) //int? id_item,int? id_quest { if (id_quest == null || Barcode_Item == null) { return(RedirectToAction("Index", "Quests")); } if (Item_count == null) { Item_count = 1; } db.Quest.Find((int)id_quest).LastEdit = DateTime.Now; int countin = Utils.countFree((int)Barcode_Item) >= Item_count? (int)Item_count : Utils.countFree((int)Barcode_Item); Quest_Item foo = new Quest_Item() { Id_item = (int)Barcode_Item, Id_quest = (int)id_quest, count = (int)Item_count, countIn = countin }; if (foo.count != foo.countIn) { db.Quest.Find((int)id_quest).State = 0; } db.Quest_Item.Add(foo); db.SaveChanges(); return(RedirectToAction("Details", "Quests", new { id = id_quest })); //id_quest }
public ActionResult AddItemInQuest(int id_item, int?Item_count) { int?Id_Quest = (int?)Session["QuestID"]; if (Item_count != null && Session["QuestID"] != null) { if (Utils.countInQuest(id_item, (int)Id_Quest) + Item_count <= 10) { int countin = Utils.countFree(id_item) >= Item_count? (int)Item_count : Utils.countFree(id_item); Quest_Item foo = new Quest_Item() { Id_item = id_item, Id_quest = (int)Session["QuestID"], count = (int)Item_count, countIn = countin }; db.Quest_Item.Add(foo); if (foo.count != foo.countIn) { db.Quest.Find(Id_Quest).State = 0; } db.Quest.Find(foo.Id_quest).LastEdit = DateTime.Now; db.SaveChanges(); } } return(RedirectToAction("Index")); }