コード例 #1
0
        public ActionResult NewTeamMember()
        {
            var vm = new TeamMemberViewModel();

            vm.professionList = _iprofessionalCategory.GetCategories().ToList()
                                .Select(n => new SelectListItem()
            {
                Value = n.ProfessionalCategoryId.ToString(),
                Text  = n.Name
            }).ToList();
            vm.DepartmentLists = _departmentService.GetDsepartments()
                                 .Select(n => new SelectListItem()
            {
                Value = n.DepartmentId.ToString(),
                Text  = n.Name
            }).ToList();

            vm.Demographics = _idemogrphicService.GetDemographics()
                              .Select(n => new SelectListItem()
            {
                Value = n.DemographicId.ToString(),
                Text  = n.Name
            }).ToList();
            vm.CountryList = _countryService.GetCountries()
                             .Select(n => new SelectListItem()
            {
                Value = n.CountryId.ToString(),
                Text  = n.Name
            }).ToList();
            return(View(vm));
        }
コード例 #2
0
        public void Arrange()
        {
            _accountId = "ABC123";

            _configuration = new AccountApiConfiguration
            {
                ApiBaseUrl = "http://some-url/"
            };

            _uri = $"/api/accounts/{_accountId}/users";
            var absoluteUri = _configuration.ApiBaseUrl.TrimEnd('/') + _uri;

            _teamMember = new TeamMemberViewModel
            {
                Name    = "Name",
                UserRef = "2163",
                Email   = "*****@*****.**",
                Role    = "Viewer"
            };

            var members = new List <TeamMemberViewModel> {
                _teamMember
            };

            _httpClient = new Mock <SecureHttpClient>();
            _httpClient.Setup(c => c.GetAsync(absoluteUri))
            .Returns(Task.FromResult(JsonConvert.SerializeObject(members)));

            _apiClient = new AccountApiClient(_configuration, _httpClient.Object);
        }
        public void Then_Maps_Matching_Fields(TeamMemberViewModel source)
        {
            UserDetails userDetails = source;

            userDetails.Should().BeEquivalentTo(source, options =>
                                                options.ExcludingMissingMembers());
        }
コード例 #4
0
        public ActionResult Edit(TeamMemberViewModel vmPlayer)
        {
            var existingPlayer = _memeberRespository.GetPlayer(vmPlayer.Id);

            if (ModelState.IsValid)
            {
                existingPlayer.Fullname        = vmPlayer.Fullname;
                existingPlayer.Nationality     = vmPlayer.Nationality;
                existingPlayer.NationalityFIFA = vmPlayer.NationalityFIFA;
                existingPlayer.DateOfBirth     = vmPlayer.DateOfBirth;

                existingPlayer.Position = vmPlayer.Position;
                existingPlayer.Number   = vmPlayer.Number;

                existingPlayer.Role   = vmPlayer.Role;
                existingPlayer.TeamId = vmPlayer.TeamId;

                _memeberRespository.Update(existingPlayer);

                AlertSuccess("Saved", "Player updated");

                return(RedirectToAction("Index"));
            }

            ViewBag.AvailableTeams = _teamRepository.GetAll().ToViewModel();

            AlertModelStateErrors();

            return(View(vmPlayer));
        }
コード例 #5
0
        public TeamMemberViewModel GetTeamMembers(int teamId, USER user = null)
        {
            TEAM team = _teamRepository.GetTeamById(teamId);
            TeamMemberViewModel teamMembers = new TeamMemberViewModel();

            if (team != null)
            {
                var users = team.USERS_TEAMs.Select(x => x.USER);
                teamMembers.TeamId  = team.ID;
                teamMembers.Members = new List <MemberViewModel>();

                foreach (USER u in users)
                {
                    MemberViewModel member = new MemberViewModel
                    {
                        UserId       = u.Id,
                        UserName     = u.UserName,
                        Email        = u.Email,
                        IsActualUser = (user != null && user.Id == u.Id),
                        Roles        = u.USER_TEAM_ROLEs.Where(x => x.TEAM_ID == teamId).Select(x =>
                                                                                                new RoleViewModel
                        {
                            RoleId          = x.ROLE.ID,
                            RoleName        = x.ROLE.NAME,
                            RoleDescription = x.ROLE.DESCRIPTION
                        }).ToList()
                    };

                    teamMembers.Members.Add(member);
                }
            }

            return(teamMembers);
        }
