示例#1
0
        public IActionResult CreateAct(ActsCreateActVM model)
        {
            if (ModelState.IsValid)
            {
                if (_context.Acts.FirstOrDefault(a => a.Name == model.Name) != null)
                {
                    ModelState.AddModelError("Name", "There is already an act with this name.");

                    return(View(model));
                }

                var act = new Act()
                {
                    Id   = Guid.NewGuid(),
                    Name = model.Name
                };

                _context.Acts.Add(act);
                _context.SaveChanges();

                return(RedirectToAction("Overview"));
            }

            ViewBag.Title = "Create act";

            return(View(model));
        }
        public async Task <IActionResult> UpgradeToPromotor()
        {
            var user = await GetCurrentUserAsync();

            var result = await _userManager.AddToRoleAsync(user, "Promotor");

            if (result.Succeeded)
            {
                _context.Promotors.Add(new Promotor()
                {
                    Id     = user.Id,
                    Email  = user.Email,
                    Events = new List <Event>()
                });
                _context.SaveChanges();

                TempData["UpgradedToPromotor"] = "You are now a Promotor.";

                return(RedirectToAction("Overview"));
            }

            TempData["UpgradeFailed"] = "Upgrade to promotor failed.";

            return(RedirectToAction("Overview"));
        }
示例#3
0
        public async Task <IActionResult> CreateEvent(EventsCreateEventVM model)
        {
            if (ModelState.IsValid)
            {
                var e = new Event()
                {
                    Id          = Guid.NewGuid(),
                    Name        = model.Name,
                    DateCreated = DateTime.Today,
                    StartDate   = model.StartDate.Date,
                    EndDate     = model.EndDate.Date,
                    StartTime   = model.StartTime,
                    EndTime     = model.EndTime,
                    Promotor    = _context.Promotors.Find((await GetCurrentUserAsync()).Id),
                    AddressLine = model.AddressLine,
                    PostalCode  = model.PostalCode,
                    City        = model.City
                };

                _context.Events.Add(e);
                _context.EventActs.AddRange(
                    model.Acts
                    .Where(a => a.IsChecked)
                    .Select(a => _context.Acts.Find(a.ActId))
                    .Select(a => new EventAct()
                {
                    Act   = a,
                    Event = e
                }));
                _context.SaveChanges();

                return(RedirectToAction("Overview"));
            }

            ViewBag.Title = "Create Event";

            return(View(model));
        }