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();
                        }
                    }
                }
            }
        }
示例#2
0
        //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));
        }
示例#3
0
        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 }));
        }