コード例 #6
0
ファイル: TeamService.cs プロジェクト: Damyanski/Team-manager
        public ShowTeamViewModel GetShowTeamViewModel(int teamId)
        {
            var team = this.Data.GetById(teamId);

            if (team == null)
            {
                return(null);
            }

            IEnumerable <TeamMemberViewModel> teamMembers = team.TeamMembers
                                                            .Select(MapTeamMemberViewModelToUser).ToList();

            IEnumerable <TopicViewModel> topics      = team.Topics.Select(MapTopicViewModelFromTopic).ToList();
            TeamMemberViewModel          teamCreator = new TeamMemberViewModel()
            {
                UserName = team.Creator.UserName
            };
            TeamViewModel     teamInfoBasic = MapTeamViewModelFromTeam(team);
            ShowTeamViewModel showTeamModel = new ShowTeamViewModel()
            {
                BasicTeamInfo = teamInfoBasic,
                Creator       = teamCreator,
                TeamMembers   = teamMembers,
                Topics        = topics
            };

            return(showTeamModel);
        }
コード例 #7
0
 private Email MapToEmail(TeamMemberViewModel userModel, AlertSummary alertSummary, string hashedAccountId, string accountName)
 {
     return(new Email
     {
         RecipientsAddress = userModel.Email,
         TemplateId = "EmployerAlertSummaryNotification",
         ReplyToAddress = "*****@*****.**",
         Subject = "Items for your attention: apprenticeship service",
         SystemId = "x",
         Tokens =
             new Dictionary <string, string>
         {
             { "name", userModel.Name },
             { "total_count_text", alertSummary.TotalCount == 1
                         ? "is 1 apprentice"
                         : $"are {alertSummary.TotalCount} apprentices" },
             { "account_name", accountName },
             { "need_needs", alertSummary.TotalCount > 1 ? "need" :"needs" },
             { "changes_for_review", ChangesForReviewText(alertSummary.ChangesForReview) },
             { "requested_changes", RestartRequestText(alertSummary.RestartRequestCount) },
             { "link_to_mange_apprenticeships", $"accounts/{hashedAccountId}/apprentices/manage/all?RecordStatus=ChangesForReview&RecordStatus=ChangeRequested" },
             { "link_to_unsubscribe", $"/settings/notifications/unsubscribe/{hashedAccountId}" }
         }
     });
 }
コード例 #8
0
        public async Task <IActionResult> AddEdit(int Id)
        {
            var model = new TeamMemberViewModel()
            {
            };

            if (Id > 0)
            {
                var rec = _context.TeamMembers.Where(e => e.Id == Id).Select(k => new TeamMemberViewModel()
                {
                    Id        = k.Id,
                    Post      = k.Post,
                    Name      = k.Name,
                    ImgId     = k.ImageDocumentId ?? 0,
                    ImageName = _context.Documents.Where(d => d.Id == k.ImageDocumentId).Select(m => m.FileName).FirstOrDefault(),
                    ImageUrl  = _context.Documents.Where(d => d.Id == k.ImageDocumentId).Select(m => m.URL).FirstOrDefault(),
                }).FirstOrDefault();

                if (model != null)
                {
                    model = rec;
                }
            }

            await SetUserData();


            return(View(model));
        }
コード例 #9
0
        public static AllTasksForTeamViewModel Create(Business.Models.Team team,
                                                      bool isOwner,
                                                      List <Business.Models.Sprint> sprints,
                                                      List <Business.Models.Task> tasks)
        {
            var teamMemberViewModels = new List <TeamMemberViewModel>();
            var sprintViewModels     = new List <SprintViewModel>();
            var taskViewModels       = new List <TaskViewModel>();

            foreach (var teamMember in team.TeamMembers)
            {
                var teamMemberViewModel = TeamMemberViewModel.Create(teamMember);
                teamMemberViewModels.Add(teamMemberViewModel);
            }

            foreach (var sprint in sprints)
            {
                var sprintViewModel = SprintViewModel.Create(sprint, isOwner, 0);
                sprintViewModels.Add(sprintViewModel);
            }

            foreach (var task in tasks)
            {
                var taskViewModel = TaskViewModel.Create(task);
                taskViewModels.Add(taskViewModel);
            }

            return(new AllTasksForTeamViewModel(team, isOwner, teamMemberViewModels, sprintViewModels, taskViewModels));
        }
