Exemplo n.º 1
0
        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());
            }
        }
Exemplo n.º 2
0
        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 = ""
                }));
            }
        }
Exemplo n.º 3
0
        public ActionResult DeleteteProjectAttribute(int id)
        {
            ProjectAttribute attribute = ProjectAttributeRepository.Get(id);

            if (attribute != null)
            {
                ProjectAttributeRepository.Delete(id);

                return(JsonSuccess(new { Id = id }));
            }

            return(JsonError());
        }
Exemplo n.º 4
0
        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());
        }
Exemplo n.º 5
0
        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)
            }));
        }
Exemplo n.º 6
0
        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);
        }