public ActionResult SaveProjectAttribute(ProjectAttributeModel viewModel) { ProjectAttribute projectAttribute = (viewModel.Id > 0) ? ProjectAttributeRepository.Get(viewModel.Id) : new ProjectAttribute(); projectAttribute.Attributeid = viewModel.Id; projectAttribute.ProjectId = viewModel.ProjectId; projectAttribute.Attributename = viewModel.Name; projectAttribute.Attributevalue = viewModel.Value == null ? string.Empty : viewModel.Value; if (viewModel.Id == 0) { projectAttribute.Attributeorder = ProjectAttributeRepository.GetNextAttributeOrderNumber(viewModel.ProjectId); } int id = ProjectAttributeRepository.Create(projectAttribute); if (id > 0) { ProjectAdminAppModel model = new ProjectAdminAppModel(); model.ProjectAttributes = ProjectAttributeRepository.GetAll(viewModel.ProjectId); return(JsonSuccess(new { Html = RenderPartialViewToString(this, AppManager.Instance.GetAppUrl(Constants.AppId, "views/_ProjectAttributes.cshtml"), model) })); } else { return(JsonError()); } }
public ActionResult GetProjectAttributes() { var projectIds = Request.Form["projectIds[]"] == "0" ? Request.Form["projectIds[]"].SplitEntries(',') : Request.Form["projectIds[]"].SplitEntries(',', 0); if (projectIds.Count == 1 && projectIds[0] != 0) { var projectAttributes = ProjectAttributeRepository.GetAll(projectIds[0]); var project = ProjectManager.Get(projectIds[0]); if (project != null && project.Entity.LeadId > 0) { var user = UserManager.Get(project.Entity.LeadId); ProjectAttribute attribute = new ProjectAttribute() { Attributename = "Lead", Attributevalue = user.Fullname }; projectAttributes.Insert(0, attribute); } return(JsonSuccess(new { Html = RenderPartialViewToString(this, AppManager.Instance.GetAppUrl(AppGuid, "views/_ProjectAttributes.cshtml"), projectAttributes) })); } else { return(JsonSuccess(new { Html = "" })); } }
public ActionResult DeleteteProjectAttribute(int id) { ProjectAttribute attribute = ProjectAttributeRepository.Get(id); if (attribute != null) { ProjectAttributeRepository.Delete(id); return(JsonSuccess(new { Id = id })); } return(JsonError()); }
public ActionResult ResequenceAttribute(int projectId, int id, int afterid, int newIndex, int oldIndex) { var projectAttributes = ProjectAttributeRepository.GetAll(projectId); ProjectAttribute entity = projectAttributes.Find(s => s.Attributeid == id); projectAttributes.RemoveAll(s => s.Attributeid == id); if (newIndex > -1) { projectAttributes.Insert(newIndex, entity); } int order = 1; projectAttributes.ForEach(s => s.Attributeorder = order++); projectAttributes.ForEach(s => ProjectAttributeRepository.Create(s)); return(JsonSuccess()); }
public ActionResult GetProjectAttributeEditor(int projectId, int id = 0) { var model = new ProjectAttribute(); model.ProjectId = projectId; model.Attributeid = id; if (id > 0) { var projectAttribute = ProjectAttributeRepository.Get(id); if (projectAttribute != null) { model = projectAttribute; } } return(JsonSuccess(new { Html = RenderPartialViewToString(this, AppManager.Instance.GetAppUrl(Constants.AppId, "views/_ProjectAttributeEditor.cshtml"), model) })); }
public ProjectAdminAppModel BuildModelData() { ProjectAdminAppModel model = new ProjectAdminAppModel(); model.ProjectAdminAppPermissions = new ProjectAdminAppPermissionModel(); //Permission Logic int id = UserContext.Project.Entity.PermissionId.Value; model.ProjectAdminAppPermissions.PermissionSet = new PermissionSetDto(Cache.Permissions.Get(id)); AddRoles(model.ProjectAdminAppPermissions); GlobalConfigurationWidgetData <ProjectAdminConfigModel> data = GeminiContext.GlobalConfigurationWidgetStore.Get <ProjectAdminConfigModel>(AppGuid); var allProjectGroups = Cache.ProjectGroups.GetAll(); //Exclude selected groups from admin screen List <int> excludeGroups = new List <int>(); List <int> excludeUsersFromGroups = new List <int>(); if (data != null && data.Value != null && data.Value.Data != null) { if (data.Value.Data.ExcludeGroups.Count > 0) { excludeGroups = data.Value.Data.ExcludeGroups; } if (data.Value.Data.ExcludeUserFromGroups.Count > 0) { var excludedProjectGroups = allProjectGroups.Where(g => data.Value.Data.ExcludeUserFromGroups.Contains(g.Id)); foreach (var group in excludedProjectGroups) { excludeUsersFromGroups.AddRange(group.Members. Where(a => (a.ProjectId == UserContext.Project.Entity.Id || a.ProjectId == null) && a.UserId != Countersoft.Gemini.Commons.Constants.AnonymousUserId && a.UserId != Countersoft.Gemini.Commons.Constants.SystemAccountUserId).Select(s => s.UserId)); } } } //exclude following groups excludeGroups.Add(Countersoft.Gemini.Commons.Constants.GlobalGroupEveryone); excludeGroups.Add(Countersoft.Gemini.Commons.Constants.GlobalGroupEveryoneAuthenticated); excludeGroups.Add(Countersoft.Gemini.Commons.Constants.GlobalGroupAdministrators); model.ProjectGroups = new List <ProjectGroupModel>(); var projectGroups = allProjectGroups.Where(g => !excludeGroups.Contains(g.Id)); foreach (var projectGroup in projectGroups) { int myProjects = projectGroup.Members.FindAll(m => m.ProjectId == UserContext.Project.Entity.Id && !excludeUsersFromGroups.Contains(m.UserId)).Count(); ProjectGroupModel projectGroupModel = new ProjectGroupModel(); projectGroupModel.Summary = GetSummary(myProjects); projectGroupModel.ProjectGroup = projectGroup; model.ProjectGroups.Add(projectGroupModel); } model.ProjectAttributes = ProjectAttributeRepository.GetAll(UserContext.Project.Entity.Id); return(model); }