public void CreateMultipleAttendances(AttendanceAddCharacter model) { foreach (var character in model.CharacterList) { if (character.IsChecked) { if (character.NumberOfAttendances == null) { character.NumberOfAttendances = 1; } for (int i = 0; i < character.NumberOfAttendances; i++) { var entity = new Attendance { OwnerID = _userID, CharacterID = character.CharacterID, CombatID = model.CombatID, }; using (var ctx = new ApplicationDbContext()) { ctx.Attendances.Add(entity); ctx.SaveChanges(); } } } } }
//GET: Attendance/CreateMulti/ public ActionResult CreateMultiple(int?id, string sortOrder, int?CharType) { ViewBag.CharType = CharTypeSelect(); int charTypeID = CharType.GetValueOrDefault(); var userID = Guid.Parse(User.Identity.GetUserId()); if (id != null) { int combatID = (int)id; ViewBag.CombatID = CombatSelect(combatID); } else { ViewBag.CombatID = CombatSelect(); } var model = new AttendanceAddCharacter(); model.CharacterList = new CharacterService(userID).GetAttendanceCharacterInfos() .Where(m => !CharType.HasValue || m.CharacterTypeValue == charTypeID).ToList(); ViewBag.NameSortParam = sortOrder == "name" ? "name_desc" : "name"; ViewBag.TypeSortParam = sortOrder == "type" ? "type_desc" : "type"; switch (sortOrder) { case "name": model.CharacterList = model.CharacterList.OrderBy(m => m.CharacterName).ToList(); break; case "name_desc": model.CharacterList = model.CharacterList.OrderByDescending(m => m.CharacterName).ToList(); break; case "type": model.CharacterList = model.CharacterList.OrderBy(m => m.CharacterTypeName).ToList(); break; case "type_desc": model.CharacterList = model.CharacterList.OrderByDescending(m => m.CharacterTypeName).ToList(); break; default: break; } return(View(model)); }
public ActionResult CreateMultiple(AttendanceAddCharacter model, int?CharType) { ViewBag.CombatID = CombatSelect(model.CombatID); ViewBag.CharType = CharTypeSelect(); int charTypeID = CharType.GetValueOrDefault(); if (!ModelState.IsValid) { return(View(model)); } var svc = CreateAttendanceService(); svc.CreateMultipleAttendances(model); return(RedirectToAction("Detail", "RunCombat", new { id = model.CombatID })); }