コード例 #10
0
        public ActionResult Edit(TeamMemberViewModel vmManager)
        {
            if (ModelState.IsValid)
            {
                var existingManager = _memberRepository.GetManager(vmManager.Id);

                existingManager.Fullname        = vmManager.Fullname;
                existingManager.Nationality     = vmManager.Nationality;
                existingManager.NationalityFIFA = vmManager.NationalityFIFA;
                existingManager.DateOfBirth     = vmManager.DateOfBirth;

                existingManager.Position = vmManager.Position;
                existingManager.Role     = vmManager.Role;
                existingManager.TeamId   = vmManager.TeamId;

                _memberRepository.Update(existingManager);

                if (vmManager.TeamId.HasValue)
                {
                    var existingTeam = _teamRepository.Get(vmManager.TeamId.Value);

                    existingTeam.AddManager(existingManager);

                    _teamRepository.Update(existingTeam);
                }

                AlertSuccess("Saved", "Manager have been changed to Player");
                return(RedirectToAction("Index"));
            }

            ViewBag.AvailableTeams = _teamRepository.GetAll().ToViewModel();

            AlertDanger("User Role error", "Unknown use role path");
            return(RedirectToAction("Index"));
        }
コード例 #11
0
        public static WorkItemTestData WithResolvedWithoutActivation(
            this WorkItemTestData data,
            int resolovedAfterDays,
            TeamMemberViewModel resolvedBy)
        {
            var createdOn      = DateTime.Today.GetMondayOfCurrentWeek();
            var resolutionDate = createdOn.AddDays(resolovedAfterDays);

            var updatesBuilder = UpdateBuilder.Create()
                                 .New().On(createdOn);

            if (data.Type == Constants.WorkItemTypeBug)
            {
                updatesBuilder.Then().Resolved(resolvedBy).On(resolutionDate);
            }
            else if (data.Type == Constants.WorkItemTypeTask)
            {
                updatesBuilder.Then().ClosedFromActive(resolvedBy).On(resolutionDate);
            }

            data.WorkItem.Updates = updatesBuilder.Build();

            var resolution = new WorkItemClosedEvent(
                new VstsWorkItem(data.WorkItem),
                DateTime.UtcNow,
                new UserReference {
                Email = resolvedBy.Email, Title = resolvedBy.DisplayName
            });

            data.Resolutions.Add(resolution);
            data.ExpectedDuration = 1;

            return(data);
        }
コード例 #12
0
        public static ResultsTasksForMemberViewModel Create(Business.Models.Sprint completedSprint,
                                                            Business.Models.TeamMember currentMember,
                                                            TasksAllParams tasksAllParams)
        {
            var allMemberTasks = completedSprint.Tasks.Where(t => t.MemberId == currentMember.Id).ToList();
            var allSprintTasks = completedSprint.Tasks.ToList();

            var taskViewModelsForMember = new List <TaskViewModel>();

            foreach (var taskMember in allMemberTasks)
            {
                var taskViewModelForMember = TaskViewModel.Create(taskMember);
                taskViewModelsForMember.Add(taskViewModelForMember);
            }

            var teamMemberViewModels = new List <TeamMemberViewModel>();

            foreach (var task in allSprintTasks)
            {
                if (task.TeamMember != null)
                {
                    var teamMemberViewModel = TeamMemberViewModel.Create(task.TeamMember);
                    teamMemberViewModels.Add(teamMemberViewModel);
                }
            }

            return(new ResultsTasksForMemberViewModel(completedSprint, currentMember, taskViewModelsForMember, tasksAllParams, teamMemberViewModels));
        }
