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 DeleteteProjectAttribute(int id)
        {
            ProjectAttribute attribute = ProjectAttributeRepository.Get(id);

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

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

            return(JsonError());
        }
        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)
            }));
        }