public IHttpActionResult PostProjectTeam(ProjectTeam projectTeam) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } // check if EmployeeEmailId exists var employeeEmails = db.Employees.Select(x => x.EmployeeEmail); if (!employeeEmails.Contains(projectTeam.EmployeeEmail)) { return(BadRequest("Invalid Email")); //throw new HttpResponseException(HttpStatusCode.BadRequest); } projectTeam.EmployeeId = db.Employees.SingleOrDefault(x => x.EmployeeEmail == projectTeam.EmployeeEmail).EmployeeId; // check if the Employee is already added to the project(redundant/multiple entries) var ActiveEmployeeIds = db.ProjectTeams.AsEnumerable() .Where(x => x.ProjectId == projectTeam.ProjectId).Select(x => x.EmployeeId) .ToList(); if (ActiveEmployeeIds.Contains(projectTeam.EmployeeId)) { return(BadRequest("Employee Already exists in the project")); //throw new HttpResponseException(HttpStatusCode.BadRequest); } db.ProjectTeams.Add(projectTeam); db.SaveChanges(); return(CreatedAtRoute("DefaultApi", new { id = projectTeam.TeamId }, projectTeam)); }
public async Task <ActionResult> Details(int?id) { #region USERVALIDATION token = (string)(Session["accessToken"]); string userID = (string)(Session["UserID"]); #endregion if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } List <ProjectTeam> projectTeam = new List <ProjectTeam>(); using (var client = new HttpClient()) { client.BaseAddress = new Uri(baseurl); client.DefaultRequestHeaders.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token); HttpResponseMessage Res = await client.GetAsync($"api/ProjectTeams/{id}"); if (Res.IsSuccessStatusCode) { var ProjectTeamResponse = Res.Content.ReadAsStringAsync().Result; ProjectTeam myProjectTeam = JsonConvert.DeserializeObject <ProjectTeam>(ProjectTeamResponse); return(View(myProjectTeam)); } else { this.AddNotification("Unable to display ProjectTeam information,please contact Administrator" + Res, NotificationType.ERROR); return(View()); } } }
public async Task <ActionResult> Edit([Bind(Include = "ID,TeamMemberReference,Fullname,EmailAddress,PhoneNumber,Address,State,Country,KPI,ProjectID,CreatedDate,isDeleted,TimeStamp,OrganizationID,TeamMemberPhoto,UserId")] ProjectTeam projectTeam) { if (ModelState.IsValid) { using (var client = new HttpClient()) { client.BaseAddress = new Uri(baseurl); client.DefaultRequestHeaders.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token); HttpResponseMessage Res = await client.PutAsJsonAsync($"api/ProjectTeams/{projectTeam.ID}", projectTeam); if (Res.IsSuccessStatusCode) { this.AddNotification("ProjectTeam information modified successfully", NotificationType.SUCCESS); return(RedirectToAction("Index")); } else { this.AddNotification("ProjectTeam information cannot be modified at this time. Please contact Administrator", NotificationType.ERROR); return(View()); } } } ViewBag.OrganizationID = await OrganizationSelectListByModel(token, projectTeam.OrganizationID); ViewBag.ProjectID = await ProjectSelectListByModel(token, projectTeam.ProjectID); return(View(projectTeam)); }
public async Task <IActionResult> AddProjectTeam(AddTeamToProjectViewModel model, Guid id) { AppUser user = _userManager.GetUserAsync(User).Result; Guid companyId = user.CompanyId; ViewBag.AvailableTeams = new SelectList(await _projectService.GetListOfAvailableProjectTeams(id, companyId), "TeamId", "TeamName"); if (ModelState.IsValid) { Guid guidId = Guid.Parse(model.TeamId); ProjectTeam projectTeam = new ProjectTeam { Project = await _projectService.GetProjectById(id), ProjectId = id, Team = await _teamService.GetTeamById(model.TeamId), TeamId = guidId }; await _projectService.AddProjectTeam(projectTeam); return(RedirectToAction("AddProjectTeam")); } return(View(model)); }
public ActionResult Edit(ProjectViewModel viewModel) { if (ModelState.IsValid) { var project = db.Projects.Single(x => x.Id == viewModel.Id); if (!EntityAuthorization.ProjectEditDelete(project)) { return(HttpNotFound()); } project.InitFromViewModel(viewModel); project.ModifiedUserId = Viola.Models.User.GetCurrentUserId(); project.ModifiedDatetime = DateTime.Now.ToUniversalTime(); db.Entry(project).State = EntityState.Modified; db.SaveChanges(); ProjectTeam.Create(project.Id, Request.Form.GetValues("UserIdMulti")); ProjectTeam.AddProjectManagerToTeam(project); return(RedirectToAction("Details", "Projects", new { id = project.Id })); } ViewBag.ManagerUserId = new SelectList(Viola.Models.User.GetUsers(), "Id", "FullName", viewModel.ManagerUserId); ViewBag.UserIdMulti = new MultiSelectList(Viola.Models.User.GetUsers(), "Id", "FullName", ProjectTeam.UserIdSelection(viewModel.Id)); return(View(viewModel)); }
public void Setup() { fu = new FakeUser("1234", "FakeFirstName", "FakeLastName", "0400 000 000", "1001", "Teacher"); fu2 = new FakeUser("4321", "FakeStudentName", "FakeStudentSurname", "0444 444 444", "2002", "Student"); fpt = new FakeProjectTeam("9009", "Salt Lake", "9876"); }
public IHttpActionResult PutProjectTeam(int id, ProjectTeam projectTeam) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != projectTeam.TeamId) { return(BadRequest()); } db.Entry(projectTeam).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!ProjectTeamExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
public ActionResult AssignPerson(ProjectTeam projectTeam) { var user = Session["user"] as User; if (user != null && user.UserDesignationId == 2) { ViewBag.ProjectId = new SelectList(db.Projects, "Id", "Name"); ViewBag.UserId = new SelectList(db.Users.Where(c => c.UserDesignationId != 1), "Id", "Name"); string message = ""; var any = db.ProjectTeams.Any(c => c.ProjectId == projectTeam.ProjectId && c.UserId == projectTeam.UserId); if (!any) { db.ProjectTeams.Add(projectTeam); var rowAffected = db.SaveChanges(); if (rowAffected > 0) { message = "Assign Successfull .."; } else { message = "Assign Failed !!"; } } else { message = "This Project Already assigned to this person"; } ViewBag.Message = message; ViewBag.ProjectTeam = db.ProjectTeams.ToList(); return(View()); } return(RedirectToAction("Login", "Account")); }
public async Task <IActionResult> DeleteTeamFromProject([FromBody] ProjectTeamModel model) { if (ModelState.IsValid) { CoalyticsProject project = _repository.GetProjectbyProjectName(model.ProjectName); if (project == null) { return(BadRequest("Cannot find the Project")); } CoalyticsTeam team = _repository.GetTeambyTeamName(model.TeamName); if (team == null) { return(BadRequest("Cannot find the Team")); } ProjectTeam pt = project.ProjectTeams.Where(p => p.TeamId == team.TeamId).FirstOrDefault(); if (pt == null) { return(BadRequest("Team is not assigned to the Project")); } project.ProjectTeams.Remove(pt); _repository.Save(); return(Ok("Team has been deleted from Project")); } return(BadRequest()); }
//Remove Project Team from Project (deletes Team data in ProjectTeam table) // Guid teamid, Team team, string id, AppUser appUser // public async Task <int> RemoveProjectTeam(Team team, string TeamId, Project project, Guid projectId) { Guid guidid = Guid.Parse(TeamId); ProjectTeam projectTeam = _context.ProjectTeams.Where(x => x.ProjectId == projectId && x.TeamId == guidid && x.Project == project && x.Team == team).FirstOrDefault(); _context.ProjectTeams.Remove(projectTeam); return(await _context.SaveChangesAsync()); }
public ActionResult DeleteConfirmed(int id) { ProjectTeam projectTeam = db.ProjectTeams.Find(id); db.ProjectTeams.Remove(projectTeam); db.SaveChanges(); return(RedirectToAction("Index")); }
private void UpdateProjectTeam(string poli, ProjectTeam team, DateTime date) { team.content = poli; team.modifiedAt = date; _insendluEntities.Entry(team).State = System.Data.Entity.EntityState.Modified; _insendluEntities.SaveChanges(); }
public IHttpActionResult DeleteProjectTeam(int projectId, int employeeId) { ProjectTeam projectTeam = db.ProjectTeams.FirstOrDefault(x => x.ProjectId == projectId && x.EmployeeId == employeeId && x.ProjectStatus == false); db.ProjectTeams.Remove(projectTeam); db.SaveChanges(); return(Ok()); }
public IHttpActionResult ProjectTeamsRelease(int projectId, int employeeId) { ProjectTeam projectTeam = db.ProjectTeams.FirstOrDefault(x => x.EmployeeId == employeeId && x.ProjectId == projectId && x.ProjectStatus == false); projectTeam.ProjectStatus = true; projectTeam.EmployeeEndDate = DateTime.Now.Date; db.SaveChanges(); return(Ok()); }
public ActionResult Create(ProjectViewModel pview) { Projects project = new Projects(); ProjectTeam team = new ProjectTeam(); project.ProjectName = pview.ProjectName; project.ProjectTypeId = pview.ProjectTypeId; project.ProjectCategoryId = pview.ProjectCategoryId; project.TechnologyId = pview.TechnologyId; project.ProjectOwner = pview.ProjectOwner; project.ProjectManager = pview.ProjectManager; project.ProjectLead = pview.ProjectLead; project.InitialEstimatedHrs = pview.InitialEstimatedHrs; project.InitialDeadline = pview.InitialDeadline; project.ShortCode = pview.ShortCode; project.CustomerId = pview.CustomerId; project.CustomerName = _dbContext.Customer.Where(x => x.Id == pview.CustomerId).Select(name => name.Name).SingleOrDefault(); // project.CustomerEmail = _dbContext.Customer.Where(x => x.Id == pview.CustomerId).Select(email => email.Email).SingleOrDefault(); // project.CustomerLocation = _dbContext.Customer.Where(x => x.Id == pview.CustomerId).Select(location => location.Country.Name).SingleOrDefault(); project.ProjectGroupId = pview.ProjectGroupId; project.ProjectBrief = pview.ProjectBrief; project.ProjectStatusId = 5; _objProject.Insert(project); //ProjectTeam DefaultEntry //Owner team.ProjectId = project.Id; team.EmployeeId = pview.ProjectOwner; team.ProjectRoleId = 1; team.CS_Level = 1; team.IsActive = true; team.IsCreate = false; _objProjectTeam.Insert(team); //Manager team.ProjectId = project.Id; team.EmployeeId = pview.ProjectManager ?? 0; team.ProjectRoleId = 2; team.CS_Level = 2; team.IsActive = true; team.IsCreate = false; _objProjectTeam.Insert(team); //Leader team.ProjectId = project.Id; team.EmployeeId = pview.ProjectLead ?? 0; team.ProjectRoleId = 3; team.CS_Level = 3; team.IsActive = true; team.IsCreate = false; _objProjectTeam.Insert(team); return(RedirectToAction(ActionName.ProjectMgtIndex, ControllerName.Project)); }
public ActionResult Edit([Bind(Include = "ID,teamPhaseIn,projectID")] ProjectTeam projectTeam) { if (ModelState.IsValid) { db.Entry(projectTeam).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(projectTeam)); }
public ServiceModels.Project Map() { return(new ServiceModels.Project(Title) { ProjectUserStories = ProjectUserStories.Select(m => m.Map()).ToList(), ProjectTeam = ProjectTeam.Select(m => m.Map()).ToList(), Sprints = Sprints.Select(s => s.Map()).ToList(), Id = Id.ToString() }); }
public ActionResult Create([Bind(Include = "ID,teamPhaseIn,projectID")] ProjectTeam projectTeam) { if (ModelState.IsValid) { db.ProjectTeams.Add(projectTeam); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(projectTeam)); }
public IHttpActionResult PostProjectTeam(ProjectTeam projectTeam) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } db.ProjectTeams.Add(projectTeam); db.SaveChanges(); return(CreatedAtRoute("DefaultApi", new { id = projectTeam.TeamId }, projectTeam)); }
public void Update(ProjectTeamDTO projectTeamDTO) { ProjectTeam projectTeam = new ProjectTeam(); projectTeam.Id = projectTeamDTO.ID; // projectTeam.teamName = projectTeamDTO.teamName; projectTeam.TeamId = projectTeamDTO.TeamId; projectTeam.EmployeeId = projectTeamDTO.EmployeeId; projectTeam.ProjectId = projectTeamDTO.ProjectId; projectTeam.DepartmentId = projectTeamDTO.DepartmentId; projectTeam.ProjectPositionId = projectTeamDTO.ProjectPositionId; _context.Entry(projectTeam).State = EntityState.Modified; }
public async Task <IActionResult> AddTeamMember([FromRoute] int?projectId, [FromRoute] string slug, [FromBody] ProjectTeamCreateDto member) { if (member == null) { return(BadRequest()); } if (member.ProjectRole == null) { return(BadRequest(new { message = "You must specify user role" })); } var role = await _db.ProjectRoles.SingleOrDefaultAsync(r => r.ProjectRoleId == member.ProjectRole.ProjectRoleId); if (role == null) { return(BadRequest(new { message = "Role provided was not found" })); } var project = await GetProject(projectId, slug); if (project == null) { return(NotFound()); } var existingMember = await _db.ProjectTeam.SingleOrDefaultAsync(t => t.UserId == member.UserId && t.ProjectId == project.ProjectId); if (existingMember != null) { throw new Exception("User is already in project team"); } var newMember = new ProjectTeam { UserId = member.UserId, ProjectId = project.ProjectId, ProjectRoleId = member.ProjectRole.ProjectRoleId, DateJoined = DateTime.UtcNow, Position = member.Position }; _db.ProjectTeam.Add(newMember); await _db.SaveChangesAsync(); await _db.Entry(newMember).Reference(t => t.ProjectRole).LoadAsync(); await _db.Entry(newMember).Reference(t => t.User).LoadAsync(); return(Ok(new ProjectTeamDto(newMember))); }
public void AddExistedTest() { //Arrange var teamProject = new ProjectTeam(1, 1); var context = ContextHelper.CreateContext(_dbConnection, false); context.RemoveRange(_testData.ProjectTeams); context.Add(teamProject); context.SaveChanges(); //Assert Assert.ThrowsAsync <HttpResponseException>(async() => await _service.Add(teamProject.TeamId, teamProject.ProjectId)); }
// GET: ProjectTeams/Delete/5 public ActionResult Delete(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } ProjectTeam projectTeam = db.ProjectTeams.Find(id); if (projectTeam == null) { return(HttpNotFound()); } return(View(projectTeam)); }
public void Add(List <ProjectTeamDTO> projectTeamDTO) { foreach (var item in projectTeamDTO) { ProjectTeam projectTeam = new ProjectTeam(); projectTeam.EmployeeId = item.EmployeeId; //projectTeam.teamName = item.teamName; projectTeam.ProjectId = item.ProjectId; projectTeam.DepartmentId = item.DepartmentId; projectTeam.ProjectPositionId = item.ProjectPositionId; projectTeam.TeamId = item.TeamId; _context.projectTeams.Add(projectTeam); } }
public IHttpActionResult DeleteProjectTeam(int id) { ProjectTeam projectTeam = db.ProjectTeams.Find(id); if (projectTeam == null) { return(NotFound()); } db.ProjectTeams.Remove(projectTeam); db.SaveChanges(); return(Ok(projectTeam)); }
public JsonResult ChnageStatusbyAjax(int id) { ProjectTeam Active = _objProjectTeam.FindById(id); if (Active.IsActive == true) { Active.IsActive = false; } else { Active.IsActive = true; } _objProjectTeam.Update(Active); return(this.Json(true, JsonRequestBehavior.AllowGet)); }
public JsonResult AddTeambyAjax(int id, int empid, int ProjectRId, int empLevel) { ProjectTeam team = new ProjectTeam(); team.ProjectId = id; team.EmployeeId = empid; team.ProjectRoleId = ProjectRId; team.CS_Level = Convert.ToByte(empLevel); team.IsActive = true; team.IsCreate = false; _objProjectTeam.Insert(team); return(this.Json(true, JsonRequestBehavior.AllowGet)); }
private int GetProjectTeam(string content, long projId) { var team = new ProjectTeam { content = content, createdAt = DateTime.Now, modifiedAt = DateTime.Now, proj_id = (int)projId }; _insendluEntities.ProjectTeams.Add(team); TryCatch(); return((int)team.id); }
public void UpdateByProjectId(int ProjectId, List <ProjectTeamDTO> projectTeamDTOs) { foreach (var item in projectTeamDTOs) { ProjectTeam projectTeam = new ProjectTeam(); projectTeam.Id = item.ID; //projectTeam.teamName = item.teamName; projectTeam.TeamId = item.TeamId; projectTeam.EmployeeId = item.EmployeeId; item.ProjectId = ProjectId; projectTeam.ProjectId = item.ProjectId; projectTeam.DepartmentId = item.DepartmentId; projectTeam.ProjectPositionId = item.ProjectPositionId; _context.Entry(projectTeam).State = EntityState.Modified; } }
public async Task <ActionResult> Create([Bind(Include = "ID,TeamMemberReference,Fullname,EmailAddress,PhoneNumber,Address,State,Country,KPI,ProjectID,CreatedDate,isDeleted,TimeStamp,OrganizationID,TeamMemberPhoto,UserId")] ProjectTeam projectTeam) { #region USERVALIDATION token = (string)(Session["accessToken"]); string userID = (string)(Session["UserID"]); #endregion if (ModelState.IsValid) { projectTeam.CreatedDate = DateTime.Now; projectTeam.isDeleted = false; projectTeam.TimeStamp = DateTime.Now; HttpPostedFileBase file = Request.Files["ImageData"]; projectTeam.TeamMemberPhoto = ConvertToBytes(file); projectTeam.UserId = userID; using (var client = new HttpClient()) { client.BaseAddress = new Uri(baseurl); client.DefaultRequestHeaders.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token); HttpResponseMessage Res = await client.PostAsJsonAsync("api/ProjectTeams", projectTeam); if (Res.IsSuccessStatusCode) { this.AddNotification("ProjectTeam created successfully", NotificationType.SUCCESS); return(RedirectToAction("Index")); } else { this.AddNotification("ProjectTeam cannot be created at this time. Please contact Administrator" + Res, NotificationType.ERROR); return(View()); } } } ViewBag.OrganizationID = await OrganizationSelectListByModel(token, projectTeam.OrganizationID); ViewBag.ProjectID = await ProjectSelectListByModel(token, projectTeam.ProjectID); return(View(projectTeam)); }