コード例 #13
0
        private ExpectedValuesContainer SetupJim(TeamMemberViewModel jim)
        {
            var workitemsForJim = new WorkItemTestDataContainer(new[]
            {
                CreateBug().WithNormalLifecycle(jim, 3).WithETA(0, 5, 0),
                CreateTask().WithNormalLifecycle(jim, 5).WithETA(0, 2, 0)
            });

            SetupGetWorkitems(jim.Id, workitemsForJim.WorkItems);
            SetupClassify(workitemsForJim);

            var expectedValuesForJim = new ExpectedValuesContainer(new Dictionary <string, object>
            {
                { nameof(AggregatedWorkitemsETAReport.IndividualETAReport.TotalResolved), 2 },
                { nameof(AggregatedWorkitemsETAReport.IndividualETAReport.CompletedWithEstimates), workitemsForJim.ExpectedDuration },
                { nameof(AggregatedWorkitemsETAReport.IndividualETAReport.CompletedWithoutEstimates), 0 },
                { nameof(AggregatedWorkitemsETAReport.IndividualETAReport.EstimatedToComplete), workitemsForJim.ExpectedEstimatedToComplete },
                { nameof(AggregatedWorkitemsETAReport.IndividualETAReport.OriginalEstimated), workitemsForJim.ExpectedOriginalEstimate },
                { nameof(AggregatedWorkitemsETAReport.IndividualETAReport.WithOriginalEstimate), 0 },
                { nameof(AggregatedWorkitemsETAReport.IndividualETAReport.WithoutETA), 0 },
                { nameof(AggregatedWorkitemsETAReport.IndividualETAReport.TotalResolvedBugs), 1 },
                { nameof(AggregatedWorkitemsETAReport.IndividualETAReport.TotalResolvedTasks), 1 },
                { nameof(AggregatedWorkitemsETAReport.IndividualETAReport.MemberEmail), jim.Email },
                { nameof(AggregatedWorkitemsETAReport.IndividualETAReport.MemberName), jim.DisplayName },
                { nameof(AggregatedWorkitemsETAReport.IndividualETAReport.Details), 2 }
            });

            return(expectedValuesForJim);
        }
コード例 #14
0
        private ExpectedValuesContainer SetupVictoria(TeamMemberViewModel victoria)
        {
            var workitemsForVictoria = new WorkItemTestDataContainer(new[]
            {
                CreateBug(),
                CreateTask()
            });

            SetupGetWorkitems(victoria.Id, workitemsForVictoria.WorkItems);
            SetupClassify(workitemsForVictoria);

            var expectedValuesForVictoria = new ExpectedValuesContainer(new Dictionary <string, object>
            {
                { nameof(AggregatedWorkitemsETAReport.IndividualETAReport.TotalResolved), 0 },
                { nameof(AggregatedWorkitemsETAReport.IndividualETAReport.CompletedWithEstimates), workitemsForVictoria.ExpectedDuration },
                { nameof(AggregatedWorkitemsETAReport.IndividualETAReport.CompletedWithoutEstimates), 0 },
                { nameof(AggregatedWorkitemsETAReport.IndividualETAReport.EstimatedToComplete), workitemsForVictoria.ExpectedEstimatedToComplete },
                { nameof(AggregatedWorkitemsETAReport.IndividualETAReport.OriginalEstimated), workitemsForVictoria.ExpectedOriginalEstimate },
                { nameof(AggregatedWorkitemsETAReport.IndividualETAReport.WithOriginalEstimate), 0 },
                { nameof(AggregatedWorkitemsETAReport.IndividualETAReport.WithoutETA), 0 },
                { nameof(AggregatedWorkitemsETAReport.IndividualETAReport.TotalResolvedBugs), 0 },
                { nameof(AggregatedWorkitemsETAReport.IndividualETAReport.TotalResolvedTasks), 0 },
                { nameof(AggregatedWorkitemsETAReport.IndividualETAReport.MemberEmail), victoria.Email },
                { nameof(AggregatedWorkitemsETAReport.IndividualETAReport.MemberName), victoria.DisplayName },
                { nameof(AggregatedWorkitemsETAReport.IndividualETAReport.Details), 0 }
            });

            return(expectedValuesForVictoria);
        }
