public ActionResult CreateSection()
        {
            var userLogins = _userService.GetAllUserEntities()
                             .Where(u => !u.IsBlocked)
                             .Select(u => new SelectListItem()
            {
                Value = u.Login, Text = u.Login
            });
            var section = new SectionCreateViewModel()
            {
                UsersLogin = userLogins
            };

            return(View(section));
        }
예제 #2
0
        public async Task <IActionResult> Create(int proyectID, SectionCreateViewModel section)
        {
            if (ModelState.IsValid)
            {
                _context.Add(new Section()
                {
                    ProyectId    = section.proyectId,
                    Name         = section.Name,
                    Descriptions = section.Description
                });
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index), new { ProyectId = section.proyectId }));
            }

            ViewData["currentProyect"] = proyectID;
            return(View(section));
        }
        public ActionResult EditSection(SectionCreateViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                var existedSection = _sectionService.GetSectionEntity(viewModel.Id);
                if (existedSection.ModeratorLogin.CompareTo(viewModel.SettedModeratorLogin) != 0)
                {
                    var moderator = _userService.GetUserEntityByLogin(viewModel.SettedModeratorLogin);
                    if (!moderator.Roles.Any(r => r.RoleName == Role.Moderator.ToString()))
                    {
                        moderator.Roles.Add(new RoleEntity()
                        {
                            RoleName = Role.Moderator.ToString(),
                            Id       = (int)Role.Moderator
                        });
                        _userService.UpdateUser(moderator);
                    }
                    existedSection.UserRefId = moderator.Id;

                    var oldModerator = _userService.GetUserEntityByLogin(existedSection.ModeratorLogin);
                    var oldRole      = oldModerator.Roles.FirstOrDefault(t => t.Id == (int)Role.Moderator);
                    if (oldRole != null)
                    {
                        var result = oldModerator.Roles.Remove(oldRole);
                    }
                    _userService.UpdateUser(oldModerator);
                }
                existedSection.SectionName = viewModel.SectionName;
                existedSection.Discription = viewModel.Discription;
                _sectionService.UpdateSection(existedSection);
                return(RedirectToAction("AllSections", "Admin"));
            }
            viewModel.UsersLogin = _userService.GetAllUserEntities()
                                   .Where(u => !u.IsBlocked)
                                   .Select(u => new SelectListItem()
            {
                Value = u.Login, Text = u.Login
            });
            return(View(viewModel));
        }