Esempio n. 1
0
        public async Task <IActionResult> DeleteMemberFromProject(int id, ProjectAddViewModel project)
        {
            if (ModelState.IsValid)
            {
                var proj = await _context.Projects.SingleOrDefaultAsync(c => c.ProjectID == id);

                var client = await _context.Members.SingleOrDefaultAsync(c => c.ID == project.SelectID);

                var cliToAdd = new ProjectPerson
                {
                    Project   = proj,
                    ProjectID = project.PAVID,
                    Person    = client,
                    PersonID  = client.ID
                };

                _context.ProjectPersons.Remove(cliToAdd);
                await _context.SaveChangesAsync();


                return(RedirectToRoute("removeFromProj"));
            }

            return(NotFound());
        }
Esempio n. 2
0
        public async Task <IActionResult> AddClientToProject(int id, ProjectAddViewModel project)
        {
            if (ModelState.IsValid)
            {
                var proj = await _context.Projects.SingleOrDefaultAsync(c => c.ProjectID == id);

                var client = await _context.Clients.SingleOrDefaultAsync(c => c.ID == project.SelectID);

                var cliToAdd = new ProjectPerson
                {
                    Project   = proj,
                    ProjectID = project.PAVID,
                    Person    = client,
                    PersonID  = client.ID
                };

                _context.ProjectPersons.Add(cliToAdd);
                await _context.SaveChangesAsync();


                return(RedirectToRoute(new
                {
                    controller = "Project",
                    action = "Details",
                    id = id
                }));
            }

            return(NotFound());
        }
Esempio n. 3
0
        public async Task <IActionResult> ProjectAdd(ProjectAddViewModel model)
        {
            if (_ticketService.AddProject(model.Name, model.Description) == null)
            {
                return(View());
            }
            await _projectRolesService.SetProjectRole(model.Name, User.Identity.Name, Models.Enums.eProjectRoles.Manager);

            await reLoginUser();

            var project = _ticketService.GetProjects().Single(ll => ll.Name == model.Name);

            return(RedirectToAction(actionName: "projectDetail", controllerName: "Project", new { project.Id }));
        }
Esempio n. 4
0
        public IHttpActionResult Post(ProjectAddViewModel project)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest("Invalid data."));
            }

            try
            {
                ProjectDTO projectDto = new ProjectDTO();
                Mapping.Mapping.Map(project, projectDto);
                _projectService.AddProject(projectDto);
            }
            catch (ValidationException e)
            {
            }

            return(Ok());
        }
Esempio n. 5
0
        public async Task <IActionResult> ProjectAddNew(int id, Project project)
        {
            project = await _context.Projects.FindAsync(id);

            if (project == null)
            {
                return(NotFound());
            }

            var projP   = _sorter.MembersClientsNotInProject(_context, project);
            var memSort = projP.Members;
            var cliSort = projP.Clients;

            List <SelectListItem> memberList = new List <SelectListItem>();
            List <SelectListItem> clientList = new List <SelectListItem>();

            foreach (var m in memSort)
            {
                memberList.Add(new SelectListItem {
                    Value = m.ID.ToString(), Text = m.ToString()
                });
            }

            foreach (var c in cliSort)
            {
                clientList.Add(new SelectListItem {
                    Value = c.ID.ToString(), Text = c.ToString()
                });
            }

            var projDetails = new ProjectAddViewModel()
            {
                PAVID      = id,
                NewProject = project,
                MemberList = memberList,
                ClientList = clientList
            };

            return(View(projDetails));
        }
Esempio n. 6
0
        public ProjectAddViewModel AddProject(ProjectAddViewModel mavm)
        {
            //首先验证用户是否有权限进行操作
            bool bRet = new UserService().IsAuthProject(mavm.Account, mavm.Token, mavm.ParentId, 2);

            if (!bRet)
            {
                mavm.Success = false;
                mavm.Message = "用户没有添加项目的权限";
                return(mavm);
            }
            #region 验证用户权限 废弃

            /*
             * UserModel um = new UserRepository().Find(mavm.Account);
             * //非管理员
             * //注:此处存在问题,需斟酌一下
             * if (um.UserRole.Role.IsAdmin != 1)
             * {
             *  //验证用户在最高一层项目上是否有权限
             *  var m = um.UserRole.Role.RoleProject.Where(a => a.ProjectId == mavm.ParentId);
             *  if (m.Count() > 0)
             *  {
             *      var n = m.Select(a => a.TypeId != 0);
             *      if (n.Count() == 0)
             *      {
             *          mavm.Success = false;
             *          mavm.Message = "用户没有添加项目的权限";
             *          return mavm;
             *      }
             *  }
             * }*/
            #endregion
            //验证此项目是否已存在

            ProjectModel mm = new ProjectModel();
            mm.ProjectName = mavm.ProjectName;
            mm.Token       = mavm.Token;
            if (mavm.ParentId == 0)
            {
                mm.ParentId = null;
            }
            else
            {
                mm.ParentId = mavm.ParentId;
            }
            mm.ProjectType = (ProjectType)mavm.ProjectType;
            mm.Cate        = 0;
            mm.level       = 0;
            mm.Type        = 0;
            mm.StartTime   = DateTime.Now;
            //检测是否终端节点,如果是终端节点则不允许再添加节点
            if (mm.ParentId.HasValue)
            {
                ProjectModel mf = _mr.Find(mm.ParentId.Value);
                if (mf.ProjectType == (ProjectType)2)
                {
                    mavm.Success = false;
                    mavm.Message = "终端节点下不允许添加节点";
                    return(mavm);
                }
            }

            ProjectModel mr = _mr.FindByName(mm);
            if (mr != null)
            {
                mavm.Success = false;
                mavm.Message = "已存在此项目";
                return(mavm);
            }
            _mr.Add(mm);
            mavm.Success = true;
            mavm.Message = "添加项目成功";
            return(mavm);
        }
Esempio n. 7
0
        public ProjectAddViewModel ProjectAdd(ProjectAddViewModel mavm)
        {
            ProjectService ms = new ProjectService();

            return(ms.AddProject(mavm));
        }