コード例 #15
0
        public OperationResultVo CandidateApply(Guid currentUserId, TeamMemberViewModel vm)
        {
            int pointsEarned = 0;

            try
            {
                Team team = teamDomainService.GetById(vm.TeamId);

                if (team == null)
                {
                    return(new OperationResultVo("Team not found!"));
                }

                TeamMember teamMemberModel = mapper.Map <TeamMember>(vm);

                team.Members.Add(teamMemberModel);

                pointsEarned += gamificationDomainService.ProcessAction(currentUserId, PlatformAction.TeamJoin);

                unitOfWork.Commit();

                return(new OperationResultVo(true, "Application sent! Now just sit and wait the team leader to accept you.", pointsEarned));
            }
            catch (Exception ex)
            {
                return(new OperationResultVo(ex.Message));
            }
        }
コード例 #16
0
        public ActionResult CreateTeamMember(TeamMemberViewModel tm)
        {
            if (tm.mode != 2)
            {
                if (tm.File != null)
                {
                    string memberPicture = tm.Name + ".png";
                    tm.Image = memberPicture;
                    string path = System.IO.Path.Combine(Server.MapPath("~/images/"), memberPicture);
                    tm.File.SaveAs(path);
                }
                var teammember = Mapper.Map <TeamMemberViewModel, TeamMember>(tm);
                teamMemberService.UpdateTeamMember(teammember);


                teamMemberService.SaveTeamMember();
            }
            else
            {
                if (ModelState.IsValid)
                {
                    if (tm.File == null)
                    {
                        tm.Image = "Capture.png";
                        string gadgetPicture = tm.Name + ".png";
                        string path          = System.IO.Path.Combine(Server.MapPath("~/images/"), gadgetPicture);
                        tm.File.SaveAs(path);
                    }
                    else
                    {
                        string memberPicture = tm.Name + ".png";
                        tm.Image = memberPicture;
                        string path = System.IO.Path.Combine(Server.MapPath("~/images/"), memberPicture);
                        tm.File.SaveAs(path);
                    }
                    var t = Mapper.Map <TeamMemberViewModel, TeamMember>(tm);
                    teamMemberService.CreateTeamMember(t);
                    teamMemberService.SaveTeamMember();
                }
                else
                {
                    int           year     = DateTime.UtcNow.Year;
                    int           last     = year - 70;
                    int           count    = 0;
                    List <string> yearpass = new List <string>();

                    for (int i = year; i > last; i--)
                    {
                        yearpass.Add("" + i);
                        count++;
                    }
                    tm.YearPass = yearpass.ToList();

                    tm.TeamList = teamService.GetAllTeam(null).ToList();
                    return(View(tm));
                }
            }
            return(RedirectToAction("Index", new { membername = "" }));
        }
コード例 #17
0
ファイル: WorkItemsSyncJob.cs プロジェクト: filar7/Ether
        private async Task ExecuteForMemeber(TeamMemberViewModel teamMember)
        {
            _logger.LogInformation("Fetching workitems for '{teamMember}'.", teamMember.Email);
            var workItems = await _mediator.RequestCollection <FetchWorkItemsFromProject, WorkItemViewModel>(new FetchWorkItemsFromProject(teamMember));

            _logger.LogInformation("Found {workitemsCount} workitems for '{teamMember}'.", workItems.Count(), teamMember.Email);
            await _mediator.Execute(new SaveWorkItemsForUser(workItems, teamMember));
        }
コード例 #18
0
 private async Task HandleFetchPullRequests(IStore <RootState> store, TeamMemberViewModel member)
 {
     await store.Dispatch <FetchPullRequests, FetchDataJobParameters>(new FetchDataJobParameters
     {
         Members = new[] { member.Id },
         Reset   = false
     });
 }
コード例 #19
0
 private async Task HandleResetWorkItems(IStore <RootState> store, TeamMemberViewModel member)
 {
     await store.Dispatch <FetchWorkItems, FetchDataJobParameters>(new FetchDataJobParameters
     {
         Members = new[] { member.Id },
         Reset   = true
     });
 }
