public LootSplit InsertLootSplit(LootSplit lootSplit) { var result = new JsonResultMessage() { Success = true, Message = "Successfully added new loot split." }; try { lootSplit = _unitOfWork.Repository <LootSplit>().Insert(lootSplit); _unitOfWork.Commit(); } catch (Exception ex) { result.Success = false; result.Message = "Error adding config. " + ex.Message; } return(lootSplit); }
public ActionResult SubmitLootSplit(LootViewModel model, string lootSplitName) { var resultMessage = ResultMessages.JsonResultMessage(); resultMessage.Message = "Successfully Submitted Loot Split."; resultMessage.Success = true; //save if (model.SelectedLootSplitId == 0) { try { var failures = 0; var successes = 0; var result = resultMessage; LootSplit lootSplit = new LootSplit(); lootSplit.Name = model.Name; List <SplitItem> splitItems = new List <SplitItem>(); foreach (LootItem lootitem in model.LootItems) { if (lootitem.Quantity > 0) { SplitItem splitItem = new SplitItem(); splitItem.LootSplitId = lootSplit.LootSplitId; splitItem.LootItemId = lootitem.LootItemId; splitItem.LootItemQuantity = lootitem.Quantity; splitItems.Add(splitItem); } } lootSplit.SplitItems = splitItems; lootSplit = _lootManager.InsertLootSplit(lootSplit); //_lootManager.InsertSplitItems(splitItems, lootSplit.Id); if (failures > 0) { resultMessage.Success = false; resultMessage.Message = "Insert Failed "; return(Json(resultMessage)); } resultMessage.Success = true; resultMessage.Message = "Inserted {0} Loot Splits(s).".FormatWith(successes); } catch (Exception ex) { resultMessage.Success = false; resultMessage.Message = "Error Inserting Loot Split. " + ex.Message; } } //load else { model.LootSplitSelectList = new SelectList(_lootManager.GetLootSplitDropdownValues(), "LootSplitId", "Name"); model.LootItems = _lootManager.GetAllLootItems().ToList(); IEnumerable <SplitItem> splitItems = _lootManager.GetSplitItems(model.SelectedLootSplitId); foreach (LootItem lootItem in model.LootItems) { foreach (SplitItem splitItem in splitItems) { if (splitItem.LootItemId == lootItem.LootItemId) { lootItem.Quantity = splitItem.LootItemQuantity; } } } foreach (SelectListItem item in model.LootSplitSelectList) { if (item.Value == model.SelectedLootSplitId.ToString()) { item.Selected = true; } } } return(View("Index", model)); }
public void Add_writes_to_database() { // In-memory database only exists while the connection is open var connection = new SqliteConnection("DataSource=:memory:"); connection.Open(); try { var options = new DbContextOptionsBuilder <SQLiteDBContext>() .UseSqlite(connection) .Options; // Create the schema in the database using (var context = new SQLiteDBContext(options)) { context.Database.EnsureCreated(); } using (var context = new SQLiteDBContext(options)) { LootSplit lootsplit = new LootSplit { Name = "Test Loot Split", LootItemId = 1, LootItems = new List <LootItem> { new LootItem { Name = "test loot item", Price = 5, Description = "test" }, new LootItem { Name = "test loot item 2", Price = 10, Description = "test2" } } }; LootItem lootitem = new LootItem { Name = "Test Loot Item", Price = 20, LootSplits = new List <LootSplit> { new LootSplit { Name = "Loot Split Test 3", LootItemId = 2, }, new LootSplit { Name = "Loot Split 4", LootItemId = 3 } } }; context.Add(lootitem); context.Add(lootsplit); context.SaveChanges(); } using (var context = new SQLiteDBContext(options)) { Assert.Equals(2, context.LootSplit.CountAsync()); } } finally { connection.Close(); } }