Example #1
0
        public async Task <IActionResult> Create(MeetingViewModel meeting)
        {
            if (ModelState.IsValid)
            {
                var users        = Request.Form.ToList();
                var meetingModel = new Meeting()
                {
                    Title       = meeting.Title,
                    DateAndTime = meeting.DateAndTime,
                    IsVirtual   = meeting.IsVirtual,
                    ClientId    = meeting.ClientId
                };
                var result = _context.Add(meetingModel);
                await _context.SaveChangesAsync();

                foreach (var user in users[1].Value.ToList())
                {
                    var me = new MeetingsForUser()
                    {
                        UserId    = user,
                        MeetingId = meetingModel.Id
                    };
                    _context.MeetingsForUser.Add(me);
                }

                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["ClientId"] = new SelectList(_context.Clients, "Id", "Name", meeting.ClientId);
            return(View(meeting));
        }
Example #2
0
        public async Task <IActionResult> Edit(string id, MeetingViewModel meeting)
        {
            if (id != meeting.Id)
            {
                return(NotFound());
            }
            var meetingModel = new Meeting();

            if (ModelState.IsValid)
            {
                try
                {
                    meetingModel = new Meeting()
                    {
                        Id          = id,
                        Title       = meeting.Title,
                        DateAndTime = meeting.DateAndTime,
                        IsVirtual   = meeting.IsVirtual,
                        ClientId    = meeting.ClientId
                    };
                    var result = _context.Update(meetingModel);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!MeetingExists(id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                var users = Request.Form.ToList();
                foreach (var user in users[2].Value.ToList())
                {
                    var me = new MeetingsForUser()
                    {
                        UserId    = user,
                        MeetingId = meetingModel.Id
                    };
                    var meetingsForUser = (from mu in _context.MeetingsForUser
                                           where mu.MeetingId == id && mu.UserId == user
                                           select new MeetingsForUser
                    {
                        Id = mu.Id,
                        MeetingId = mu.MeetingId,
                        UserId = mu.UserId
                    }).ToList();
                    if (meetingsForUser.Count == 0)
                    {
                        _context.MeetingsForUser.Add(me);
                        _context.SaveChangesAsync();
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["ClientId"] = new SelectList(_context.Clients, "Id", "Name", meeting.ClientId);
            return(View(meeting));
        }