public void ProcedureCodes_GetProcCodesByTreatmentArea_HiddenCategories()
        {
            string suffix = MethodBase.GetCurrentMethod().Name;
            List <ProcedureCode> listMouthProcCodesOld = ProcedureCodes.GetProcCodesByTreatmentArea(false, TreatmentArea.Mouth, TreatmentArea.None);
            Def defCat = Defs.GetDef(DefCat.ProcCodeCats, listMouthProcCodesOld.FirstOrDefault(x => x.ProcCat > 0 &&
                                                                                               !Defs.GetHidden(DefCat.ProcCodeCats, x.ProcCat)).ProcCat);

            defCat.IsHidden = true;
            Defs.Update(defCat);
            Defs.RefreshCache();
            //ProcedureCodes.RefreshCache();
            List <ProcedureCode> listMouthProcCodesNew = ProcedureCodes.GetProcCodesByTreatmentArea(false, TreatmentArea.Mouth, TreatmentArea.None);

            defCat.IsHidden = false;
            Defs.Update(defCat);
            Defs.RefreshCache();
            Assert.AreNotEqual(listMouthProcCodesOld.Count, listMouthProcCodesNew.Count);
        }
        public void ProcedureCodes_GetProcCodesByTreatmentArea_MouthCodes()
        {
            string suffix = MethodBase.GetCurrentMethod().Name;
            List <ProcedureCode> listMouthProcCodesOld = ProcedureCodes.GetProcCodesByTreatmentArea(false, TreatmentArea.Mouth);
            int i = 0;

            do
            {
                i++;                //Add a nonexisting proc code.
            }while(!ProcedureCodeT.AddIfNotPresent("D" + i.ToString().PadLeft(4, '0')) && i < 10000);
            ProcedureCode newProc = ProcedureCodes.GetOne("D" + i.ToString().PadLeft(4, '0'));

            newProc.TreatArea = TreatmentArea.Mouth;
            newProc.Descript  = suffix;
            ProcedureCodeT.Update(newProc);
            List <ProcedureCode> listMouthProcCodesNew = ProcedureCodes.GetProcCodesByTreatmentArea(false, TreatmentArea.Mouth);

            Assert.IsFalse(listMouthProcCodesNew.Any(x => x.TreatArea != TreatmentArea.Mouth));
            Assert.IsTrue((listMouthProcCodesOld.Count + 1) == listMouthProcCodesNew.Count);
            Assert.IsTrue(listMouthProcCodesNew.Exists(x => x.CodeNum == newProc.CodeNum));
        }