コード例 #20
0
        public IActionResult CandidateApply(TeamMemberViewModel vm)
        {
            OperationResultVo serviceResult = teamAppService.CandidateApply(CurrentUserId, vm);

            string url = Url.Action("Details", "Team", new { area = string.Empty, teamId = vm.TeamId, pointsEarned = serviceResult.PointsEarned });

            return(Json(new OperationResultRedirectVo(serviceResult, url)));
        }
コード例 #21
0
 public UpdateBuilder WithAssignedTo(TeamMemberViewModel old, TeamMemberViewModel @new = null)
 {
     With(Constants.WorkItemAssignedToField, new WorkItemFieldUpdate {
         NewValue = FormatTeamMemberRef(@new), OldValue = FormatTeamMemberRef(old)
     });
     On(DateTime.UtcNow);
     return(this);
 }
コード例 #22
0
 public UpdateBuilder AssignedTo(TeamMemberViewModel user)
 {
     _fields.Add(Constants.WorkItemAssignedToField, new WorkItemFieldUpdate {
         NewValue = FormatTeamMemberRef(user), OldValue = string.Empty
     });
     On(DateTime.UtcNow);
     return(this);
 }
コード例 #23
0
 public async Task <JsonResult> AddNewMemberToTeam([Required] TeamMemberViewModel model)
 {
     if (!ModelState.IsValid)
     {
         return(Json(new InvalidParametersResultModel().AttachModelState(ModelState)));
     }
     return(await JsonAsync(_teamService.AddNewMemberToTeamAsync(model)));
 }
コード例 #24
0
        public ActionResult CreateTeamMember(int id, int mode)
        {
            if (mode == 2)
            {
                TeamMemberViewModel  fullview = new TeamMemberViewModel();
                TeamMember           teammember;
                List <TeamViewModel> team;
                //IEnumerable<Team> team;
                //IEnumerable<TeamMember> member;
                int           year     = DateTime.UtcNow.Year;
                int           last     = year - 70;
                int           count    = 0;
                List <string> yearpass = new List <string>();

                for (int i = year; i > last; i--)
                {
                    yearpass.Add("" + i);
                    count++;
                }

                fullview.DOB = DateTime.UtcNow;
                fullview.YearofJoiningCCI  = DateTime.UtcNow;
                fullview.YearofJoiningTeam = DateTime.UtcNow;
                fullview.YearPass          = yearpass.ToList();
                fullview.mode     = mode;
                fullview.TeamList = teamService.GetAllTeam(null).ToList();
                fullview.Image    = "Capture.png";
                return(View(fullview));
            }
            else
            {
                TeamMemberViewModel  fullview;
                TeamMember           teammember;
                List <TeamViewModel> team;
                //IEnumerable<Team> team;
                //IEnumerable<TeamMember> member;
                int           year     = DateTime.UtcNow.Year;
                int           last     = year - 70;
                int           count    = 0;
                List <string> yearpass = new List <string>();

                for (int i = year; i > last; i--)
                {
                    yearpass.Add("" + i);
                    count++;
                }



                teammember        = teamMemberService.GetTeamMember(id);
                fullview          = Mapper.Map <TeamMember, TeamMemberViewModel>(teammember);
                fullview.YearPass = yearpass.ToList();
                fullview.mode     = mode;
                fullview.TeamList = teamService.GetAllTeam(null).ToList();

                return(View(fullview));
            }
        }
コード例 #25
0
        public ActionResult TeamMember()
        {
            TeamMemberViewModel model = new TeamMemberViewModel();

            // 獲取測試用的資料.
            model.GetTestData();

            return(View(model));
        }
コード例 #26
0
        public List <WorkType> Resolve(TeamMember source, TeamMemberViewModel destination, List <WorkType> destMember, ResolutionContext context)
        {
            string[] platforms = (source.Work ?? string.Empty)
                                 .Split(new Char[] { '|' });

            IEnumerable <WorkType> platformsConverted = platforms.Where(x => !string.IsNullOrWhiteSpace(x)).Select(x => (WorkType)Enum.Parse(typeof(WorkType), x));

            return(platformsConverted.ToList());
        }
