Example #1
0
        public async Task <IActionResult> Create([Bind("EventId,UserId,EventCreator,EventMembers,DeclinedMembers,Subject,Description,Location,StartTime,EndTime,IsFullDay")] Event @event)
        {
            if (ModelState.IsValid)
            {
                @event.SchedulerUser = await _userManager.GetUserAsync(HttpContext.User); //This also sets the UserId for the event.

                var userName = @event.SchedulerUser.UserName;
                @event.EventCreator    = userName;
                @event.DeclinedMembers = new List <string>(); // Initialize declinded members list.

                //Lowercase all members
                @event.EventMembers = @event.EventMembers.ConvertAll(d => d.ToLower());

                //Check for event creator in member input
                foreach (var e in @event.EventMembers)
                {
                    if (e == @event.EventCreator)
                    {
                        TempData["CreatorNotMember"] = "You cannot put yourself as a Member. Don't worry, you are definitly a part of the event you created.";
                        return(View());
                    }
                }

                //Check for duplicate members into member input
                var duplicateMembers = from x in @event.EventMembers
                                       group x by x into grouped
                                       where grouped.Count() > 1
                                       select grouped.Key;
                List <string> duplicateMemberList = duplicateMembers.ToList();
                if (duplicateMemberList.Count >= 1)
                {
                    TempData["DuplicateMember"] = "You added " + String.Join("& ", duplicateMemberList) + " twice. You cannot do that.";
                    return(View());
                }


                //Check if added members have accounts. Only registered users can be added as Event Members.
                var allUsers = _userManager.Users
                               .AsNoTracking();
                List <string> allUserNames     = new List <string>(allUsers.Select(u => u.UserName));
                List <string> unregisteredUser = new List <string>(@event.EventMembers.Except(allUserNames));
                if (unregisteredUser.Count == 1)
                {
                    TempData["UserNotRegistered"] = String.Join(",", unregisteredUser) + " is not registered with Scheduler. Please enter a valid e-mail address.";
                    return(View());
                }
                if (unregisteredUser.Count > 1)
                {
                    TempData["MultiUsersNotRegistered"] = String.Join(", ", unregisteredUser) + " are not registered with Scheduler. Please enter a valid e-mail address.";
                    return(View());
                }

                _context.Add(@event);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(@event));
        }
        public async Task <Objective> AddAsync(Objective newObjective)
        {
            _dbContext.Objectives.Add(newObjective);

            await _dbContext.SaveChangesAsync();

            return(newObjective);
        }
Example #3
0
 public async Task <bool> SaveAsync()
 {
     return((await _context.SaveChangesAsync()) > 0);
 }
 public async Task Save()
 {
     await _db.SaveChangesAsync();
 }
Example #5
0
 public async Task Add(T entity)
 {
     context.Set <T>().Add(entity);
     await context.SaveChangesAsync();
 }