Exemple #1
0
        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));
        }
Exemple #4
0
        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));
        }
Exemple #6
0
        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");
        }
Exemple #7
0
 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));
 }
Exemple #8
0
        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());
        }
Exemple #11
0
        public ActionResult DeleteConfirmed(int id)
        {
            ProjectTeam projectTeam = db.ProjectTeams.Find(id);

            db.ProjectTeams.Remove(projectTeam);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Exemple #12
0
        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();
        }
Exemple #13
0
        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());
        }
Exemple #14
0
        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());
        }
Exemple #15
0
        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));
        }
Exemple #16
0
 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));
 }
Exemple #17
0
 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()
     });
 }
Exemple #18
0
        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));
        }
Exemple #20
0
        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;
        }
Exemple #21
0
        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));
        }
Exemple #23
0
        // 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));
        }
Exemple #24
0
 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);
     }
 }
Exemple #25
0
        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);
        }
Exemple #29
0
 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));
        }