コード例 #27
0
        private string FormatTeamMemberRef(TeamMemberViewModel member)
        {
            if (member is null)
            {
                return(string.Empty);
            }

            return($"{member.DisplayName}<{member.Email}>");
        }
コード例 #28
0
 private void Verify(IWorkItemEvent @event, WorkItemViewModel workItem, TeamMemberViewModel teamMember, DateTime expecetdDate)
 {
     @event.Should().BeOfType <WorkItemReOpenedEvent>();
     @event.Date.Should().BeCloseTo(expecetdDate, TimeSpan.FromSeconds(1));
     @event.WorkItem.Id.Should().Be(workItem.WorkItemId);
     @event.AssociatedUser.Should().NotBeNull();
     @event.AssociatedUser.Email.Should().Be(teamMember.Email);
     @event.AssociatedUser.Title.Should().Be(teamMember.DisplayName);
 }
コード例 #29
0
        public ActionResult TeamMember()
        {
            var model = new TeamMemberViewModel();
            var currentUser = _securityService.GetCurrentUser();

            model.TeamMembers =_teamRepository.GetTeamMembers(currentUser.Team.Id);

            return View("TeamMember", model);
        }
コード例 #30
0
        public async Task <IActionResult> AddTaskAsync(TaskFormViewModel taskFormViewModel)
        {
            if (ModelState.IsValid)
            {
                if (taskFormViewModel.LinkValidation == null && !Regex.IsMatch(taskFormViewModel.TaskLink,
                                                                               @"^(?:http(s):\/\/)(github\.com\/)|(bitbucket\.org\/)[\w\d\S]+(\/[\w\d\S]+)*$"))
                {
                    return(RedirectToAction("AddTask", new { teamId = taskFormViewModel.TeamId,
                                                             sprintId = taskFormViewModel.TaskSprintId, errorMessage = _localizer["LinkFieldError"] }));
                }
                else if (taskFormViewModel.LinkValidation != null && !Regex.IsMatch(taskFormViewModel.TaskLink,
                                                                                    @"^(?:http(s)?:\/\/)?[\w.-]+(?:\.[\w\.-]+)+[\w\-\._~:/?#[\]@!\$&'\(\)\*\+,;=.]+$"))
                {
                    return(RedirectToAction("AddTask", new { teamId = taskFormViewModel.TeamId,
                                                             sprintId = taskFormViewModel.TaskSprintId, errorMessage = _localizer["LinkFieldError"] }));
                }

                var task = Business.Models.Task.Create(taskFormViewModel.TaskId,
                                                       taskFormViewModel.TeamId,
                                                       null,
                                                       taskFormViewModel.TaskName,
                                                       taskFormViewModel.TaskStoryPoints,
                                                       taskFormViewModel.TaskLink,
                                                       taskFormViewModel.TaskSprintId,
                                                       taskFormViewModel.TaskMemberId);

                var isOwner = await _accessCheckService.IsOwnerAsync(task.TeamId);

                if (!isOwner)
                {
                    return(RedirectToAction("NotOwnerError", new { teamId = taskFormViewModel.TeamId }));
                }

                var result = await _manageTasksService.AddTaskAsync(task);

                if (result)
                {
                    return(RedirectToAction("GetSprintById", "ManageSprints", new { sprintId = taskFormViewModel.TaskSprintId }));
                }
                else
                {
                    return(RedirectToAction("AddTaskError", new { teamId = taskFormViewModel.TeamId }));
                }
            }

            var teamMembers = await GetAllTeamMembersAsync(taskFormViewModel.TeamId);

            taskFormViewModel.TeamMembers = new List <TeamMemberViewModel>();

            foreach (var teamMember in teamMembers)
            {
                var teamMemberViewModel = TeamMemberViewModel.Create(teamMember);
                taskFormViewModel.TeamMembers.Add(teamMemberViewModel);
            }

            return(View(taskFormViewModel));
        }
コード例 #31
0
 private User MapTeamMemberToUser(TeamMemberViewModel tmvw, long AccountId)
 {
     return(new User
     {
         EmailAddress = tmvw.Email,
         UserRef = Guid.Parse(tmvw.UserRef),
         AccountId = AccountId,
         FirstName = tmvw.Name.Split(' ')[0]
     });
 }