public async Task <IActionResult> AddTask(BoardAddTaskViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }
            var story = await _storyService.GetByIdAsync(int.Parse(model.StoryId));

            var user = await _userManager.Users.FirstOrDefaultAsync(x => x.Id == model.UserId);

            var Task = new ScrumApplicationData.Models.Tasks
            {
                Story           = story,
                ApplicationUser = user,
                Name            = model.Name,
                Description     = model.Description,
                Day             = model.Day,
                TaskStatusId    = model.TaskStatusId,
                UserId          = model.UserId
            };

            await _storyService.AddTask(Task);

            return(RedirectToAction(nameof(Index), new { story.Id }));
        }
Example #2
0
        public async Task <IActionResult> AddTask(BoardAddTaskViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var project = await _projectService.GetByIdAsync(model.ProjectId);

            var user = await _userManager.Users.FirstOrDefaultAsync(x => x.Id == model.UserId);

            var projectTaskStatus = _projectService.GetProjectTaskStatuses().Where(x => x.Id == "1").ToList()[0];
            var projectTask       = new ProjectTask
            {
                Project  = project,
                User     = user,
                Content  = model.Content,
                Duration = new TimeSpan(0, model.Hour, model.Minute, 0),
                Status   = projectTaskStatus
            };

            await _projectService.AddTask(projectTask);

            return(RedirectToAction(nameof(Index), new{ project.Id }));
        }
        public async Task <IActionResult> AddTask(string id)
        {
            ViewData["TaskStatuses"] = _storyService.GetAllTaskStatus();
            var model = new BoardAddTaskViewModel
            {
                StoryId = id,
                Users   = new List <ProjectUserDetailViewModel>()
            };


            var users = _userManager.Users.Select(user => new UserDetailViewModel
            {
                Id          = user.Id,
                FirstName   = user.FirstName,
                LastName    = user.LastName,
                Username    = user.UserName,
                Email       = user.Email,
                PhoneNumber = user.PhoneNumber,
                ImageUrl    = user.ImageUrl
            });

            var roles = _roleManager.Roles
                        .Where(x => x.Name != "Admin")
                        .OrderBy(x => x.Name)
                        .Select(r => new ApplicationRoleDetailViewModel
            {
                Id          = r.Id,
                RoleName    = r.Name,
                Description = r.Description
            });

            var story = await _storyService.GetByIdAsync(int.Parse(id));

            var sprint = await _sprintService.GetByIdAsync(story.SprintId);

            //
            var userRoles = _projectService.GetProjectUserRoles(sprint.ProjectId.ToString());

            foreach (var userRole in userRoles)
            {
                var user = await users.FirstOrDefaultAsync(x => x.Id == userRole.UserId);

                var role = await roles.FirstOrDefaultAsync(x => x.Id == userRole.RoleId);

                var projectUser = new ProjectUserDetailViewModel
                {
                    ProjectId    = id,
                    UserId       = userRole.UserId,
                    RoleId       = userRole.RoleId,
                    FirstName    = user.FirstName,
                    LastName     = user.LastName,
                    ImageUrl     = user.ImageUrl,
                    UserRoleName = role.RoleName
                };
                model.Users.Add(projectUser);
            }
            return(View(model));
        }