private void PopulateFieldData() { var role = Claims[3].Value.ToString(); Enum.TryParse(role, out Role userRole); if (userRole == Role.User) { Users.Clear(); Projects.Clear(); Users.Add(UserRepository.GetUser(Claims[0].Value.ToString())); var assignedProject = ProjectUserRepository.GetAssignedProject(Claims[0].Value.ToString()); if (assignedProject != null) { Projects.Add(assignedProject.ProjectRef); } } else { Users = UserRepository.GetUsers(); Projects = ProjectRepository.GetProjects(); } LogHistoryFilterModel.StartDate = DateTime.Now.AddDays(-7); LogHistoryFilterModel.EndDate = DateTime.Now; var project = ProjectUserRepository.GetAssignedProject(Claims[0].Value); if (project != null) { LogHistoryFilterModel.Project = project.ProjectRef.Name ?? project.ProjectRef.Name; } LogHistoryFilterModel.UserName = Claims[1].Value; }
public ActionResult Edit(int id, FormCollection collection) { var model = new StoryFormModel(); var story = StoryRepository.StoryFetch(id); var project = ProjectRepository.ProjectFetch(story.ProjectId); this.Map(collection, story); story = StoryRepository.StorySave(story); if (story.IsValid) { return(this.RedirectToAction("Details", new { id = story.StoryId })); } model.Title = "Story Edit"; model.Story = story; model.Sprints = SprintRepository.SprintFetchInfoList(project); model.Statuses = StatusRepository.StatusFetchInfoList(story.ProjectId); model.Users = ProjectUserRepository.ProjectUserFetchInfoList(story.ProjectId); ModelHelper.MapBrokenRules(this.ModelState, story); return(this.View(model)); }
public void UpdateRecordAsync_UpdatesExistingRecordIfItDoesntExists() { var context = GetContext(); try { ProjectUserRepository repo = new ProjectUserRepository(context); ProjectUser rec = new ProjectUser { UserId = "2138b181-4cee-4b85-9f16-18df308f387d", ProjectId = 2, UserRoleId = AppUserRole.Observer.Id }; repo.UpdateRecordAsync(rec).Wait(); var rc = repo.GetRecordAsync("2138b181-4cee-4b85-9f16-18df308f387d", 2).Result; Assert.Equal(4, context.ProjectUsers.Count()); Assert.Equal(AppUserRole.Observer.Id, rc.UserRoleId); } finally { context.Database.EnsureDeleted(); context.Dispose(); } }
// POST: api/ProjectUser public IHttpActionResult Post([FromBody] List <ProjectUser> projectUsers) { ProjectUserRepository projectUserRepository = new ProjectUserRepository(Convert.ToInt32(Request.Headers.GetValues("CurrentUserID").First())); projectUserRepository.SaveProjectUsers(projectUsers); return(Json(new { count = projectUsers.Count.ToString() })); }
public IHttpActionResult Get() { ProjectUserRepository projectUserRepository = new ProjectUserRepository(Convert.ToInt32(Request.Headers.GetValues("CurrentUserID").First())); List <ProjectUser> projectUserList = projectUserRepository.GetProjectUsers(); return(Json(new { ProjectUsers = projectUserList })); }
public ActionResult Details(int id) { var model = new ProjectFormModel(); var project = ProjectRepository.ProjectFetch(id); model.Title = string.Format("Project {0}", project.Name); model.Project = project; model.Notes = NoteRepository.NoteFetchInfoList(id, SourceType.Project); model.Attachments = AttachmentRepository.AttachmentFetchInfoList( model.Notes.Select(row => row.NoteId).Distinct().ToArray(), SourceType.Note); model.Sprints = SprintRepository.SprintFetchInfoList(project); model.Statuses = StatusRepository.StatusFetchInfoList(id); model.Stories = StoryRepository.StoryFetchInfoList(project, false); model.Users = ProjectUserRepository.ProjectUserFetchInfoList(id); model.TimelineListModel = new TimelineListModel { Timelines = TimelineRepository.TimelineFetchInfoList(project), SourceId = project.SourceId, SourceTypeId = (int)project.SourceType }; model.Actions.Add("Edit this project", Url.Action("Edit", new { id }), "primary"); model.Actions.Add("Add a story", Url.Action("Create", "Story", new { projectId = id })); model.Actions.Add("Add a sprint", Url.Action("Create", "Sprint", new { projectId = id })); model.Actions.Add("Add an email", string.Empty); model.Actions.Add("Add a note", Url.Action("Create", "Note", new { sourceId = id, sourceTypeId = (int)SourceType.Project })); model.Actions.Add("Add a collaborator", Url.Action("Create", "ProjectUser", new { projectId = id })); model.Actions.Add("Add a status", Url.Action("Create", "Status", new { projectId = id })); return(this.View(model)); }
public ProjectMutation(ProjectRepository project, UserRepository repository, ProjectUserRepository userProjectRepositorie, TimeReportRepository timeReportRepository, IHttpContextAccessor accessor) { Field <ProjectType>("createProject", arguments: new QueryArguments(new QueryArgument <NonNullGraphType <ProjectInputType> > { Name = "input" }), resolve: context => project.Create(context.GetArgument <Project>("input"), accessor.HttpContext) ); Field <UserType>("createUser", arguments: new QueryArguments(new QueryArgument <NonNullGraphType <UserInputType> > { Name = "input" }), resolve: context => repository.Create(context.GetArgument <User>("input"), accessor.HttpContext) ); Field <ProjectUserType>("createProjectUser", arguments: new QueryArguments(new QueryArgument <NonNullGraphType <ProjectUserInputType> > { Name = "input" }), resolve: context => userProjectRepositorie.Create(context.GetArgument <ProjectUser>("input"), accessor.HttpContext) ); Field <ProjectType>("addUser", arguments: new QueryArguments(new QueryArgument <NonNullGraphType <ProjectUserInputType> > { Name = "input" }), resolve: context => project.addUser(context.GetArgument <ProjectUser>("input"), accessor.HttpContext) ); Field <TimeReportType>("createTimeReport", arguments: new QueryArguments(new QueryArgument <NonNullGraphType <TimeReportInputType> > { Name = "input" }), resolve: context => timeReportRepository.Create(context.GetArgument <TimeReport>("input"), accessor.HttpContext) ); Field <ProjectType>("updateProject", arguments: new QueryArguments(new QueryArgument <NonNullGraphType <ProjectInputType> > { Name = "input" }, new QueryArgument <NonNullGraphType <IntGraphType> > { Name = "id" }), resolve: context => project.update(context.GetArgument <int>("id"), context.GetArgument <Project>("input"), accessor.HttpContext) ); Field <ProjectType>("deleteUserFromProject", arguments: new QueryArguments(new QueryArgument <NonNullGraphType <ProjectUserInputType> > { Name = "input" }), resolve: context => project.deleteUser(context.GetArgument <ProjectUser>("input"), accessor.HttpContext) ); Field <UserType>("deleteUser", arguments: new QueryArguments(new QueryArgument <NonNullGraphType <IntGraphType> > { Name = "input" }), resolve: context => repository.deleteUser(context.GetArgument <int>("input"), accessor.HttpContext) ); Field <ProjectType>("deleteProject", arguments: new QueryArguments(new QueryArgument <NonNullGraphType <IntGraphType> > { Name = "input" }), resolve: context => project.deleteProject(context.GetArgument <int>("input"), accessor.HttpContext) ); }
public ActionResult Delete(int id, FormCollection collection) { var projectUser = ProjectUserRepository.ProjectUserFetch(id); ProjectUserRepository.ProjectUserDelete(id); return(this.RedirectToAction("Details", "Project", new { id = projectUser.ProjectId })); }
public static ProjectUser ProjectUserAdd() { var projectUserMember = ProjectUserTestHelper.ProjectUserNew(); projectUserMember = ProjectUserRepository.ProjectUserSave(projectUserMember); return(projectUserMember); }
public void ProjectUser_Fetch_Info_List() { ProjectUserTestHelper.ProjectUserAdd(); ProjectUserTestHelper.ProjectUserAdd(); var projectUserMembers = ProjectUserRepository.ProjectUserFetchInfoList(new ProjectUserMemberDataCriteria()); Assert.IsTrue(projectUserMembers.Count() > 1, "Row returned should be greater than one"); }
public void DeleteUser(string id) { UserRepository.DeleteUser(id); var projectUser = ProjectUserRepository.GetAssignedProject(id); ProjectUserRepository.RemoveAssignedUser(projectUser); UserLogRepository.RemoveUserLogsByUserId(id); UpdateChild(); }
public void DeleteProject(string id) { var projectId = Convert.ToInt32(id); ProjectUserRepository.RemoveProject(projectId); UserLogRepository.RemoveUserLogsByProjectId(projectId); ProjectRepository.RemoveProject(projectId); UpdateChilds(projectId); }
public void ProjectUser_Fetch() { var projectUserMember = ProjectUserTestHelper.ProjectUserNew(); projectUserMember = ProjectUserRepository.ProjectUserSave(projectUserMember); projectUserMember = ProjectUserRepository.ProjectUserFetch(projectUserMember.ProjectUserMemberId); Assert.IsTrue(projectUserMember != null, "Row returned should not equal null"); }
public ActionResult Create(int projectId, int userId) { var model = new ProjectUserFormModel(); var projectUser = ProjectUserRepository.ProjectUserNew(projectId, userId); projectUser.RoleId = (int)Role.Collaborator; projectUser = ProjectUserRepository.ProjectUserSave(projectUser); return(this.RedirectToAction("Details", "Project", new { id = projectUser.ProjectId })); }
public static ProjectUser ProjectUserNew(Role roleId) { var project = ProjectTestHelper.ProjectAdd(); var user = UserTestHelper.UserAdd(); var projectUserMember = ProjectUserRepository.ProjectUserNew(project.ProjectId, user.UserId); projectUserMember.RoleId = (int)roleId; return(projectUserMember); }
public ActionResult Create(int projectId) { var model = new ProjectUserFormModel(); var projectUser = ProjectUserRepository.ProjectUserNew(projectId, 0); model.Title = "Project User Create"; model.Users = UserRepository.UserFetchInfoList(); model.ProjectUser = projectUser; model.ProjectUsers = ProjectUserRepository.ProjectUserFetchInfoList(projectId); return(this.View(model)); }
public void ProjectUser_Add() { var projectUserMember = ProjectUserTestHelper.ProjectUserNew(); Assert.IsTrue(projectUserMember.IsValid, "IsValid should be true"); projectUserMember = ProjectUserRepository.ProjectUserSave(projectUserMember); Assert.IsTrue(projectUserMember.ProjectUserMemberId != 0, "ProjectUserMemberId should be a non-zero value"); ProjectUserRepository.ProjectUserFetch(projectUserMember.ProjectUserMemberId); }
public ActionResult Edit(int id) { var model = new StoryFormModel(); var story = StoryRepository.StoryFetch(id); var project = ProjectRepository.ProjectFetch(story.ProjectId); model.Title = "Story Edit"; model.Story = story; model.Sprints = SprintRepository.SprintFetchInfoList(project); model.Statuses = StatusRepository.StatusFetchInfoList(story.ProjectId); model.Users = ProjectUserRepository.ProjectUserFetchInfoList(story.ProjectId); return(this.View(model)); }
public ActionResult Delete(int id) { var model = new DeleteModel(); var projectUser = ProjectUserRepository.ProjectUserFetch(id); model.Title = "Project User Delete"; model.Id = projectUser.ProjectUserMemberId; model.Name = "Project User"; model.Description = projectUser.UserName; model.ControllerName = "ProjectUser"; model.BackUrl = Url.Action("Details", "Project", new { id = projectUser.ProjectId }); return(this.View(model)); }
public ActionResult Create(int projectId, int?sprintId) { var model = new StoryFormModel(); var story = StoryRepository.StoryNew(); var project = ProjectRepository.ProjectFetch(projectId); story.ProjectId = projectId; story.SprintId = sprintId ?? 0; model.Title = "Story Create"; model.Story = story; model.Sprints = SprintRepository.SprintFetchInfoList(project); model.Statuses = StatusRepository.StatusFetchInfoList(story.ProjectId); model.Users = ProjectUserRepository.ProjectUserFetchInfoList(story.ProjectId); return(this.View(model)); }
public void GetMembersOfProject_ReturnsEmptyResIfNoProjects() { var context = GetContext(); try { ProjectUserRepository repo = new ProjectUserRepository(context); var res = repo.GetMembersOfProject(123).Result; Assert.Empty(res); } finally { context.Database.EnsureDeleted(); context.Dispose(); } }
public void GetOwnerOfProject_ReturnsOwnerIfProjExists() { var context = GetContext(); try { ProjectUserRepository repo = new ProjectUserRepository(context); var user = repo.GetOwnerOfProject(1).Result; Assert.Equal("2138b181-4cee-4b85-9f16-18df308f387d", user.Id); } finally { context.Database.EnsureDeleted(); context.Dispose(); } }
public void GetOwnerOfProject_ReturnsNullIfProjDoesntExist() { var context = GetContext(); try { ProjectUserRepository repo = new ProjectUserRepository(context); var user = repo.GetOwnerOfProject(123).Result; Assert.Null(user); } finally { context.Database.EnsureDeleted(); context.Dispose(); } }
public void GetRoleOfMember_ReturnsRole_Owner() { var context = GetContext(); try { ProjectUserRepository repo = new ProjectUserRepository(context); var role = repo.GetRoleOfMember("2138b181-4cee-4b85-9f16-18df308f387d", 1).Result; Assert.Equal(AppUserRole.Owner.Id, role.Id); } finally { context.Database.EnsureDeleted(); context.Dispose(); } }
public void GetRoleOfMember_ReturnsRole_Developer() { var context = GetContext(); try { ProjectUserRepository repo = new ProjectUserRepository(context); var role = repo.GetRoleOfMember("421cb65f-a76d-4a73-8a1a-d792f37ef992", 1).Result; Assert.Equal(AppUserRole.Developer.Id, role.Id); } finally { context.Database.EnsureDeleted(); context.Dispose(); } }
public void GetRoleOfMember_ReturnsRole_NoMember() { var context = GetContext(); try { ProjectUserRepository repo = new ProjectUserRepository(context); var role = repo.GetRoleOfMember("no-user-in-project", 1).Result; Assert.Equal(AppUserRole.None.Id, role.Id); } finally { context.Database.EnsureDeleted(); context.Dispose(); } }
public void DoesExistScrumMasterInProjectAsync_ReturnsFalseIfScrumMasterDoesNotExist() { var context = GetContext(); try { ProjectUserRepository repo = new ProjectUserRepository(context); var doesExist = repo.DoesExistScrumMasterInProjectAsync(1).Result; Assert.False(doesExist); } finally { context.Database.EnsureDeleted(); context.Dispose(); } }
public void DoesExistMemberOfProject_ReturnsFalseIfMemberDoesNotExist() { var context = GetContext(); try { ProjectUserRepository repo = new ProjectUserRepository(context); var doesExist = repo.DoesExistMemberOfProject("421cb65f-a76d-4a73-8a1a-d792f37ef992", 123).Result; Assert.False(doesExist); } finally { context.Database.EnsureDeleted(); context.Dispose(); } }
public void GetRecordAsync_ReturnsRecordIfRecordExists() { AppDbContext context = GetContext(); try { ProjectUserRepository repo = new ProjectUserRepository(context); ProjectUser rec = repo.GetRecordAsync("2138b181-4cee-4b85-9f16-18df308f387d", 1).Result; Assert.NotNull(rec); } finally { context.Database.EnsureDeleted(); context.Dispose(); } }
public void GetRecordAsync_ReturnsNullIfRecordDoesntExists() { var context = GetContext(); try { ProjectUserRepository repo = new ProjectUserRepository(context); ProjectUser rec = repo.GetRecordAsync("no-user", 1).Result; Assert.Null(rec); } finally { context.Database.EnsureDeleted(); context.Dispose(); } }