コード例 #1
0
        protected void btnAddCategory_Click(object sender, EventArgs e)
        {
            lblCategoryName.Attributes.Remove("class");
            lblCategoryName.Attributes.Add("class", "input");

            if (String.IsNullOrEmpty(txtCategoryName.Value))
            {
                lblCategoryName.Attributes.Remove("class");
                lblCategoryName.Attributes.Add("class", "input state-error");
                var errorMessageDiv = new HtmlGenericControl("div");
                errorMessageDiv.Attributes.Add("class", "note note-error");
                errorMessageDiv.InnerText = "Please enter a category name";
                lblCategoryName.Controls.Add(errorMessageDiv);

                RenderGrids();
                return;
            }

            if (Regex.Matches(txtCategoryName.Value, @"[a-zA-Z ']").Count < txtCategoryName.Value.Length)
            {
                lblCategoryName.Attributes.Remove("class");
                lblCategoryName.Attributes.Add("class", "input state-error");
                var errorMessageDiv = new HtmlGenericControl("div");
                errorMessageDiv.Attributes.Add("class", "note note-error");
                errorMessageDiv.InnerText = "Category name contains invalid characters (Enter A-Z, a-z)";
                lblCategoryName.Controls.Add(errorMessageDiv);

                RenderGrids();
                return;
            }

            // Ensure unique
            if (!IsCategoryUnique(txtCategoryName.Value, 0))
            {
                lblCategoryName.Attributes.Remove("class");
                lblCategoryName.Attributes.Add("class", "input state-error");
                var errorMessageDiv = new HtmlGenericControl("div");
                errorMessageDiv.Attributes.Add("class", "note note-error");
                errorMessageDiv.InnerText = "Duplicate category name. Please specity again.";
                lblCategoryName.Controls.Add(errorMessageDiv);

                RenderGrids();
                return;
            }

            var encodedName = System.Web.Security.AntiXss.AntiXssEncoder.HtmlEncode(txtCategoryName.Value, false);

            // Save category
            var cat = new DatasetCategory
            {
                CategoryOrder       = (short)GetNextCategoryOrder(),
                Dataset             = _dataset,
                DatasetCategoryName = encodedName
            };

            UnitOfWork.Repository <DatasetCategory>().Save(cat);
            UnitOfWork.Complete();

            RenderGrids();
        }
コード例 #2
0
        private void SetRequiredCategory()
        {
            var reqCat = UnitOfWork.Repository <DatasetCategory>().Queryable().SingleOrDefault(dc => dc.Dataset.Id == _dataset.Id && dc.DatasetCategoryName == "Required Information");

            if (reqCat == null)
            {
                // Save category
                reqCat = new DatasetCategory
                {
                    CategoryOrder       = 0,
                    Dataset             = _dataset,
                    DatasetCategoryName = "Required Information",
                    FriendlyName        = "Required Information",
                    Public  = false,
                    System  = true,
                    Acute   = false,
                    Chronic = false
                };

                foreach (DatasetCategory idc in _dataset.DatasetCategories)
                {
                    foreach (DatasetCategoryElement idce in idc.DatasetCategoryElements.Where(i => i.DatasetElement.Field.Mandatory))
                    {
                        var catEle = new DatasetCategoryElement()
                        {
                            Acute = false, Chronic = false, DatasetCategory = reqCat, DatasetElement = idce.DatasetElement,
                        };
                        reqCat.DatasetCategoryElements.Add(catEle);
                    }
                }

                UnitOfWork.Repository <DatasetCategory>().Save(reqCat);
            }
        }
コード例 #3
0
        public DatasetCategoryItem([CanBeNull] DatasetCategory datasetCategory)
        {
            IsNull = datasetCategory == null;

            Name = datasetCategory == null
                                       ? "<other>"
                                       : datasetCategory.Name;
        }
コード例 #4
0
        private bool ShouldCategoryBeDisplayed(Encounter encounter, DatasetCategory datasetCategory)
        {
            if (datasetCategory.Chronic)
            {
                if (!encounter.Patient.HasCondition(datasetCategory.DatasetCategoryConditions.Select(c => c.Condition).ToList()))
                {
                    return(false);
                }
            }

            return(true);
        }
コード例 #5
0
        private int GetNextElementOrder(DatasetCategory cat)
        {
            int order = 0;

            if (cat.DatasetCategoryElements.Count == 0)
            {
                return(1);
            }
            else
            {
                return(cat.DatasetCategoryElements.OrderByDescending(de => de.FieldOrder).First().FieldOrder + 1);
            }
        }
コード例 #6
0
        public IList <Dataset> Get(DatasetCategory datasetCategory)
        {
            Assert.ArgumentNotNull(datasetCategory, nameof(datasetCategory));

            if (!datasetCategory.IsPersistent)
            {
                return(new List <Dataset>());
            }

            using (ISession session = OpenSession(true))
            {
                return(session.CreateQuery(
                           "from Dataset ds " +
                           "where ds.DatasetCategory = :datasetCategory")
                       .SetEntity("datasetCategory", datasetCategory)
                       .List <Dataset>());
            }
        }