Beispiel #1
0
        public async Task <IActionResult> AddChapter([Bind("ApplicationUserId,ChapterId,WhenJoined,WhenExpires")] MemberAddChapterViewModel viewModel)
        {
            var user = await _userManager.GetUserAsync(HttpContext.User);

            var chapter = await _context.Chapters.FirstOrDefaultAsync(c => c.Id == viewModel.ChapterId);

            ViewBag.User = user.FirstName + " " + user.LastName;
            var model = new MemberChapter
            {
                ApplicationUserId = viewModel.ApplicationUserId,
                ChapterId         = viewModel.ChapterId,
                WhenJoined        = viewModel.WhenJoined,
                WhenExpires       = viewModel.WhenExpires
            };

            _context.Add(model);

            var note = new ApplicationUserNote
            {
                ApplicationUserId = viewModel.ApplicationUserId,
                AddedBy           = user?.FirstName + " " + user?.LastName,
                WhenAdded         = DateTime.Now,
                Note = "Joined chapter " + chapter.Name
            };

            _context.Add(note);
            await _context.SaveChangesAsync();

            return(RedirectToAction("Details", new { id = viewModel.ApplicationUserId }));
        }
Beispiel #2
0
        public async Task <IActionResult> AddChapter(string id)
        {
            var user = await _userManager.GetUserAsync(HttpContext.User);

            ViewBag.User = user.FirstName + " " + user.LastName;
            var member = await _context.ApplicationUser.SingleOrDefaultAsync(m => m.Id == id);

            var allChapters     = _context.Chapters.OrderBy(c => c.Name);
            var currentChapters = _context.MemberChapters.Where(c => c.ApplicationUserId == id && c.WhenExpires >= DateTime.Now);
            var chapters        = _context.Chapters.Where(x => !currentChapters.Select(cc => cc.ChapterId).Contains(x.Id)).OrderBy(cc => cc.Name).ToList();
            var chapterSelect   = new List <SelectListItem>();

            foreach (var chapter in chapters)
            {
                chapterSelect.Add(new SelectListItem
                {
                    Value = chapter.Id.ToString(),
                    Text  = chapter.Name
                });
            }

            var viewModel = new MemberAddChapterViewModel
            {
                ApplicationUserId = id,
                WhenJoined        = DateTime.Now,
                WhenExpires       = DateTime.Now.AddYears(1),
                Chapters          = chapterSelect,
                MemberName        = member.ContactName == "Legal Name" ? member.FirstName + " " + member.LastName : member.Pseudonym
            };

            ViewBag.CommonName = member.CommonName;
            return(View(viewModel));
        }