204. EPMO Open Source Coordination Office Redaction File Detail Report

Produced by Araxis Merge on 7/5/2018 7:16:27 AM Central Daylight Time. See www.araxis.com for information about Merge. This report uses XHTML and CSS2, and is best viewed with a modern standards-compliant browser. For optimum results when printing this report, use landscape orientation and enable printing of background images and colours in your browser.

204.1 Files compared

# Location File Last Modified
1 registries.zip\registries\Combined_registries_code\Registries VIRP Web Site\BaseCode ServiceInterfaceManager.cs Wed Jun 27 16:55:32 2018 UTC
2 registries.zip\registries\Combined_registries_code\Registries VIRP Web Site\BaseCode ServiceInterfaceManager.cs Wed Jun 27 17:52:51 2018 UTC

204.2 Comparison summary

Description Between
Files 1 and 2
Text Blocks Lines
Unchanged 2 7442
Changed 1 2
Inserted 0 0
Removed 0 0

204.3 Comparison options

Whitespace
Character case Differences in character case are significant
Line endings Differences in line endings (CR and LF characters) are ignored
CR/LF characters Not shown in the comparison detail

204.4 Active regular expressions

No regular expressions were active.

204.5 Comparison detail

  1   using Syst em;
  2   using Syst em.Collect ions.Gener ic;
  3   using Syst em.Linq;
  4   using Syst em.Web;
  5   using VIRP _WEB.SoaSe rvices;
  6  
  7   namespace  VIRP_WEB.B aseCode
  8   {
  9       public  partial c lass Servi ceInterfac eManager
  10       {
  11             // DN S      BLANCT: Re moving unu sed and co nsolidatin g from the  cg.cs fil e in prep  for Fortif y
  12  
  13           pr ivate stat ic CrsServ ices servi ces = new  CrsService s() { Cred entials =  System.Net .Credentia lCache.Def aultCreden tials };
  14  
  15           pr ivate int  referralCo mmonCount;
  16  
  17           pu blic stati c string G ET_VERSION ()
  18           {
  19                return s ervices.GE T_VERSION( );
  20           }
  21  
  22           #r egion APPL ICATION_ST ATUS
  23           #e ndregion
  24  
  25           #r egion BCCC R_BCR_ALL
  26  
  27           pu blic stati c List<BCC CR_BCR_ALL > BCCCR_BC R_ALL_GET_ ALL_BY_SEA RCH(string  CURRENT_U SER, int C URRENT_REG ISTRY_ID,  short STA3 N, string  PATIENT_SE ARCH)
  28           {
  29                BCCCR_BC R_ALL[] te mp = servi ces.BCCCR_ BCR_ALL_GE T_ALL_BY_S EARCH(CURR ENT_USER,  CURRENT_RE GISTRY_ID,  STA3N, PA TIENT_SEAR CH);
  30                if (temp  != null)
  31                    retu rn temp.To List<BCCCR _BCR_ALL>( );
  32                return n ull;
  33           }
  34  
  35           pu blic stati c List<BCC CR_BCR_ALL > BCCCR_BC R_ALL_GET_ ALL_BY_SEA RCH(string  CURRENT_U SER, int C URRENT_REG ISTRY_ID,  short STA3 N, string  PATIENT_SE ARCH, stri ng SORT_EX PRESSION)
  36           {
  37                List<BCC CR_BCR_ALL > objRetur n = BCCCR_ BCR_ALL_GE T_ALL_BY_S EARCH(CURR ENT_USER,  CURRENT_RE GISTRY_ID,  STA3N, PA TIENT_SEAR CH);
  38                if (objR eturn != n ull)
  39                {
  40                    if ( objReturn  != null &&  objReturn .Count !=  0)
  41                    {
  42                         if (!strin g.IsNullOr Empty(SORT _EXPRESSIO N))
  43                         {
  44                             if (SO RT_EXPRESS ION.Length  >= 4 && S ORT_EXPRES SION.Subst ring(SORT_ EXPRESSION .Length -  4, 4).ToUp per() == " DESC")
  45                             {
  46                                 SO RT_EXPRESS ION = SORT _EXPRESSIO N.Substrin g(0, SORT_ EXPRESSION .Length -  5);
  47  
  48                                 if  (SORT_EXP RESSION.Co ntains("." ))
  49                                 {
  50                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  51                                      if (prop s != null  && props.C ount() ==  2)
  52                                      {
  53                                          objR eturn = ob jReturn.Or derByDesce nding(s =>  s.GetType ().GetProp erty(props [0]).GetVa lue(s).Get Type().Get Property(p rops[1]).G etValue(s. GetType(). GetPropert y(props[0] ).GetValue (s))).ToLi st<BCCCR_B CR_ALL>();
  54                                      }
  55                                      else if  (props !=  null && pr ops.Count( ) == 3)
  56                                      {
  57                                      }
  58                                 }
  59                                 el se
  60                                 {
  61                                      objRetur n = objRet urn.OrderB yDescendin g(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<BC CCR_BCR_AL L>();
  62                                 }
  63                             }
  64                             else i f (SORT_EX PRESSION.L ength >= 3  && SORT_E XPRESSION. Substring( SORT_EXPRE SSION.Leng th - 3, 3) .ToUpper()  == "ASC")
  65                             {
  66                                 SO RT_EXPRESS ION = SORT _EXPRESSIO N.Substrin g(0, SORT_ EXPRESSION .Length -  4);
  67                                 if  (SORT_EXP RESSION.Co ntains("." ))
  68                                 {
  69                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  70                                      if (prop s != null  && props.C ount() ==  2)
  71                                      {
  72                                          objR eturn = ob jReturn.Or derBy(s =>  s.GetType ().GetProp erty(props [0]).GetVa lue(s).Get Type().Get Property(p rops[1]).G etValue(s. GetType(). GetPropert y(props[0] ).GetValue (s))).ToLi st<BCCCR_B CR_ALL>();
  73                                      }
  74                                      else if  (props !=  null && pr ops.Count( ) == 3)
  75                                      {
  76                                      }
  77                                 }
  78                                 el se
  79                                 {
  80                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<BC CCR_BCR_AL L>();
  81                                 }
  82                             }
  83                             else
  84                             {
  85                                 if  (SORT_EXP RESSION.Co ntains("." ))
  86                                 {
  87                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  88                                      if (prop s != null  && props.C ount() ==  2)
  89                                      {
  90                                          objR eturn = ob jReturn.Or derBy(s =>  s.GetType ().GetProp erty(props [0]).GetVa lue(s).Get Type().Get Property(p rops[1]).G etValue(s. GetType(). GetPropert y(props[0] ).GetValue (s))).ToLi st<BCCCR_B CR_ALL>();
  91                                      }
  92                                      else if  (props !=  null && pr ops.Count( ) == 3)
  93                                      {
  94                                      }
  95                                 }
  96                                 el se
  97                                 {
  98                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<BC CCR_BCR_AL L>();
  99                                 }
  100                             }
  101                         }
  102                    }
  103                }
  104  
  105                return o bjReturn;
  106           }
  107  
  108           #e ndregion
  109  
  110           #r egion DATA _DICTIONAR Y
  111  
  112           pu blic stati c List<DAT A_DICTIONA RY> DATA_D ICTIONARY_ GET_ALL(st ring CURRE NT_USER, i nt CURRENT _REGISTRY_ ID)
  113           {
  114                DATA_DIC TIONARY[]  temp = ser vices.DATA _DICTIONAR Y_GET_ALL( CURRENT_US ER, CURREN T_REGISTRY _ID);
  115                if (temp  != null)
  116                    retu rn temp.To List<DATA_ DICTIONARY >();
  117                return n ull;
  118           }
  119  
  120           pu blic stati c List<DAT A_DICTIONA RY> DATA_D ICTIONARY_ GET_ALL(st ring CURRE NT_USER, i nt CURRENT _REGISTRY_ ID, string  SEARCH_CO LUMN, stri ng SEARCH_ TEXT, stri ng SORT_EX PRESSION)
  121           {
  122                List<DAT A_DICTIONA RY> objRet urn = DATA _DICTIONAR Y_GET_ALL( CURRENT_US ER, CURREN T_REGISTRY _ID);
  123                if (objR eturn != n ull)
  124                {
  125                    if ( objReturn  != null &&  objReturn .Count !=  0)
  126                    {
  127                         if (!strin g.IsNullOr Empty(SEAR CH_COLUMN)  && !strin g.IsNullOr Empty(SEAR CH_TEXT))
  128                         {
  129                             if (SE ARCH_COLUM N.Contains ("."))
  130                             {
  131                                 st ring[] pro ps = SEARC H_COLUMN.S plit('.');
  132                                 if  (props !=  null && p rops.Count () == 2)
  133                                 {
  134                                      objRetur n = objRet urn.Where( s => s.Get Type().Get Property(p rops[0]).G etValue(s) .GetType() .GetProper ty(props[1 ]).GetValu e(s.GetTyp e().GetPro perty(prop s[0]).GetV alue(s)).T oString(). ToLower(). Contains(S EARCH_TEXT .ToLower() )).ToList< DATA_DICTI ONARY>();
  135                                 }
  136                             }
  137                             else
  138                             {
  139                                 ob jReturn =  objReturn. Where(w =>  w.GetType ().GetProp erty(SEARC H_COLUMN). GetValue(w ) != null) .ToList<DA TA_DICTION ARY>();
  140                                 ob jReturn =  objReturn. Where(w =>  w.GetType ().GetProp erty(SEARC H_COLUMN). GetValue(w ).ToString ().ToLower ().Contain s(SEARCH_T EXT.ToLowe r())).ToLi st<DATA_DI CTIONARY>( );
  141                             }
  142                         }
  143                         if (!strin g.IsNullOr Empty(SORT _EXPRESSIO N))
  144                         {
  145                             if (SO RT_EXPRESS ION.Length  >= 4 && S ORT_EXPRES SION.Subst ring(SORT_ EXPRESSION .Length -  4, 4).ToUp per() == " DESC")
  146                             {
  147                                 SO RT_EXPRESS ION = SORT _EXPRESSIO N.Substrin g(0, SORT_ EXPRESSION .Length -  5);
  148  
  149                                 if  (SORT_EXP RESSION.Co ntains("." ))
  150                                 {
  151                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  152                                      if (prop s != null  && props.C ount() ==  2)
  153                                      {
  154                                          objR eturn = ob jReturn.Or derByDesce nding(s =>  s.GetType ().GetProp erty(props [0]).GetVa lue(s).Get Type().Get Property(p rops[1]).G etValue(s. GetType(). GetPropert y(props[0] ).GetValue (s))).ToLi st<DATA_DI CTIONARY>( );
  155                                      }
  156                                      else if  (props !=  null && pr ops.Count( ) == 3)
  157                                      {
  158                                      }
  159                                 }
  160                                 el se
  161                                 {
  162                                      objRetur n = objRet urn.OrderB yDescendin g(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<DA TA_DICTION ARY>();
  163                                 }
  164                             }
  165                             else i f (SORT_EX PRESSION.L ength >= 3  && SORT_E XPRESSION. Substring( SORT_EXPRE SSION.Leng th - 3, 3) .ToUpper()  == "ASC")
  166                             {
  167                                 SO RT_EXPRESS ION = SORT _EXPRESSIO N.Substrin g(0, SORT_ EXPRESSION .Length -  4);
  168                                 if  (SORT_EXP RESSION.Co ntains("." ))
  169                                 {
  170                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  171                                      if (prop s != null  && props.C ount() ==  2)
  172                                      {
  173                                          objR eturn = ob jReturn.Or derBy(s =>  s.GetType ().GetProp erty(props [0]).GetVa lue(s).Get Type().Get Property(p rops[1]).G etValue(s. GetType(). GetPropert y(props[0] ).GetValue (s))).ToLi st<DATA_DI CTIONARY>( );
  174                                      }
  175                                      else if  (props !=  null && pr ops.Count( ) == 3)
  176                                      {
  177                                      }
  178                                 }
  179                                 el se
  180                                 {
  181                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<DA TA_DICTION ARY>();
  182                                 }
  183                             }
  184                             else
  185                             {
  186                                 if  (SORT_EXP RESSION.Co ntains("." ))
  187                                 {
  188                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  189                                      if (prop s != null  && props.C ount() ==  2)
  190                                      {
  191                                          objR eturn = ob jReturn.Or derBy(s =>  s.GetType ().GetProp erty(props [0]).GetVa lue(s).Get Type().Get Property(p rops[1]).G etValue(s. GetType(). GetPropert y(props[0] ).GetValue (s))).ToLi st<DATA_DI CTIONARY>( );
  192                                      }
  193                                      else if  (props !=  null && pr ops.Count( ) == 3)
  194                                      {
  195                                      }
  196                                 }
  197                                 el se
  198                                 {
  199                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<DA TA_DICTION ARY>();
  200                                 }
  201                             }
  202                         }
  203                    }
  204                }
  205  
  206                return o bjReturn;
  207           }
  208  
  209           #e ndregion
  210  
  211           #r egion DB_L OG
  212  
  213           pu blic stati c int DB_L OG_SAVE(st ring CURRE NT_USER, i nt CURRENT _REGISTRY_ ID, DB_LOG  objSave)
  214           {
  215                return s ervices.DB _LOG_SAVE( CURRENT_US ER, CURREN T_REGISTRY _ID, objSa ve);
  216           }
  217  
  218           #e ndregion
  219  
  220           #r egion DIM_ TIME
  221           #e ndregion
  222  
  223           #r egion ETL_ ExtractBat ch_Log
  224  
  225           pu blic stati c List<ETL _ExtractBa tch_Log> E TL_Extract Batch_Log_ GET_ALL_BY _REGISTRY( string CUR RENT_USER,  int CURRE NT_REGISTR Y_ID)
  226           {
  227                ETL_Extr actBatch_L og[] temp  = services .ETL_Extra ctBatch_Lo g_GET_ALL_ BY_REGISTR Y(CURRENT_ USER, CURR ENT_REGIST RY_ID);
  228                if (temp  != null)
  229                    retu rn temp.To List<ETL_E xtractBatc h_Log>();
  230                return n ull;
  231           }
  232  
  233           pu blic stati c List<ETL _ExtractBa tch_Log> E TL_Extract Batch_Log_ GET_ALL_BY _REGISTRY( string CUR RENT_USER,  int CURRE NT_REGISTR Y_ID, stri ng SEARCH_ COLUMN, st ring SEARC H_TEXT, st ring SORT_ EXPRESSION )
  234           {
  235                List<ETL _ExtractBa tch_Log> o bjReturn =  ETL_Extra ctBatch_Lo g_GET_ALL_ BY_REGISTR Y(CURRENT_ USER, CURR ENT_REGIST RY_ID);
  236                if (objR eturn != n ull)
  237                {
  238                    if ( objReturn  != null &&  objReturn .Count !=  0)
  239                    {
  240                         if (!strin g.IsNullOr Empty(SEAR CH_COLUMN)  && !strin g.IsNullOr Empty(SEAR CH_TEXT))
  241                         {
  242                             if (SE ARCH_COLUM N.Contains ("."))
  243                             {
  244                                 st ring[] pro ps = SEARC H_COLUMN.S plit('.');
  245                                 if  (props !=  null && p rops.Count () == 2)
  246                                 {
  247                                      objRetur n = objRet urn.Where( s => s.Get Type().Get Property(p rops[0]).G etValue(s) .GetType() .GetProper ty(props[1 ]).GetValu e(s.GetTyp e().GetPro perty(prop s[0]).GetV alue(s)).T oString(). ToLower(). Contains(S EARCH_TEXT .ToLower() )).ToList< ETL_Extrac tBatch_Log >();
  248                                 }
  249                             }
  250                             else
  251                             {
  252                                 ob jReturn =  objReturn. Where(w =>  w.GetType ().GetProp erty(SEARC H_COLUMN). GetValue(w ) != null) .ToList<ET L_ExtractB atch_Log>( );
  253                                 ob jReturn =  objReturn. Where(w =>  w.GetType ().GetProp erty(SEARC H_COLUMN). GetValue(w ).ToString ().ToLower ().Contain s(SEARCH_T EXT.ToLowe r())).ToLi st<ETL_Ext ractBatch_ Log>();
  254                             }
  255                         }
  256                         if (!strin g.IsNullOr Empty(SORT _EXPRESSIO N))
  257                         {
  258                             if (SO RT_EXPRESS ION.Length  >= 4 && S ORT_EXPRES SION.Subst ring(SORT_ EXPRESSION .Length -  4, 4).ToUp per() == " DESC")
  259                             {
  260                                 SO RT_EXPRESS ION = SORT _EXPRESSIO N.Substrin g(0, SORT_ EXPRESSION .Length -  5);
  261  
  262                                 if  (SORT_EXP RESSION.Co ntains("." ))
  263                                 {
  264                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  265                                      if (prop s != null  && props.C ount() ==  2)
  266                                      {
  267                                          objR eturn = ob jReturn.Or derByDesce nding(s =>  s.GetType ().GetProp erty(props [0]).GetVa lue(s).Get Type().Get Property(p rops[1]).G etValue(s. GetType(). GetPropert y(props[0] ).GetValue (s))).ToLi st<ETL_Ext ractBatch_ Log>();
  268                                      }
  269                                      else if  (props !=  null && pr ops.Count( ) == 3)
  270                                      {
  271                                      }
  272                                 }
  273                                 el se
  274                                 {
  275                                      objRetur n = objRet urn.OrderB yDescendin g(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<ET L_ExtractB atch_Log>( );
  276                                 }
  277                             }
  278                             else i f (SORT_EX PRESSION.L ength >= 3  && SORT_E XPRESSION. Substring( SORT_EXPRE SSION.Leng th - 3, 3) .ToUpper()  == "ASC")
  279                             {
  280                                 SO RT_EXPRESS ION = SORT _EXPRESSIO N.Substrin g(0, SORT_ EXPRESSION .Length -  4);
  281                                 if  (SORT_EXP RESSION.Co ntains("." ))
  282                                 {
  283                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  284                                      if (prop s != null  && props.C ount() ==  2)
  285                                      {
  286                                          objR eturn = ob jReturn.Or derBy(s =>  s.GetType ().GetProp erty(props [0]).GetVa lue(s).Get Type().Get Property(p rops[1]).G etValue(s. GetType(). GetPropert y(props[0] ).GetValue (s))).ToLi st<ETL_Ext ractBatch_ Log>();
  287                                      }
  288                                      else if  (props !=  null && pr ops.Count( ) == 3)
  289                                      {
  290                                      }
  291                                 }
  292                                 el se
  293                                 {
  294                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<ET L_ExtractB atch_Log>( );
  295                                 }
  296                             }
  297                             else
  298                             {
  299                                 if  (SORT_EXP RESSION.Co ntains("." ))
  300                                 {
  301                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  302                                      if (prop s != null  && props.C ount() ==  2)
  303                                      {
  304                                          objR eturn = ob jReturn.Or derBy(s =>  s.GetType ().GetProp erty(props [0]).GetVa lue(s).Get Type().Get Property(p rops[1]).G etValue(s. GetType(). GetPropert y(props[0] ).GetValue (s))).ToLi st<ETL_Ext ractBatch_ Log>();
  305                                      }
  306                                      else if  (props !=  null && pr ops.Count( ) == 3)
  307                                      {
  308                                      }
  309                                 }
  310                                 el se
  311                                 {
  312                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<ET L_ExtractB atch_Log>( );
  313                                 }
  314                             }
  315                         }
  316                    }
  317                }
  318  
  319                return o bjReturn;
  320           }
  321  
  322           #e ndregion
  323  
  324           #r egion INDI VIDUAL
  325           #e ndregion
  326  
  327           #r egion INDI VIDUAL_ADD RESS
  328           #e ndregion
  329  
  330           #r egion MESS AGE_LOG
  331           #e ndregion
  332  
  333           #r egion PATI ENT
  334  
  335           pu blic stati c PATIENT  PATIENT_GE T(string C URRENT_USE R, int CUR RENT_REGIS TRY_ID, in t id)
  336           {
  337                return s ervices.PA TIENT_GET( CURRENT_US ER, CURREN T_REGISTRY _ID, id);
  338           }
  339  
  340           pu blic stati c PATIENT  PATIENT_GE T_COMPLETE (string CU RRENT_USER , int CURR ENT_REGIST RY_ID, int  PATIENT_I D)
  341           {
  342                return s ervices.PA TIENT_GET_ COMPLETE(C URRENT_USE R, CURRENT _REGISTRY_ ID, PATIEN T_ID);
  343           }
  344  
  345           pu blic stati c List<PAT IENT> PATI ENT_GET_AL L_BY_REGIS TRY(string  CURRENT_U SER, int C URRENT_REG ISTRY_ID)
  346           {
  347                PATIENT[ ] temp = s ervices.PA TIENT_GET_ ALL_BY_REG ISTRY(CURR ENT_USER,  CURRENT_RE GISTRY_ID) ;
  348                if (temp  != null)
  349                    retu rn temp.To List<PATIE NT>();
  350                return n ull;
  351           }
  352  
  353           pu blic stati c List<PAT IENT> PATI ENT_GET_AL L_BY_NAME( string CUR RENT_USER,  int CURRE NT_REGISTR Y_ID, stri ng LAST_NA ME, string  FIRST_NAM E)
  354           {
  355                PATIENT[ ] temp = s ervices.PA TIENT_GET_ ALL_BY_NAM E(CURRENT_ USER, CURR ENT_REGIST RY_ID, LAS T_NAME, FI RST_NAME);
  356                if (temp  != null)
  357                    retu rn temp.To List<PATIE NT>();
  358                return n ull;
  359           }
  360  
  361           // public sta tic int PA TIENT_GET_ COMMON_BY_ REGISTRY_C OUNT(strin g CURRENT_ USER, int  CURRENT_RE GISTRY_ID,  string SE ARCH_COLUM N, string  SEARCH_TEX T)
  362           // {
  363           //     return  services. PATIENT_GE T_COMMON_B Y_REGISTRY _COUNT(CUR RENT_USER,  CURRENT_R EGISTRY_ID , SEARCH_C OLUMN, SEA RCH_TEXT);
  364           // }
  365  
  366           // public sta tic List<R EFERRALcom mon> PATIE NT_GET_COM MON_BY_REG ISTRY(stri ng CURRENT _USER, int  CURRENT_R EGISTRY_ID , string S EARCH_COLU MN, string  SEARCH_TE XT, string  SORT_EXPR ESSION, in t START_RO W, int MAX _ROWS)
  367           // {
  368           //     REFERR ALcommon[]  temp = se rvices.PAT IENT_GET_C OMMON_BY_R EGISTRY_FI LTER(CURRE NT_USER, C URRENT_REG ISTRY_ID,  SEARCH_COL UMN, SEARC H_TEXT, SO RT_EXPRESS ION, START _ROW, MAX_ ROWS);
  369           //     if (te mp != null )
  370           //         re turn temp. ToList<REF ERRALcommo n>();
  371           //     return  null;
  372           // }
  373  
  374           #e ndregion
  375  
  376           #r egion PATI ENT_IDS
  377           #e ndregion
  378  
  379           #r egion PATI ENT_UDFs
  380  
  381           pu blic stati c int PATI ENT_UDFs_S AVE(string  CURRENT_U SER, int C URRENT_REG ISTRY_ID,  PATIENT_UD Fs objSave )
  382           {
  383                return s ervices.PA TIENT_UDFs _SAVE(CURR ENT_USER,  CURRENT_RE GISTRY_ID,  objSave);
  384           }
  385  
  386           pu blic stati c PATIENT_ UDFs PATIE NT_UDFs_GE T_BY_PATIE NT_UDF(str ing CURREN T_USER, in t CURRENT_ REGISTRY_I D, int PAT IENT_ID, i nt STD_REG _UDFs_ID)
  387           {
  388                return s ervices.PA TIENT_UDFs _GET_BY_PA TIENT_UDF( CURRENT_US ER, CURREN T_REGISTRY _ID, PATIE NT_ID, STD _REG_UDFs_ ID);
  389           }
  390  
  391           #e ndregion
  392  
  393           #r egion REFE RRAL
  394  
  395           pu blic stati c REFERRAL  REFERRAL_ GET(string  CURRENT_U SER, int C URRENT_REG ISTRY_ID,  int id)
  396           {
  397                return s ervices.RE FERRAL_GET (CURRENT_U SER, CURRE NT_REGISTR Y_ID, id);
  398           }
  399  
  400           pu blic stati c REFERRAL  REFERRAL_ GET_BY_PAT IENTICN(st ring CURRE NT_USER, i nt CURRENT _REGISTRY_ ID, string  patientIc n)
  401           {
  402                return s ervices.RE FERRAL_GET _BY_PATIEN TICN(CURRE NT_USER, C URRENT_REG ISTRY_ID,  patientIcn );
  403           }
  404  
  405           pu blic stati c int REFE RRAL_SAVE( string CUR RENT_USER,  int CURRE NT_REGISTR Y_ID, REFE RRAL objSa ve)
  406           {
  407                return s ervices.RE FERRAL_SAV E(CURRENT_ USER, CURR ENT_REGIST RY_ID, obj Save);
  408           }
  409  
  410           pu blic stati c Boolean  REFERRAL_D ELETE(stri ng CURRENT _USER, int  CURRENT_R EGISTRY_ID , int id)
  411           {
  412                return s ervices.RE FERRAL_DEL ETE(CURREN T_USER, CU RRENT_REGI STRY_ID, i d);
  413           }
  414  
  415           pu blic stati c REFERRAL  REFERRAL_ GET_COMPLE TE(string  CURRENT_US ER, int CU RRENT_REGI STRY_ID, i nt REFERRA L_ID)
  416           {
  417                return s ervices.RE FERRAL_GET _COMPLETE( CURRENT_US ER, CURREN T_REGISTRY _ID, REFER RAL_ID);
  418           }
  419  
  420           pu blic stati c List<REF ERRAL> REF ERRAL_GET_ ALL_BY_REG ISTRY_STAT US(string  CURRENT_US ER, int CU RRENT_REGI STRY_ID, i nt STD_REF ERRALSTS_I D)
  421           {
  422                REFERRAL [] temp =  services.R EFERRAL_GE T_ALL_BY_R EGISTRY_ST ATUS(CURRE NT_USER, C URRENT_REG ISTRY_ID,  STD_REFERR ALSTS_ID);
  423                if (temp  != null)
  424                    retu rn temp.To List<REFER RAL>();
  425                return n ull;
  426           }
  427  
  428           pu blic stati c List<REF ERRALcommo n> REFERRA L_GET_COMM ON_BY_REGI STRY(strin g CURRENT_ USER, int  CURRENT_RE GISTRY_ID)
  429           {
  430                REFERRAL common[] t emp = serv ices.REFER RAL_GET_CO MMON_BY_RE GISTRY(CUR RENT_USER,  CURRENT_R EGISTRY_ID );
  431                if (temp  != null)
  432                    retu rn temp.To List<REFER RALcommon> ();
  433                return n ull;
  434           }
  435  
  436           // public sta tic int RE FERRAL_GET _COMMON_BY _REGISTRY_ COUNT(stri ng CURRENT _USER, int  CURRENT_R EGISTRY_ID , string S EARCH_COLU MN, string  SEARCH_TE XT)
  437           // {
  438           //     return  services. REFERRAL_G ET_COMMON_ BY_REGISTR Y_COUNT(CU RRENT_USER , CURRENT_ REGISTRY_I D, SEARCH_ COLUMN, SE ARCH_TEXT) ;
  439           // }
  440  
  441           pu blic int R EFERRAL_GE T_COMMON_B Y_REGISTRY _COUNT(str ing CURREN T_USER, in t CURRENT_ REGISTRY_I D, int PAT IENT_ID, s tring SEAR CH_COLUMN,  string SE ARCH_TEXT,  bool IsPa tientList)
  442           {
  443                return t his.referr alCommonCo unt;
  444           }
  445  
  446           pu blic List< REFERRALco mmon> REFE RRAL_GET_C OMMON_BY_R EGISTRY(st ring CURRE NT_USER, i nt CURRENT _REGISTRY_ ID, int PA TIENT_ID,  string SEA RCH_COLUMN , string S EARCH_TEXT , string S ORT_EXPRES SION, int  START_ROW,  int MAX_R OWS, bool  IsPatientL ist)
  447           {
  448                REFERRAL commonGrou p col = se rvices.REF ERRAL_GET_ COMMON_BY_ REGISTRY_F ILTER(CURR ENT_USER,  CURRENT_RE GISTRY_ID,  PATIENT_I D, SEARCH_ COLUMN, SE ARCH_TEXT,  SORT_EXPR ESSION, ST ART_ROW, M AX_ROWS, I sPatientLi st);
  449                if (col  != null)
  450                {
  451                    REFE RRALcommon [] temp =  col.Referr alCommon;
  452                    if ( temp != nu ll)
  453                    {
  454                         this.refer ralCommonC ount = col .CompleteC ount;
  455                         var list =  temp.ToLi st<REFERRA Lcommon>() ;
  456                         return lis t;
  457                    }
  458                }
  459                return n ull;
  460           }
  461  
  462           pu blic stati c List<REF ERRALcommo n> REFERRA L_GET_COMM ON_BY_PATI ENT(string  CURRENT_U SER, int C URRENT_REG ISTRY_ID,  int PATIEN T_ID)
  463           {
  464                REFERRAL common[] t emp = serv ices.REFER RAL_GET_CO MMON_BY_PA TIENT(CURR ENT_USER,  CURRENT_RE GISTRY_ID,  PATIENT_I D);
  465                if (temp  != null)
  466                    retu rn temp.To List<REFER RALcommon> ();
  467                return n ull;
  468           }
  469  
  470           pu blic stati c List<REF ERRALcommo n> REFERRA L_GET_COMM ON_BY_PATI ENT(string  CURRENT_U SER, int C URRENT_REG ISTRY_ID,  int PATIEN T_ID, stri ng SEARCH_ COLUMN, st ring SEARC H_TEXT, st ring SORT_ EXPRESSION )
  471           {
  472                List<REF ERRALcommo n> objRetu rn = REFER RAL_GET_CO MMON_BY_PA TIENT(CURR ENT_USER,  CURRENT_RE GISTRY_ID,  PATIENT_I D);
  473                if (objR eturn != n ull)
  474                {
  475                    if ( objReturn  != null &&  objReturn .Count !=  0)
  476                    {
  477                         if (!strin g.IsNullOr Empty(SEAR CH_COLUMN)  && !strin g.IsNullOr Empty(SEAR CH_TEXT))
  478                         {
  479                             if (SE ARCH_COLUM N.Contains ("."))
  480                             {
  481                                 st ring[] pro ps = SEARC H_COLUMN.S plit('.');
  482                                 if  (props !=  null && p rops.Count () == 2)
  483                                 {
  484                                      objRetur n = objRet urn.Where( s => s.Get Type().Get Property(p rops[0]).G etValue(s) .GetType() .GetProper ty(props[1 ]).GetValu e(s.GetTyp e().GetPro perty(prop s[0]).GetV alue(s)).T oString(). ToLower(). Contains(S EARCH_TEXT .ToLower() )).ToList( );
  485                                 }
  486                             }
  487                             else
  488                             {
  489                                 ob jReturn =  objReturn. Where(w =>  w.GetType ().GetProp erty(SEARC H_COLUMN). GetValue(w ) != null) .ToList();
  490                                 ob jReturn =  objReturn. Where(w =>  w.GetType ().GetProp erty(SEARC H_COLUMN). GetValue(w ).ToString ().ToLower ().Contain s(SEARCH_T EXT.ToLowe r())).ToLi st();
  491                             }
  492                         }
  493                         if (!strin g.IsNullOr Empty(SORT _EXPRESSIO N))
  494                         {
  495                             if (SO RT_EXPRESS ION.Length  >= 4 && S ORT_EXPRES SION.Subst ring(SORT_ EXPRESSION .Length -  4, 4).ToUp per() == " DESC")
  496                             {
  497                                 SO RT_EXPRESS ION = SORT _EXPRESSIO N.Substrin g(0, SORT_ EXPRESSION .Length -  5);
  498  
  499                                 if  (SORT_EXP RESSION.Co ntains("." ))
  500                                 {
  501                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  502                                      if (prop s != null  && props.C ount() ==  2)
  503                                      {
  504                                          objR eturn = ob jReturn.Or derByDesce nding(s =>  s.GetType ().GetProp erty(props [0]).GetVa lue(s).Get Type().Get Property(p rops[1]).G etValue(s. GetType(). GetPropert y(props[0] ).GetValue (s))).ToLi st();
  505                                      }
  506                                 }
  507                                 el se
  508                                      objRetur n = objRet urn.OrderB yDescendin g(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList();
  509                             }
  510                             else
  511                             {
  512                                 if  (SORT_EXP RESSION.Co ntains("." ))
  513                                 {
  514                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  515                                      if (prop s != null  && props.C ount() ==  2)
  516                                      {
  517                                          objR eturn = ob jReturn.Or derBy(s =>  s.GetType ().GetProp erty(props [0]).GetVa lue(s).Get Type().Get Property(p rops[1]).G etValue(s. GetType(). GetPropert y(props[0] ).GetValue (s))).ToLi st();
  518                                      }
  519                                 }
  520                                 el se
  521                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList();
  522                             }
  523                         }
  524                    }
  525                }
  526                return o bjReturn;
  527           }
  528  
  529           pu blic stati c List<REF ERRALcommo n> REFERRA L_GET_COMM ON_BY_PROV IDER(strin g CURRENT_ USER, int  CURRENT_RE GISTRY_ID,  int PROVI DER_ID)
  530           {
  531                REFERRAL common[] t emp = serv ices.REFER RAL_GET_CO MMON_BY_PR OVIDER(CUR RENT_USER,  CURRENT_R EGISTRY_ID , PROVIDER _ID);
  532                if (temp  != null)
  533                    retu rn temp.To List<REFER RALcommon> ();
  534                return n ull;
  535           }
  536  
  537           pu blic stati c List<REF ERRALcommo n> REFERRA L_GET_COMM ON_BY_PROV IDER(strin g CURRENT_ USER, int  CURRENT_RE GISTRY_ID,  int PROVI DER_ID, st ring SEARC H_COLUMN,  string SEA RCH_TEXT,  string SOR T_EXPRESSI ON)
  538           {
  539                List<REF ERRALcommo n> objRetu rn = REFER RAL_GET_CO MMON_BY_PR OVIDER(CUR RENT_USER,  CURRENT_R EGISTRY_ID , PROVIDER _ID);
  540                if (objR eturn != n ull)
  541                {
  542                    if ( objReturn  != null &&  objReturn .Count !=  0)
  543                    {
  544                         if (!strin g.IsNullOr Empty(SEAR CH_COLUMN)  && !strin g.IsNullOr Empty(SEAR CH_TEXT))
  545                         {
  546                             if (SE ARCH_COLUM N.Contains ("."))
  547                             {
  548                                 st ring[] pro ps = SEARC H_COLUMN.S plit('.');
  549                                 if  (props !=  null && p rops.Count () == 2)
  550                                 {
  551                                      objRetur n = objRet urn.Where( s => s.Get Type().Get Property(p rops[0]).G etValue(s) .GetType() .GetProper ty(props[1 ]).GetValu e(s.GetTyp e().GetPro perty(prop s[0]).GetV alue(s)).T oString(). ToLower(). Contains(S EARCH_TEXT .ToLower() )).ToList( );
  552                                 }
  553                             }
  554                             else
  555                             {
  556                                 ob jReturn =  objReturn. Where(w =>  w.GetType ().GetProp erty(SEARC H_COLUMN). GetValue(w ) != null) .ToList();
  557                                 ob jReturn =  objReturn. Where(w =>  w.GetType ().GetProp erty(SEARC H_COLUMN). GetValue(w ).ToString ().ToLower ().Contain s(SEARCH_T EXT.ToLowe r())).ToLi st();
  558                             }
  559                         }
  560                         if (!strin g.IsNullOr Empty(SORT _EXPRESSIO N))
  561                         {
  562                             if (SO RT_EXPRESS ION.Length  >= 4 && S ORT_EXPRES SION.Subst ring(SORT_ EXPRESSION .Length -  4, 4).ToUp per() == " DESC")
  563                             {
  564                                 SO RT_EXPRESS ION = SORT _EXPRESSIO N.Substrin g(0, SORT_ EXPRESSION .Length -  5);
  565  
  566                                 if  (SORT_EXP RESSION.Co ntains("." ))
  567                                 {
  568                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  569                                      if (prop s != null  && props.C ount() ==  2)
  570                                      {
  571                                          objR eturn = ob jReturn.Or derByDesce nding(s =>  s.GetType ().GetProp erty(props [0]).GetVa lue(s).Get Type().Get Property(p rops[1]).G etValue(s. GetType(). GetPropert y(props[0] ).GetValue (s))).ToLi st();
  572                                      }
  573                                 }
  574                                 el se
  575                                      objRetur n = objRet urn.OrderB yDescendin g(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList();
  576                             }
  577                             else
  578                             {
  579                                 if  (SORT_EXP RESSION.Co ntains("." ))
  580                                 {
  581                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  582                                      if (prop s != null  && props.C ount() ==  2)
  583                                      {
  584                                          objR eturn = ob jReturn.Or derBy(s =>  s.GetType ().GetProp erty(props [0]).GetVa lue(s).Get Type().Get Property(p rops[1]).G etValue(s. GetType(). GetPropert y(props[0] ).GetValue (s))).ToLi st();
  585                                      }
  586                                 }
  587                                 el se
  588                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList();
  589                             }
  590                         }
  591                    }
  592                }
  593  
  594                return o bjReturn;
  595           }
  596  
  597           pu blic stati c bool REF ERRAL_PATI ENT_EXISTS (string CU RRENT_USER , int CURR ENT_REGIST RY_ID, int  PATIENT_I D)
  598           {
  599                return s ervices.RE FERRAL_PAT IENT_EXIST S(CURRENT_ USER, CURR ENT_REGIST RY_ID, PAT IENT_ID);
  600           }
  601  
  602           pu blic stati c int REFE RRAL_SAVE_ MANUAL(str ing CURREN T_USER, in t CURRENT_ REGISTRY_I D, int PAT IENT_ID, i nt PROVIDE R_ID)
  603           {
  604                return s ervices.RE FERRAL_SAV E_MANUAL(C URRENT_USE R, CURRENT _REGISTRY_ ID, PATIEN T_ID, PROV IDER_ID);
  605           }
  606  
  607           pu blic stati c List<Sea rchResult>  RESULTS_G ET_ALL_BY_ NAME(strin g CURRENT_ USER, int  CURRENT_RE GISTRY_ID,  string LA ST_NAME, s tring FIRS T_NAME, st ring SEARC H_TYPE)
  608           {
  609                List<Sea rchResult>  objReturn  = null;
  610  
  611                if (SEAR CH_TYPE ==  "PATIENT" )
  612                {
  613                    PATI ENT[] temp  = service s.PATIENT_ GET_ALL_BY _NAME(CURR ENT_USER,  CURRENT_RE GISTRY_ID,  LAST_NAME , FIRST_NA ME);
  614                    if ( temp != nu ll)
  615                         objReturn  = temp.Sel ect(r => n ew SearchR esult()
  616                         {
  617                             BirthD ate = r.BI RTH_DATE.G etValueOrD efault(),
  618                             City =  r.SPATIEN T.City,
  619                             FirstN ame = r.FI RST_NAME,
  620                             LastFo ur = r.SPA TIENT.Pati entLastFou r,
  621                             LastNa me = r.LAS T_NAME,
  622                             Gender  = r.SPATI ENT.Gender ,
  623                             Postal Code = r.S PATIENT.Po stalCode,
  624                             Result Id = r.PAT IENT_ID,
  625                             State  = r.SPATIE NT.State
  626                         }).ToList< SearchResu lt>();
  627                }
  628                else if  (SEARCH_TY PE == "PRO VIDER")
  629                {
  630                    SSta ff_SStaff[ ] temp = s ervices.SS taff_SStaf f_GET_ALL_ BY_NAME(CU RRENT_USER , CURRENT_ REGISTRY_I D, LAST_NA ME, FIRST_ NAME);
  631                    if ( temp != nu ll)
  632                         objReturn  = temp.Sel ect(r => n ew SearchR esult()
  633                         {
  634                             BirthD ate = null ,
  635                             City =  r.City,
  636                             FirstN ame = r.Fi rstName,
  637                             LastFo ur = strin g.Empty,
  638                             LastNa me = r.Las tName,
  639                             Gender  = r.Gende r,
  640                             Postal Code = r.Z ipCode,
  641                             Result Id = r.Pro vider_ID,
  642                             State  = r.StateN ame
  643                         }).ToList< SearchResu lt>();
  644                }
  645  
  646                return o bjReturn;
  647           }
  648  
  649           pu blic stati c List<Sea rchResult>  RESULTS_G ET_ALL_BY_ NAME(strin g CURRENT_ USER, int  CURRENT_RE GISTRY_ID,  string LA ST_NAME, s tring FIRS T_NAME, st ring SEARC H_TYPE, st ring SORT_ EXPRESSION , string S EARCH_COLU MN, string  SEARCH_TE XT)
  650           {
  651                // List< SearchResu lt> objRet urn = null ;
  652                List<Sea rchResult>  objReturn  = null;
  653  
  654                if (SEAR CH_TYPE ==  "PATIENT" )
  655                {
  656                    PATI ENT[] temp  = service s.PATIENT_ GET_ALL_BY _NAME(CURR ENT_USER,  CURRENT_RE GISTRY_ID,  LAST_NAME , FIRST_NA ME);
  657                    if ( temp != nu ll)
  658                         objReturn  = temp.Sel ect(r => n ew SearchR esult()
  659                         {
  660                             BirthD ate = r.BI RTH_DATE.G etValueOrD efault(),
  661                             City =  r.SPATIEN T.City,
  662                             FirstN ame = r.FI RST_NAME,
  663                             LastFo ur = r.SPA TIENT.Pati entLastFou r,
  664                             LastNa me = r.LAS T_NAME,
  665                             Gender  = r.SPATI ENT.Gender ,
  666                             Postal Code = r.S PATIENT.Po stalCode,
  667                             Result Id = r.PAT IENT_ID,
  668                             State  = r.SPATIE NT.State
  669                         }).ToList< SearchResu lt>();
  670                }
  671                else if  (SEARCH_TY PE == "PRO VIDER")
  672                {
  673                    SSta ff_SStaff[ ] temp = s ervices.SS taff_SStaf f_GET_ALL_ BY_NAME(CU RRENT_USER , CURRENT_ REGISTRY_I D, LAST_NA ME, FIRST_ NAME);
  674                    if ( temp != nu ll)
  675                         objReturn  = temp.Sel ect(r => n ew SearchR esult()
  676                         {
  677                             BirthD ate = null ,
  678                             City =  r.City,
  679                             FirstN ame = r.Fi rstName,
  680                             LastFo ur = strin g.Empty,
  681                             LastNa me = r.Las tName,
  682                             Gender  = r.Gende r,
  683                             Postal Code = r.Z ipCode,
  684                             Result Id = r.Pro vider_ID,
  685                             State  = r.StateN ame
  686                         }).ToList< SearchResu lt>();
  687                }
  688  
  689                if (objR eturn != n ull)
  690                {
  691                    if ( objReturn  != null &&  objReturn .Count !=  0)
  692                    {
  693                         if (!strin g.IsNullOr Empty(SEAR CH_COLUMN)  && !strin g.IsNullOr Empty(SEAR CH_TEXT))
  694                         {
  695                             if (SE ARCH_COLUM N.Contains ("."))
  696                             {
  697                                 st ring[] pro ps = SEARC H_COLUMN.S plit('.');
  698                                 if  (props !=  null && p rops.Count () == 2)
  699                                 {
  700                                      objRetur n = objRet urn.Where( s => s.Get Type().Get Property(p rops[0]).G etValue(s) .GetType() .GetProper ty(props[1 ]).GetValu e(s.GetTyp e().GetPro perty(prop s[0]).GetV alue(s)).T oString(). ToLower(). Contains(S EARCH_TEXT .ToLower() )).ToList< SearchResu lt>();
  701                                 }
  702                             }
  703                             else
  704                             {
  705                                 ob jReturn =  objReturn. Where(w =>  w.GetType ().GetProp erty(SEARC H_COLUMN). GetValue(w ) != null) .ToList<Se archResult >();
  706                                 ob jReturn =  objReturn. Where(w =>  w.GetType ().GetProp erty(SEARC H_COLUMN). GetValue(w ).ToString ().ToLower ().Contain s(SEARCH_T EXT.ToLowe r())).ToLi st<SearchR esult>();
  707                             }
  708                         }
  709                         if (!strin g.IsNullOr Empty(SORT _EXPRESSIO N))
  710                         {
  711                             if (SO RT_EXPRESS ION.Length  >= 4 && S ORT_EXPRES SION.Subst ring(SORT_ EXPRESSION .Length -  4, 4).ToUp per() == " DESC")
  712                             {
  713                                 SO RT_EXPRESS ION = SORT _EXPRESSIO N.Substrin g(0, SORT_ EXPRESSION .Length -  5);
  714  
  715                                 if  (SORT_EXP RESSION.Co ntains("." ))
  716                                 {
  717                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  718                                      if (prop s != null  && props.C ount() ==  2)
  719                                      {
  720                                          objR eturn = ob jReturn.Or derByDesce nding(s =>  s.GetType ().GetProp erty(props [0]).GetVa lue(s).Get Type().Get Property(p rops[1]).G etValue(s. GetType(). GetPropert y(props[0] ).GetValue (s))).ToLi st<SearchR esult>();
  721                                      }
  722                                 }
  723                                 el se
  724                                      objRetur n = objRet urn.OrderB yDescendin g(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<Se archResult >();
  725                             }
  726                             else
  727                             {
  728                                 if  (SORT_EXP RESSION.Co ntains("." ))
  729                                 {
  730                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  731                                      if (prop s != null  && props.C ount() ==  2)
  732                                      {
  733                                          objR eturn = ob jReturn.Or derBy(s =>  s.GetType ().GetProp erty(props [0]).GetVa lue(s).Get Type().Get Property(p rops[1]).G etValue(s. GetType(). GetPropert y(props[0] ).GetValue (s))).ToLi st<SearchR esult>();
  734                                      }
  735                                 }
  736                                 el se
  737                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<Se archResult >();
  738                             }
  739                         }
  740                    }
  741                }
  742                return o bjReturn;
  743           }
  744  
  745           pu blic stati c bool REF ERRAL_UPDA TE_STATUS( string CUR RENT_USER,  int CURRE NT_REGISTR Y_ID, int  REFERRAL_I D, int STD _REFERRALS TS_ID)
  746           {
  747                return s ervices.RE FERRAL_UPD ATE_STATUS (CURRENT_U SER, CURRE NT_REGISTR Y_ID, REFE RRAL_ID, S TD_REFERRA LSTS_ID);
  748           }
  749  
  750           #e ndregion
  751  
  752           #r egion REFE RRAL_DETAI L
  753           #e ndregion
  754  
  755           #r egion REGI STRY_COHOR T_DATA
  756  
  757           pu blic stati c List<REG ISTRY_COHO RT_DATA> R EGISTRY_CO HORT_DATA_ GET_ALL_BY _REGISTRY( string CUR RENT_USER,  int CURRE NT_REGISTR Y_ID)
  758           {
  759                REGISTRY _COHORT_DA TA[] temp  = services .REGISTRY_ COHORT_DAT A_GET_ALL_ BY_REGISTR Y(CURRENT_ USER, CURR ENT_REGIST RY_ID);
  760                if (temp  != null)
  761                    retu rn temp.To List<REGIS TRY_COHORT _DATA>();
  762                return n ull;
  763           }
  764  
  765           pu blic stati c List<REG ISTRY_COHO RT_DATA> R EGISTRY_CO HORT_DATA_ GET_ALL_SE LECTED_BY_ REGISTRY(s tring CURR ENT_USER,  int CURREN T_REGISTRY _ID)
  766           {
  767                REGISTRY _COHORT_DA TA[] temp  = services .REGISTRY_ COHORT_DAT A_GET_ALL_ SELECTED_B Y_REGISTRY (CURRENT_U SER, CURRE NT_REGISTR Y_ID);
  768                if (temp  != null)
  769                    retu rn temp.To List<REGIS TRY_COHORT _DATA>();
  770                return n ull;
  771           }
  772  
  773           pu blic stati c int REGI STRY_COHOR T_DATA_GET _PREVIEW_C OUNT(strin g CURRENT_ USER, int  CURRENT_RE GISTRY_ID,  List<REGI STRY_COHOR T_DATA> co horts)
  774           {
  775                REGISTRY _COHORT_DA TA[] temp  = (cohorts  != null ?  cohorts.T oArray() :  null);
  776                return s ervices.RE GISTRY_COH ORT_DATA_G ET_PREVIEW _COUNT(CUR RENT_USER,  CURRENT_R EGISTRY_ID , temp);
  777           }
  778  
  779           pu blic stati c bool REG ISTRY_COHO RT_DATA_SA VE_LIST(st ring CURRE NT_USER, i nt CURRENT _REGISTRY_ ID, List<R EGISTRY_CO HORT_DATA>  cohorts)
  780           {
  781                REGISTRY _COHORT_DA TA[] temp  = (cohorts  != null ?  cohorts.T oArray() :  null);
  782                return s ervices.RE GISTRY_COH ORT_DATA_S AVE_LIST(C URRENT_USE R, CURRENT _REGISTRY_ ID, temp);
  783           }
  784  
  785           #e ndregion
  786  
  787           #r egion REGI STRY_CORE_ DATA
  788  
  789           pu blic stati c REGISTRY _CORE_DATA  REGISTRY_ CORE_DATA_ GET_BY_REG ISTRY_CORE (string CU RRENT_USER , int CURR ENT_REGIST RY_ID, int  CORE_TYPE _ID)
  790           {
  791                return s ervices.RE GISTRY_COR E_DATA_GET _BY_REGIST RY_CORE(CU RRENT_USER , CURRENT_ REGISTRY_I D, CORE_TY PE_ID);
  792           }
  793  
  794           pu blic stati c List<REG ISTRY_CORE _DATA> REG ISTRY_CORE _DATA_GET_ ALL_BY_REG ISTRY(stri ng CURRENT _USER, int  CURRENT_R EGISTRY_ID )
  795           {
  796                REGISTRY _CORE_DATA [] temp =  services.R EGISTRY_CO RE_DATA_GE T_ALL_BY_R EGISTRY(CU RRENT_USER , CURRENT_ REGISTRY_I D);
  797                if (temp  != null)
  798                    retu rn temp.To List<REGIS TRY_CORE_D ATA>();
  799                return n ull;
  800           }
  801  
  802           pu blic stati c bool REG ISTRY_CORE _DATA_SAVE _LIST(stri ng CURRENT _USER, int  CURRENT_R EGISTRY_ID , List<REG ISTRY_CORE _DATA> cor es)
  803           {
  804                REGISTRY _CORE_DATA [] temp =  (cores !=  null ? cor es.ToArray () : null) ;
  805                return s ervices.RE GISTRY_COR E_DATA_SAV E_LIST(CUR RENT_USER,  CURRENT_R EGISTRY_ID , temp);
  806           }
  807  
  808           #e ndregion
  809  
  810           #r egion ROLE _PERMISSIO NS
  811           #e ndregion
  812  
  813           #r egion SETT INGS
  814  
  815           pu blic stati c int SETT INGS_SAVE( string CUR RENT_USER,  int CURRE NT_REGISTR Y_ID, SETT INGS objSa ve)
  816           {
  817                return s ervices.SE TTINGS_SAV E(CURRENT_ USER, CURR ENT_REGIST RY_ID, obj Save);
  818           }
  819  
  820           pu blic stati c List<SET TINGS> SET TINGS_GET( )
  821           {
  822                SETTINGS [] temp =  services.S ETTINGS_GE T();
  823                if (temp  != null)
  824                    retu rn temp.To List();
  825                return n ull;
  826           }
  827  
  828           pu blic stati c SETTINGS  SETTINGS_ GET_REGIST RYNAME(str ing CURREN T_USER, in t CURRENT_ REGISTRY_I D, string  NAME)
  829           {
  830                return s ervices.SE TTINGS_GET _REGISTRYN AME(CURREN T_USER, CU RRENT_REGI STRY_ID, N AME);
  831           }
  832  
  833           pu blic stati c SETTINGS  GET_HOME_ PAGE_SETTI NG()
  834           {
  835                return s ervices.SE TTINGS_GET _HOME_PAGE ();
  836           }
  837  
  838           #e ndregion
  839  
  840           #r egion SPAT IENT
  841           #e ndregion
  842  
  843           #r egion SSta ff_SStaff
  844  
  845           pu blic stati c SStaff_S Staff SSta ff_SStaff_ GET(string  CURRENT_U SER, int C URRENT_REG ISTRY_ID,  int id)
  846           {
  847                return s ervices.SS taff_SStaf f_GET(CURR ENT_USER,  CURRENT_RE GISTRY_ID,  id);
  848           }
  849  
  850           pu blic stati c int SSta ff_SStaff_ GET_ALL_BY _REGISTRY_ COUNT(stri ng CURRENT _USER, int  CURRENT_R EGISTRY_ID , string S EARCH_COLU MN, string  SEARCH_TE XT)
  851           {
  852                //return  services. SStaff_SSt aff_GET_AL L_BY_REGIS TRY_COUNT( CURRENT_US ER, CURREN T_REGISTRY _ID, SEARC H_COLUMN,  SEARCH_TEX T);
  853                return s ervices.SS taff_SStaf f_GET_ALL_ BY_REGISTR Y_FILTER_C OUNT(CURRE NT_USER, C URRENT_REG ISTRY_ID,  SEARCH_COL UMN, SEARC H_TEXT, "" );
  854           }
  855  
  856           pu blic stati c List<SSt aff_SStaff > SStaff_S Staff_GET_ ALL_BY_REG ISTRY(stri ng CURRENT _USER, int  CURRENT_R EGISTRY_ID , string S EARCH_COLU MN, string  SEARCH_TE XT, string  SORT_EXPR ESSION, in t START_RO W, int MAX _ROWS)
  857           {
  858                //SStaff _SStaff[]  temp = ser vices.SSta ff_SStaff_ GET_ALL_BY _REGISTRY( CURRENT_US ER, CURREN T_REGISTRY _ID, SEARC H_COLUMN,  SEARCH_TEX T, SORT_EX PRESSION,  START_ROW,  MAX_ROWS) ;
  859                SStaff_S Staff[] te mp = servi ces.SStaff _SStaff_GE T_ALL_BY_R EGISTRY_FI LTER(CURRE NT_USER, C URRENT_REG ISTRY_ID,  SEARCH_COL UMN, SEARC H_TEXT, SO RT_EXPRESS ION, START _ROW, MAX_ ROWS);
  860                if (temp  != null)
  861                    retu rn temp.To List<SStaf f_SStaff>( );
  862                return n ull;
  863           }
  864  
  865           pu blic stati c List<SSt aff_SStaff > SStaff_S Staff_GET_ ALL_BY_NAM E(string C URRENT_USE R, int CUR RENT_REGIS TRY_ID, st ring LAST_ NAME, stri ng FIRST_N AME)
  866           {
  867                SStaff_S Staff[] te mp = servi ces.SStaff _SStaff_GE T_ALL_BY_N AME(CURREN T_USER, CU RRENT_REGI STRY_ID, L AST_NAME,  FIRST_NAME );
  868                if (temp  != null)
  869                    retu rn temp.To List<SStaf f_SStaff>( );
  870                return n ull;
  871           }
  872  
  873           #e ndregion
  874  
  875           #r egion STD_ COUNTRY
  876           #e ndregion
  877  
  878           #r egion STD_ GUI_CONTRO LS
  879           #e ndregion
  880  
  881           #r egion STD_ INDIVIDUAL _GROUP
  882           #e ndregion
  883  
  884           #r egion STD_ INDIVIDUAL _TYPE
  885           #e ndregion
  886  
  887           #r egion STD_ INSTITUTIO N
  888  
  889           pu blic stati c STD_INST ITUTION ST D_INSTITUT ION_GET_CO MPLETE(str ing CURREN T_USER, in t CURRENT_ REGISTRY_I D, int id)
  890           {
  891                return s ervices.ST D_INSTITUT ION_GET_CO MPLETE(CUR RENT_USER,  CURRENT_R EGISTRY_ID , id);
  892           }
  893  
  894           pu blic stati c List<STD _INSTITUTI ON> STD_IN STITUTION_ GET_FACS(s tring CURR ENT_USER,  int CURREN T_REGISTRY _ID)
  895           {
  896                STD_INST ITUTION[]  temp = ser vices.STD_ INSTITUTIO N_GET_FACS (CURRENT_U SER, CURRE NT_REGISTR Y_ID);
  897                if (temp  != null)
  898                    retu rn temp.To List<STD_I NSTITUTION >();
  899                return n ull;
  900           }
  901  
  902           #e ndregion
  903  
  904           #r egion STD_ MENU_ITEMS
  905  
  906           pu blic stati c STD_MENU _ITEMS STD _MENU_ITEM S_GET(stri ng CURRENT _USER, int  CURRENT_R EGISTRY_ID , int id)
  907           {
  908                return s ervices.ST D_MENU_ITE MS_GET(CUR RENT_USER,  CURRENT_R EGISTRY_ID , id);
  909           }
  910  
  911           pu blic stati c int STD_ MENU_ITEMS _SAVE(stri ng CURRENT _USER, int  CURRENT_R EGISTRY_ID , STD_MENU _ITEMS obj Save)
  912           {
  913                return s ervices.ST D_MENU_ITE MS_SAVE(CU RRENT_USER , CURRENT_ REGISTRY_I D, objSave );
  914           }
  915  
  916           pu blic stati c Boolean  STD_MENU_I TEMS_DELET E(string C URRENT_USE R, int CUR RENT_REGIS TRY_ID, in t id)
  917           {
  918                return s ervices.ST D_MENU_ITE MS_DELETE( CURRENT_US ER, CURREN T_REGISTRY _ID, id);
  919           }
  920  
  921           pu blic stati c List<STD _MENU_ITEM S> STD_MEN U_ITEMS_GE T_ALL_BY_R EGISTRY(st ring CURRE NT_USER, i nt CURRENT _REGISTRY_ ID)
  922           {
  923                STD_MENU _ITEMS[] t emp = serv ices.STD_M ENU_ITEMS_ GET_ALL_BY _REGISTRY( CURRENT_US ER, CURREN T_REGISTRY _ID);
  924                if (temp  != null)
  925                    retu rn temp.To List<STD_M ENU_ITEMS> ();
  926                return n ull;
  927           }
  928  
  929           pu blic stati c List<STD _MENU_ITEM S> STD_MEN U_ITEMS_GE T_ALL_BY_R EGISTRY(st ring CURRE NT_USER, i nt CURRENT _REGISTRY_ ID, int ST D_ROLE_ID)
  930           {
  931                List<STD _MENU_ITEM S> temp =  STD_MENU_I TEMS_GET_A LL_BY_REGI STRY(CURRE NT_USER, C URRENT_REG ISTRY_ID);
  932                if (temp  != null & & STD_ROLE _ID > 0)
  933                {
  934                    temp  = temp.Wh ere(w => w .STD_ROLE_ ID == STD_ ROLE_ID).T oList();
  935                }
  936  
  937                return t emp;
  938           }
  939  
  940           pu blic stati c List<STD _MENU_ITEM S> STD_MEN U_ITEMS_GE T_ALL_BY_R EGISTRY(st ring CURRE NT_USER, i nt CURRENT _REGISTRY_ ID, int ST D_ROLE_ID,  string SO RT_EXPRESS ION, strin g SEARCH_C OLUMN, str ing SEARCH _TEXT)
  941           {
  942                List<STD _MENU_ITEM S> objRetu rn = STD_M ENU_ITEMS_ GET_ALL_BY _REGISTRY( CURRENT_US ER, CURREN T_REGISTRY _ID, STD_R OLE_ID);
  943  
  944                if (objR eturn != n ull)
  945                {
  946                    if ( objReturn  != null &&  objReturn .Count !=  0)
  947                    {
  948                         if (!strin g.IsNullOr Empty(SEAR CH_COLUMN)  && !strin g.IsNullOr Empty(SEAR CH_TEXT))
  949                         {
  950                             if (SE ARCH_COLUM N.Contains ("."))
  951                             {
  952                                 st ring[] pro ps = SEARC H_COLUMN.S plit('.');
  953                                 if  (props !=  null && p rops.Count () == 2)
  954                                 {
  955                                      objRetur n = objRet urn.Where( s => s.Get Type().Get Property(p rops[0]).G etValue(s) .GetType() .GetProper ty(props[1 ]).GetValu e(s.GetTyp e().GetPro perty(prop s[0]).GetV alue(s)).T oString(). ToLower(). Contains(S EARCH_TEXT .ToLower() )).ToList< STD_MENU_I TEMS>();
  956                                 }
  957                             }
  958                             else
  959                             {
  960                                 ob jReturn =  objReturn. Where(w =>  w.GetType ().GetProp erty(SEARC H_COLUMN). GetValue(w ) != null) .ToList<ST D_MENU_ITE MS>();
  961                                 ob jReturn =  objReturn. Where(w =>  w.GetType ().GetProp erty(SEARC H_COLUMN). GetValue(w ).ToString ().ToLower ().Contain s(SEARCH_T EXT.ToLowe r())).ToLi st<STD_MEN U_ITEMS>() ;
  962                             }
  963                         }
  964                         if (!strin g.IsNullOr Empty(SORT _EXPRESSIO N))
  965                         {
  966                             if (SO RT_EXPRESS ION.Length  >= 4 && S ORT_EXPRES SION.Subst ring(SORT_ EXPRESSION .Length -  4, 4).ToUp per() == " DESC")
  967                             {
  968                                 SO RT_EXPRESS ION = SORT _EXPRESSIO N.Substrin g(0, SORT_ EXPRESSION .Length -  5);
  969  
  970                                 if  (SORT_EXP RESSION.Co ntains("." ))
  971                                 {
  972                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  973                                      if (prop s != null  && props.C ount() ==  2)
  974                                      {
  975                                          objR eturn = ob jReturn.Or derByDesce nding(s =>  s.GetType ().GetProp erty(props [0]).GetVa lue(s).Get Type().Get Property(p rops[1]).G etValue(s. GetType(). GetPropert y(props[0] ).GetValue (s))).ToLi st<STD_MEN U_ITEMS>() ;
  976                                      }
  977                                      else if  (props !=  null && pr ops.Count( ) == 3)
  978                                      {
  979                                      }
  980                                 }
  981                                 el se
  982                                 {
  983                                      objRetur n = objRet urn.OrderB yDescendin g(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<ST D_MENU_ITE MS>();
  984                                 }
  985                             }
  986                             else i f (SORT_EX PRESSION.L ength >= 3  && SORT_E XPRESSION. Substring( SORT_EXPRE SSION.Leng th - 3, 3) .ToUpper()  == "ASC")
  987                             {
  988                                 SO RT_EXPRESS ION = SORT _EXPRESSIO N.Substrin g(0, SORT_ EXPRESSION .Length -  4);
  989                                 if  (SORT_EXP RESSION.Co ntains("." ))
  990                                 {
  991                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  992                                      if (prop s != null  && props.C ount() ==  2)
  993                                      {
  994                                          objR eturn = ob jReturn.Or derBy(s =>  s.GetType ().GetProp erty(props [0]).GetVa lue(s).Get Type().Get Property(p rops[1]).G etValue(s. GetType(). GetPropert y(props[0] ).GetValue (s))).ToLi st<STD_MEN U_ITEMS>() ;
  995                                      }
  996                                      else if  (props !=  null && pr ops.Count( ) == 3)
  997                                      {
  998                                      }
  999                                 }
  1000                                 el se
  1001                                 {
  1002                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<ST D_MENU_ITE MS>();
  1003                                 }
  1004                             }
  1005                             else
  1006                             {
  1007                                 if  (SORT_EXP RESSION.Co ntains("." ))
  1008                                 {
  1009                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  1010                                      if (prop s != null  && props.C ount() ==  2)
  1011                                      {
  1012                                          objR eturn = ob jReturn.Or derBy(s =>  s.GetType ().GetProp erty(props [0]).GetVa lue(s).Get Type().Get Property(p rops[1]).G etValue(s. GetType(). GetPropert y(props[0] ).GetValue (s))).ToLi st<STD_MEN U_ITEMS>() ;
  1013                                      }
  1014                                      else if  (props !=  null && pr ops.Count( ) == 3)
  1015                                      {
  1016                                      }
  1017                                 }
  1018                                 el se
  1019                                 {
  1020                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<ST D_MENU_ITE MS>();
  1021                                 }
  1022                             }
  1023                         }
  1024                    }
  1025                }
  1026  
  1027                return o bjReturn;
  1028           }
  1029  
  1030           pu blic stati c List<STD _WEB_PAGES > STD_WEB_ PAGES_GET_ ALL(string  CURRENT_U SER, int C URRENT_REG ISTRY_ID,  string SOR T_EXPRESSI ON, string  SEARCH_CO LUMN, stri ng SEARCH_ TEXT)
  1031           {
  1032                List<STD _WEB_PAGES > objRetur n = STD_WE B_PAGES_GE T_ALL(CURR ENT_USER,  CURRENT_RE GISTRY_ID) ;
  1033  
  1034                if (objR eturn != n ull)
  1035                {
  1036                    if ( objReturn  != null &&  objReturn .Count !=  0)
  1037                    {
  1038                         if (!strin g.IsNullOr Empty(SEAR CH_COLUMN)  && !strin g.IsNullOr Empty(SEAR CH_TEXT))
  1039                         {
  1040                             if (SE ARCH_COLUM N.Contains ("."))
  1041                             {
  1042                                 st ring[] pro ps = SEARC H_COLUMN.S plit('.');
  1043                                 if  (props !=  null && p rops.Count () == 2)
  1044                                 {
  1045                                      objRetur n = objRet urn.Where( s => s.Get Type().Get Property(p rops[0]).G etValue(s) .GetType() .GetProper ty(props[1 ]).GetValu e(s.GetTyp e().GetPro perty(prop s[0]).GetV alue(s)).T oString(). ToLower(). Contains(S EARCH_TEXT .ToLower() )).ToList< STD_WEB_PA GES>();
  1046                                 }
  1047                                 el se
  1048                                 {
  1049                                      objRetur n = objRet urn.Where( w => w.Get Type().Get Property(S EARCH_COLU MN).GetVal ue(w) != n ull).ToLis t<STD_WEB_ PAGES>();
  1050                                      objRetur n = objRet urn.Where( w => w.Get Type().Get Property(S EARCH_COLU MN).GetVal ue(w).ToSt ring().ToL ower().Con tains(SEAR CH_TEXT.To Lower())). ToList<STD _WEB_PAGES >();
  1051                                 }
  1052                             }
  1053                             else
  1054                             {
  1055                                 ob jReturn =  objReturn. Where(w =>  w.GetType ().GetProp erty(SEARC H_COLUMN). GetValue(w ) != null) .ToList<ST D_WEB_PAGE S>();
  1056                                 ob jReturn =  objReturn. Where(w =>  w.GetType ().GetProp erty(SEARC H_COLUMN). GetValue(w ).ToString ().ToLower ().Contain s(SEARCH_T EXT.ToLowe r())).ToLi st<STD_WEB _PAGES>();
  1057                             }
  1058                         }
  1059                         if (!strin g.IsNullOr Empty(SORT _EXPRESSIO N))
  1060                         {
  1061                             if (SO RT_EXPRESS ION.Length  > 3)
  1062                             {
  1063                                 if  (SORT_EXP RESSION.Le ngth >= 4  && SORT_EX PRESSION.S ubstring(S ORT_EXPRES SION.Lengt h - 4, 4). ToUpper()  == "DESC")
  1064                                 {
  1065                                      SORT_EXP RESSION =  SORT_EXPRE SSION.Subs tring(0, S ORT_EXPRES SION.Lengt h - 5);
  1066  
  1067                                      if (SORT _EXPRESSIO N.Contains ("."))
  1068                                      {
  1069                                          stri ng[] props  = SORT_EX PRESSION.S plit('.');
  1070                                          if ( props != n ull && pro ps.Count()  == 2)
  1071                                          {
  1072                                               objReturn  = objRetur n.OrderByD escending( s => s.Get Type().Get Property(p rops[0]).G etValue(s) .GetType() .GetProper ty(props[1 ]).GetValu e(s.GetTyp e().GetPro perty(prop s[0]).GetV alue(s))). ToList<STD _WEB_PAGES >();
  1073                                          }
  1074                                      }
  1075                                      else
  1076                                          objR eturn = ob jReturn.Or derByDesce nding(s =>  s.GetType ().GetProp erty(SORT_ EXPRESSION ).GetValue (s)).ToLis t<STD_WEB_ PAGES>();
  1077                                 }
  1078                                 el se
  1079                                 {
  1080                                      if (SORT _EXPRESSIO N.Contains ("."))
  1081                                      {
  1082                                          stri ng[] props  = SORT_EX PRESSION.S plit('.');
  1083                                          if ( props != n ull && pro ps.Count()  == 2)
  1084                                          {
  1085                                               objReturn  = objRetur n.OrderBy( s => s.Get Type().Get Property(p rops[0]).G etValue(s) .GetType() .GetProper ty(props[1 ]).GetValu e(s.GetTyp e().GetPro perty(prop s[0]).GetV alue(s))). ToList<STD _WEB_PAGES >();
  1086                                          }
  1087                                      }
  1088                                      else
  1089                                      {
  1090                                          objR eturn = ob jReturn.Or derBy(s =>  s.GetType ().GetProp erty(SORT_ EXPRESSION ).GetValue (s)).ToLis t<STD_WEB_ PAGES>();
  1091                                      }
  1092                                 }
  1093                             }
  1094                             else
  1095                             {
  1096                                 if  (SORT_EXP RESSION.Co ntains("." ))
  1097                                 {
  1098                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  1099                                      if (prop s != null  && props.C ount() ==  2)
  1100                                      {
  1101                                          objR eturn = ob jReturn.Or derBy(s =>  s.GetType ().GetProp erty(props [0]).GetVa lue(s).Get Type().Get Property(p rops[1]).G etValue(s. GetType(). GetPropert y(props[0] ).GetValue (s))).ToLi st<STD_WEB _PAGES>();
  1102                                      }
  1103                                 }
  1104                                 el se
  1105                                 {
  1106                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<ST D_WEB_PAGE S>();
  1107                                 }
  1108                             }
  1109                         }
  1110                    }
  1111                }
  1112                return o bjReturn;
  1113           }
  1114  
  1115           pu blic stati c CrsMenu  STD_MENU_I TEMS_GET_M ENU(string  CURRENT_U SER, int C URRENT_REG ISTRY_ID,  string PAT H)
  1116           {
  1117                CrsMenu  crsMenu =  null;
  1118  
  1119                STD_MENU _ITEMS[] t emp = serv ices.STD_M ENU_ITEMS_ GET_MENU(C URRENT_USE R, CURRENT _REGISTRY_ ID, PATH);
  1120                if (temp  != null)
  1121                {
  1122                    List <CrsMenuIt em> menuIt ems = new  List<CrsMe nuItem>();
  1123  
  1124                    fore ach (STD_M ENU_ITEMS  item in te mp)
  1125                    {
  1126                         if (item.M ENU_PAGE ! = null)
  1127                             menuIt ems.Add(ne w CrsMenuI tem(item.M ENU_PAGE.D ISPLAY_TEX T, item.ME NU_PAGE.UR L));
  1128                    }
  1129  
  1130                    crsM enu = new  CrsMenu(me nuItems);
  1131                }
  1132  
  1133                return c rsMenu;
  1134           }
  1135  
  1136           #e ndregion
  1137  
  1138           #r egion STD_ QUESTION
  1139  
  1140           pu blic stati c STD_QUES TION STD_Q UESTION_GE T(string C URRENT_USE R, int CUR RENT_REGIS TRY_ID, in t id)
  1141           {
  1142                return s ervices.ST D_QUESTION _GET(CURRE NT_USER, C URRENT_REG ISTRY_ID,  id);
  1143           }
  1144  
  1145           pu blic stati c int STD_ QUESTION_S AVE(string  CURRENT_U SER, int C URRENT_REG ISTRY_ID,  STD_QUESTI ON objSave )
  1146           {
  1147                return s ervices.ST D_QUESTION _SAVE(CURR ENT_USER,  CURRENT_RE GISTRY_ID,  objSave);
  1148           }
  1149  
  1150           pu blic stati c Boolean  STD_QUESTI ON_DELETE( string CUR RENT_USER,  int CURRE NT_REGISTR Y_ID, int  id)
  1151           {
  1152                return s ervices.ST D_QUESTION _DELETE(CU RRENT_USER , CURRENT_ REGISTRY_I D, id);
  1153           }
  1154  
  1155           pu blic stati c List<STD _QUESTION>  STD_QUEST ION_GET_AL L_BY_SURVE Y(string C URRENT_USE R, int CUR RENT_REGIS TRY_ID, in t STD_SURV EY_TYPE_ID )
  1156           {
  1157                STD_QUES TION[] tem p = servic es.STD_QUE STION_GET_ ALL_BY_SUR VEY(CURREN T_USER, CU RRENT_REGI STRY_ID, S TD_SURVEY_ TYPE_ID);
  1158                if (temp  != null)
  1159                    retu rn temp.To List<STD_Q UESTION>() ;
  1160                return n ull;
  1161           }
  1162  
  1163           pu blic stati c List<STD _QUESTION>  STD_QUEST ION_GET_AL L_BY_SURVE Y(string C URRENT_USE R, int CUR RENT_REGIS TRY_ID, in t STD_SURV EY_TYPE_ID , string S EARCH_COLU MN, string  SEARCH_TE XT, string  SORT_EXPR ESSION)
  1164           {
  1165                List<STD _QUESTION>  objReturn  = STD_QUE STION_GET_ ALL_BY_SUR VEY(CURREN T_USER, CU RRENT_REGI STRY_ID, S TD_SURVEY_ TYPE_ID);
  1166                if (objR eturn != n ull)
  1167                {
  1168                    if ( objReturn  != null &&  objReturn .Count !=  0)
  1169                    {
  1170                         if (!strin g.IsNullOr Empty(SEAR CH_COLUMN)  && !strin g.IsNullOr Empty(SEAR CH_TEXT))
  1171                         {
  1172                             if (SE ARCH_COLUM N.Contains ("."))
  1173                             {
  1174                                 st ring[] pro ps = SEARC H_COLUMN.S plit('.');
  1175                                 if  (props !=  null && p rops.Count () == 2)
  1176                                 {
  1177                                      objRetur n = objRet urn.Where( s => s.Get Type().Get Property(p rops[0]).G etValue(s) .GetType() .GetProper ty(props[1 ]).GetValu e(s.GetTyp e().GetPro perty(prop s[0]).GetV alue(s)).T oString(). ToLower(). Contains(S EARCH_TEXT .ToLower() )).ToList< STD_QUESTI ON>();
  1178                                 }
  1179                             }
  1180                             else
  1181                             {
  1182                                 ob jReturn =  objReturn. Where(w =>  w.GetType ().GetProp erty(SEARC H_COLUMN). GetValue(w ) != null) .ToList<ST D_QUESTION >();
  1183                                 ob jReturn =  objReturn. Where(w =>  w.GetType ().GetProp erty(SEARC H_COLUMN). GetValue(w ).ToString ().ToLower ().Contain s(SEARCH_T EXT.ToLowe r())).ToLi st<STD_QUE STION>();
  1184                             }
  1185                         }
  1186                         if (!strin g.IsNullOr Empty(SORT _EXPRESSIO N))
  1187                         {
  1188                             if (SO RT_EXPRESS ION.Length  >= 4 && S ORT_EXPRES SION.Subst ring(SORT_ EXPRESSION .Length -  4, 4).ToUp per() == " DESC")
  1189                             {
  1190                                 SO RT_EXPRESS ION = SORT _EXPRESSIO N.Substrin g(0, SORT_ EXPRESSION .Length -  5);
  1191  
  1192                                 if  (SORT_EXP RESSION.Co ntains("." ))
  1193                                 {
  1194                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  1195                                      if (prop s != null  && props.C ount() ==  2)
  1196                                      {
  1197                                          objR eturn = ob jReturn.Or derByDesce nding(s =>  s.GetType ().GetProp erty(props [0]).GetVa lue(s).Get Type().Get Property(p rops[1]).G etValue(s. GetType(). GetPropert y(props[0] ).GetValue (s))).ToLi st<STD_QUE STION>();
  1198                                      }
  1199                                      else if  (props !=  null && pr ops.Count( ) == 3)
  1200                                      {
  1201                                      }
  1202                                 }
  1203                                 el se
  1204                                 {
  1205                                      objRetur n = objRet urn.OrderB yDescendin g(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<ST D_QUESTION >();
  1206                                 }
  1207                             }
  1208                             else i f (SORT_EX PRESSION.L ength >= 3  && SORT_E XPRESSION. Substring( SORT_EXPRE SSION.Leng th - 3, 3) .ToUpper()  == "ASC")
  1209                             {
  1210                                 SO RT_EXPRESS ION = SORT _EXPRESSIO N.Substrin g(0, SORT_ EXPRESSION .Length -  4);
  1211                                 if  (SORT_EXP RESSION.Co ntains("." ))
  1212                                 {
  1213                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  1214                                      if (prop s != null  && props.C ount() ==  2)
  1215                                      {
  1216                                          objR eturn = ob jReturn.Or derBy(s =>  s.GetType ().GetProp erty(props [0]).GetVa lue(s).Get Type().Get Property(p rops[1]).G etValue(s. GetType(). GetPropert y(props[0] ).GetValue (s))).ToLi st<STD_QUE STION>();
  1217                                      }
  1218                                      else if  (props !=  null && pr ops.Count( ) == 3)
  1219                                      {
  1220                                      }
  1221                                 }
  1222                                 el se
  1223                                 {
  1224                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<ST D_QUESTION >();
  1225                                 }
  1226                             }
  1227                             else
  1228                             {
  1229                                 if  (SORT_EXP RESSION.Co ntains("." ))
  1230                                 {
  1231                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  1232                                      if (prop s != null  && props.C ount() ==  2)
  1233                                      {
  1234                                          objR eturn = ob jReturn.Or derBy(s =>  s.GetType ().GetProp erty(props [0]).GetVa lue(s).Get Type().Get Property(p rops[1]).G etValue(s. GetType(). GetPropert y(props[0] ).GetValue (s))).ToLi st<STD_QUE STION>();
  1235                                      }
  1236                                      else if  (props !=  null && pr ops.Count( ) == 3)
  1237                                      {
  1238                                      }
  1239                                 }
  1240                                 el se
  1241                                 {
  1242                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<ST D_QUESTION >();
  1243                                 }
  1244                             }
  1245                         }
  1246                    }
  1247                }
  1248  
  1249                return o bjReturn;
  1250           }
  1251  
  1252           pu blic stati c bool STD _QUESTION_ COPY_CHOIC ES(string  CURRENT_US ER, int CU RRENT_REGI STRY_ID, i nt OLD_QUE STION_ID,  int NEW_QU ESTION_ID)
  1253           {
  1254                return s ervices.ST D_QUESTION _COPY_CHOI CES(CURREN T_USER, CU RRENT_REGI STRY_ID, O LD_QUESTIO N_ID, NEW_ QUESTION_I D);
  1255           }
  1256  
  1257           #e ndregion
  1258  
  1259           #r egion STD_ QUESTION_C HOICE
  1260  
  1261           pu blic stati c STD_QUES TION_CHOIC E STD_QUES TION_CHOIC E_GET(stri ng CURRENT _USER, int  CURRENT_R EGISTRY_ID , int id)
  1262           {
  1263                return s ervices.ST D_QUESTION _CHOICE_GE T(CURRENT_ USER, CURR ENT_REGIST RY_ID, id) ;
  1264           }
  1265  
  1266           pu blic stati c int STD_ QUESTION_C HOICE_SAVE (string CU RRENT_USER , int CURR ENT_REGIST RY_ID, STD _QUESTION_ CHOICE obj Save)
  1267           {
  1268                return s ervices.ST D_QUESTION _CHOICE_SA VE(CURRENT _USER, CUR RENT_REGIS TRY_ID, ob jSave);
  1269           }
  1270  
  1271           pu blic stati c Boolean  STD_QUESTI ON_CHOICE_ DELETE(str ing CURREN T_USER, in t CURRENT_ REGISTRY_I D, int id)
  1272           {
  1273                return s ervices.ST D_QUESTION _CHOICE_DE LETE(CURRE NT_USER, C URRENT_REG ISTRY_ID,  id);
  1274           }
  1275  
  1276           pu blic stati c List<STD _QUESTION_ CHOICE> ST D_QUESTION _CHOICE_GE T_ALL_BY_Q UESTION(st ring CURRE NT_USER, i nt CURRENT _REGISTRY_ ID, int ST D_QUESTION _ID)
  1277           {
  1278                STD_QUES TION_CHOIC E[] temp =  services. STD_QUESTI ON_CHOICE_ GET_ALL_BY _QUESTION( CURRENT_US ER, CURREN T_REGISTRY _ID, STD_Q UESTION_ID );
  1279                if (temp  != null)
  1280                    retu rn temp.To List<STD_Q UESTION_CH OICE>();
  1281                return n ull;
  1282           }
  1283  
  1284           pu blic stati c List<STD _QUESTION_ CHOICE> ST D_QUESTION _CHOICE_GE T_ALL_BY_Q UESTION(st ring CURRE NT_USER, i nt CURRENT _REGISTRY_ ID, int ST D_QUESTION _ID, strin g SORT_EXP RESSION, s tring SEAR CH_COLUMN,  string SE ARCH_TEXT)
  1285           {
  1286                List<STD _QUESTION_ CHOICE> ob jReturn =  STD_QUESTI ON_CHOICE_ GET_ALL_BY _QUESTION( CURRENT_US ER, CURREN T_REGISTRY _ID, STD_Q UESTION_ID );
  1287  
  1288                if (objR eturn != n ull)
  1289                {
  1290                    if ( objReturn  != null &&  objReturn .Count !=  0)
  1291                    {
  1292                         if (!strin g.IsNullOr Empty(SEAR CH_COLUMN)  && !strin g.IsNullOr Empty(SEAR CH_TEXT))
  1293                         {
  1294                             if (SE ARCH_COLUM N.Contains ("."))
  1295                             {
  1296                                 st ring[] pro ps = SEARC H_COLUMN.S plit('.');
  1297                                 if  (props !=  null && p rops.Count () == 2)
  1298                                 {
  1299                                      objRetur n = objRet urn.Where( s => s.Get Type().Get Property(p rops[0]).G etValue(s) .GetType() .GetProper ty(props[1 ]).GetValu e(s.GetTyp e().GetPro perty(prop s[0]).GetV alue(s)).T oString(). ToLower(). Contains(S EARCH_TEXT .ToLower() )).ToList< STD_QUESTI ON_CHOICE> ();
  1300                                 }
  1301                             }
  1302                             else
  1303                             {
  1304                                 ob jReturn =  objReturn. Where(w =>  w.GetType ().GetProp erty(SEARC H_COLUMN). GetValue(w ) != null) .ToList<ST D_QUESTION _CHOICE>() ;
  1305                                 ob jReturn =  objReturn. Where(w =>  w.GetType ().GetProp erty(SEARC H_COLUMN). GetValue(w ).ToString ().ToLower ().Contain s(SEARCH_T EXT.ToLowe r())).ToLi st<STD_QUE STION_CHOI CE>();
  1306                             }
  1307                         }
  1308                         if (!strin g.IsNullOr Empty(SORT _EXPRESSIO N))
  1309                         {
  1310                             if (SO RT_EXPRESS ION.Length  >= 4 && S ORT_EXPRES SION.Subst ring(SORT_ EXPRESSION .Length -  4, 4).ToUp per() == " DESC")
  1311                             {
  1312                                 SO RT_EXPRESS ION = SORT _EXPRESSIO N.Substrin g(0, SORT_ EXPRESSION .Length -  5);
  1313  
  1314                                 if  (SORT_EXP RESSION.Co ntains("." ))
  1315                                 {
  1316                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  1317                                      if (prop s != null  && props.C ount() ==  2)
  1318                                      {
  1319                                          objR eturn = ob jReturn.Or derByDesce nding(s =>  s.GetType ().GetProp erty(props [0]).GetVa lue(s).Get Type().Get Property(p rops[1]).G etValue(s. GetType(). GetPropert y(props[0] ).GetValue (s))).ToLi st<STD_QUE STION_CHOI CE>();
  1320                                      }
  1321                                      else if  (props !=  null && pr ops.Count( ) == 3)
  1322                                      {
  1323                                      }
  1324                                 }
  1325                                 el se
  1326                                 {
  1327                                      objRetur n = objRet urn.OrderB yDescendin g(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<ST D_QUESTION _CHOICE>() ;
  1328                                 }
  1329                             }
  1330                             else i f (SORT_EX PRESSION.L ength >= 3  && SORT_E XPRESSION. Substring( SORT_EXPRE SSION.Leng th - 3, 3) .ToUpper()  == "ASC")
  1331                             {
  1332                                 SO RT_EXPRESS ION = SORT _EXPRESSIO N.Substrin g(0, SORT_ EXPRESSION .Length -  4);
  1333                                 if  (SORT_EXP RESSION.Co ntains("." ))
  1334                                 {
  1335                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  1336                                      if (prop s != null  && props.C ount() ==  2)
  1337                                      {
  1338                                          objR eturn = ob jReturn.Or derBy(s =>  s.GetType ().GetProp erty(props [0]).GetVa lue(s).Get Type().Get Property(p rops[1]).G etValue(s. GetType(). GetPropert y(props[0] ).GetValue (s))).ToLi st<STD_QUE STION_CHOI CE>();
  1339                                      }
  1340                                      else if  (props !=  null && pr ops.Count( ) == 3)
  1341                                      {
  1342                                      }
  1343                                 }
  1344                                 el se
  1345                                 {
  1346                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<ST D_QUESTION _CHOICE>() ;
  1347                                 }
  1348                             }
  1349                             else
  1350                             {
  1351                                 if  (SORT_EXP RESSION.Co ntains("." ))
  1352                                 {
  1353                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  1354                                      if (prop s != null  && props.C ount() ==  2)
  1355                                      {
  1356                                          objR eturn = ob jReturn.Or derBy(s =>  s.GetType ().GetProp erty(props [0]).GetVa lue(s).Get Type().Get Property(p rops[1]).G etValue(s. GetType(). GetPropert y(props[0] ).GetValue (s))).ToLi st<STD_QUE STION_CHOI CE>();
  1357                                      }
  1358                                      else if  (props !=  null && pr ops.Count( ) == 3)
  1359                                      {
  1360                                      }
  1361                                 }
  1362                                 el se
  1363                                 {
  1364                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<ST D_QUESTION _CHOICE>() ;
  1365                                 }
  1366                             }
  1367                         }
  1368                    }
  1369                }
  1370  
  1371                return o bjReturn;
  1372           }
  1373  
  1374           #e ndregion
  1375  
  1376           #r egion STD_ REFERRALST S
  1377  
  1378           pu blic stati c STD_REFE RRALSTS ST D_REFERRAL STS_GET_BY _CODE(stri ng CURRENT _USER, int  CURRENT_R EGISTRY_ID , string C ODE)
  1379           {
  1380                return s ervices.ST D_REFERRAL STS_GET_BY _CODE(CURR ENT_USER,  CURRENT_RE GISTRY_ID,  CODE);
  1381           }
  1382  
  1383           #e ndregion
  1384  
  1385           #r egion STD_ REG_UDFs
  1386  
  1387           pu blic stati c STD_REG_ UDFs STD_R EG_UDFs_GE T(string C URRENT_USE R, int CUR RENT_REGIS TRY_ID, in t id)
  1388           {
  1389                return s ervices.ST D_REG_UDFs _GET(CURRE NT_USER, C URRENT_REG ISTRY_ID,  id);
  1390           }
  1391  
  1392           pu blic stati c int STD_ REG_UDFs_S AVE(string  CURRENT_U SER, int C URRENT_REG ISTRY_ID,  STD_REG_UD Fs objSave )
  1393           {
  1394                return s ervices.ST D_REG_UDFs _SAVE(CURR ENT_USER,  CURRENT_RE GISTRY_ID,  objSave);
  1395           }
  1396  
  1397           pu blic stati c Boolean  STD_REG_UD Fs_DELETE( string CUR RENT_USER,  int CURRE NT_REGISTR Y_ID, int  id)
  1398           {
  1399                return s ervices.ST D_REG_UDFs _DELETE(CU RRENT_USER , CURRENT_ REGISTRY_I D, id);
  1400           }
  1401  
  1402           pu blic stati c List<STD _REG_UDFs>  STD_REG_U DFs_GET_AL L_BY_REGIS TRY(string  CURRENT_U SER, int C URRENT_REG ISTRY_ID)
  1403           {
  1404                STD_REG_ UDFs[] tem p = servic es.STD_REG _UDFs_GET_ ALL_BY_REG ISTRY(CURR ENT_USER,  CURRENT_RE GISTRY_ID) ;
  1405                if (temp  != null)
  1406                    retu rn temp.To List<STD_R EG_UDFs>() ;
  1407                return n ull;
  1408           }
  1409  
  1410           pu blic stati c List<STD _REG_UDFs>  STD_REG_U DFs_GET_AL L_BY_REGIS TRY(string  CURRENT_U SER, int C URRENT_REG ISTRY_ID,  string SEA RCH_COLUMN , string S EARCH_TEXT , string S ORT_EXPRES SION)
  1411           {
  1412                List<STD _REG_UDFs>  objReturn  = STD_REG _UDFs_GET_ ALL_BY_REG ISTRY(CURR ENT_USER,  CURRENT_RE GISTRY_ID) ;
  1413                if (objR eturn != n ull)
  1414                {
  1415                    if ( objReturn  != null &&  objReturn .Count !=  0)
  1416                    {
  1417                         if (!strin g.IsNullOr Empty(SEAR CH_COLUMN)  && !strin g.IsNullOr Empty(SEAR CH_TEXT))
  1418                         {
  1419                             if (SE ARCH_COLUM N.Contains ("."))
  1420                             {
  1421                                 st ring[] pro ps = SEARC H_COLUMN.S plit('.');
  1422                                 if  (props !=  null && p rops.Count () == 2)
  1423                                 {
  1424                                      objRetur n = objRet urn.Where( s => s.Get Type().Get Property(p rops[0]).G etValue(s) .GetType() .GetProper ty(props[1 ]).GetValu e(s.GetTyp e().GetPro perty(prop s[0]).GetV alue(s)).T oString(). ToLower(). Contains(S EARCH_TEXT .ToLower() )).ToList< STD_REG_UD Fs>();
  1425                                 }
  1426                             }
  1427                             else
  1428                             {
  1429                                 ob jReturn =  objReturn. Where(w =>  w.GetType ().GetProp erty(SEARC H_COLUMN). GetValue(w ) != null) .ToList<ST D_REG_UDFs >();
  1430                                 ob jReturn =  objReturn. Where(w =>  w.GetType ().GetProp erty(SEARC H_COLUMN). GetValue(w ).ToString ().ToLower ().Contain s(SEARCH_T EXT.ToLowe r())).ToLi st<STD_REG _UDFs>();
  1431                             }
  1432                         }
  1433                         if (!strin g.IsNullOr Empty(SORT _EXPRESSIO N))
  1434                         {
  1435                             if (SO RT_EXPRESS ION.Length  >= 4 && S ORT_EXPRES SION.Subst ring(SORT_ EXPRESSION .Length -  4, 4).ToUp per() == " DESC")
  1436                             {
  1437                                 SO RT_EXPRESS ION = SORT _EXPRESSIO N.Substrin g(0, SORT_ EXPRESSION .Length -  5);
  1438  
  1439                                 if  (SORT_EXP RESSION.Co ntains("." ))
  1440                                 {
  1441                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  1442                                      if (prop s != null  && props.C ount() ==  2)
  1443                                      {
  1444                                          objR eturn = ob jReturn.Or derByDesce nding(s =>  s.GetType ().GetProp erty(props [0]).GetVa lue(s).Get Type().Get Property(p rops[1]).G etValue(s. GetType(). GetPropert y(props[0] ).GetValue (s))).ToLi st<STD_REG _UDFs>();
  1445                                      }
  1446                                      else if  (props !=  null && pr ops.Count( ) == 3)
  1447                                      {
  1448                                      }
  1449                                 }
  1450                                 el se
  1451                                 {
  1452                                      objRetur n = objRet urn.OrderB yDescendin g(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<ST D_REG_UDFs >();
  1453                                 }
  1454                             }
  1455                             else i f (SORT_EX PRESSION.L ength >= 3  && SORT_E XPRESSION. Substring( SORT_EXPRE SSION.Leng th - 3, 3) .ToUpper()  == "ASC")
  1456                             {
  1457                                 SO RT_EXPRESS ION = SORT _EXPRESSIO N.Substrin g(0, SORT_ EXPRESSION .Length -  4);
  1458                                 if  (SORT_EXP RESSION.Co ntains("." ))
  1459                                 {
  1460                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  1461                                      if (prop s != null  && props.C ount() ==  2)
  1462                                      {
  1463                                          objR eturn = ob jReturn.Or derBy(s =>  s.GetType ().GetProp erty(props [0]).GetVa lue(s).Get Type().Get Property(p rops[1]).G etValue(s. GetType(). GetPropert y(props[0] ).GetValue (s))).ToLi st<STD_REG _UDFs>();
  1464                                      }
  1465                                      else if  (props !=  null && pr ops.Count( ) == 3)
  1466                                      {
  1467                                      }
  1468                                 }
  1469                                 el se
  1470                                 {
  1471                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<ST D_REG_UDFs >();
  1472                                 }
  1473                             }
  1474                             else
  1475                             {
  1476                                 if  (SORT_EXP RESSION.Co ntains("." ))
  1477                                 {
  1478                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  1479                                      if (prop s != null  && props.C ount() ==  2)
  1480                                      {
  1481                                          objR eturn = ob jReturn.Or derBy(s =>  s.GetType ().GetProp erty(props [0]).GetVa lue(s).Get Type().Get Property(p rops[1]).G etValue(s. GetType(). GetPropert y(props[0] ).GetValue (s))).ToLi st<STD_REG _UDFs>();
  1482                                      }
  1483                                      else if  (props !=  null && pr ops.Count( ) == 3)
  1484                                      {
  1485                                      }
  1486                                 }
  1487                                 el se
  1488                                 {
  1489                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<ST D_REG_UDFs >();
  1490                                 }
  1491                             }
  1492                         }
  1493                    }
  1494                }
  1495  
  1496                return o bjReturn;
  1497           }
  1498  
  1499           #e ndregion
  1500  
  1501           #r egion STD_ REGISTRY
  1502  
  1503           pu blic stati c STD_REGI STRY STD_R EGISTRY_GE T(string C URRENT_USE R, int CUR RENT_REGIS TRY_ID, in t id)
  1504           {
  1505                return s ervices.ST D_REGISTRY _GET(CURRE NT_USER, C URRENT_REG ISTRY_ID,  id);
  1506           }
  1507  
  1508           pu blic stati c int STD_ REGISTRY_S AVE(string  CURRENT_U SER, int C URRENT_REG ISTRY_ID,  STD_REGIST RY objSave )
  1509           {
  1510                return s ervices.ST D_REGISTRY _SAVE(CURR ENT_USER,  CURRENT_RE GISTRY_ID,  objSave);
  1511           }
  1512  
  1513           pu blic stati c Boolean  STD_REGIST RY_DELETE( string CUR RENT_USER,  int CURRE NT_REGISTR Y_ID, int  id)
  1514           {
  1515                return s ervices.ST D_REGISTRY _DELETE(CU RRENT_USER , CURRENT_ REGISTRY_I D, id);
  1516           }
  1517  
  1518           pu blic stati c STD_REGI STRY STD_R EGISTRY_GE T_COMPLETE (string CU RRENT_USER , int CURR ENT_REGIST RY_ID, int  ID)
  1519           {
  1520                return s ervices.ST D_REGISTRY _GET_COMPL ETE(CURREN T_USER, CU RRENT_REGI STRY_ID, I D);
  1521           }
  1522  
  1523           pu blic stati c STD_REGI STRY STD_R EGISTRY_GE T_SYSTEM()
  1524           {
  1525                return s ervices.ST D_REGISTRY _GET_SYSTE M();
  1526           }
  1527  
  1528           pu blic stati c List<STD _REGISTRY>  STD_REGIS TRY_GET_AL L_BY_USER( string CUR RENT_USER,  int CURRE NT_REGISTR Y_ID)
  1529           {
  1530                STD_REGI STRY[] tem p = servic es.STD_REG ISTRY_GET_ ALL_BY_USE R(CURRENT_ USER, CURR ENT_REGIST RY_ID);
  1531                if (temp  != null)
  1532                    retu rn temp.To List<STD_R EGISTRY>() ;
  1533                return n ull;
  1534           }
  1535  
  1536           pu blic stati c List<STD _REGISTRY>  STD_REGIS TRY_GET_AL L_BY_USER( string CUR RENT_USER,  int CURRE NT_REGISTR Y_ID, stri ng SEARCH_ COLUMN, st ring SEARC H_TEXT, st ring SORT_ EXPRESSION )
  1537           {
  1538                List<STD _REGISTRY>  objReturn  = STD_REG ISTRY_GET_ ALL_BY_USE R(CURRENT_ USER, CURR ENT_REGIST RY_ID);
  1539                if (objR eturn != n ull)
  1540                {
  1541                    if ( objReturn  != null &&  objReturn .Count !=  0)
  1542                    {
  1543                         if (!strin g.IsNullOr Empty(SEAR CH_COLUMN)  && !strin g.IsNullOr Empty(SEAR CH_TEXT))
  1544                         {
  1545                             if (SE ARCH_COLUM N.Contains ("."))
  1546                             {
  1547                                 st ring[] pro ps = SEARC H_COLUMN.S plit('.');
  1548                                 if  (props !=  null && p rops.Count () == 2)
  1549                                 {
  1550                                      objRetur n = objRet urn.Where( s => s.Get Type().Get Property(p rops[0]).G etValue(s) .GetType() .GetProper ty(props[1 ]).GetValu e(s.GetTyp e().GetPro perty(prop s[0]).GetV alue(s)).T oString(). ToLower(). Contains(S EARCH_TEXT .ToLower() )).ToList< STD_REGIST RY>();
  1551                                 }
  1552                             }
  1553                             else
  1554                             {
  1555                                 ob jReturn =  objReturn. Where(w =>  w.GetType ().GetProp erty(SEARC H_COLUMN). GetValue(w ) != null) .ToList<ST D_REGISTRY >();
  1556                                 ob jReturn =  objReturn. Where(w =>  w.GetType ().GetProp erty(SEARC H_COLUMN). GetValue(w ).ToString ().ToLower ().Contain s(SEARCH_T EXT.ToLowe r())).ToLi st<STD_REG ISTRY>();
  1557                             }
  1558                         }
  1559                         if (!strin g.IsNullOr Empty(SORT _EXPRESSIO N))
  1560                         {
  1561                             if (SO RT_EXPRESS ION.Length  >= 4 && S ORT_EXPRES SION.Subst ring(SORT_ EXPRESSION .Length -  4, 4).ToUp per() == " DESC")
  1562                             {
  1563                                 SO RT_EXPRESS ION = SORT _EXPRESSIO N.Substrin g(0, SORT_ EXPRESSION .Length -  5);
  1564  
  1565                                 if  (SORT_EXP RESSION.Co ntains("." ))
  1566                                 {
  1567                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  1568                                      if (prop s != null  && props.C ount() ==  2)
  1569                                      {
  1570                                          objR eturn = ob jReturn.Or derByDesce nding(s =>  s.GetType ().GetProp erty(props [0]).GetVa lue(s).Get Type().Get Property(p rops[1]).G etValue(s. GetType(). GetPropert y(props[0] ).GetValue (s))).ToLi st<STD_REG ISTRY>();
  1571                                      }
  1572                                      else if  (props !=  null && pr ops.Count( ) == 3)
  1573                                      {
  1574                                      }
  1575                                 }
  1576                                 el se
  1577                                 {
  1578                                      objRetur n = objRet urn.OrderB yDescendin g(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<ST D_REGISTRY >();
  1579                                 }
  1580                             }
  1581                             else i f (SORT_EX PRESSION.L ength >= 3  && SORT_E XPRESSION. Substring( SORT_EXPRE SSION.Leng th - 3, 3) .ToUpper()  == "ASC")
  1582                             {
  1583                                 SO RT_EXPRESS ION = SORT _EXPRESSIO N.Substrin g(0, SORT_ EXPRESSION .Length -  4);
  1584                                 if  (SORT_EXP RESSION.Co ntains("." ))
  1585                                 {
  1586                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  1587                                      if (prop s != null  && props.C ount() ==  2)
  1588                                      {
  1589                                          objR eturn = ob jReturn.Or derBy(s =>  s.GetType ().GetProp erty(props [0]).GetVa lue(s).Get Type().Get Property(p rops[1]).G etValue(s. GetType(). GetPropert y(props[0] ).GetValue (s))).ToLi st<STD_REG ISTRY>();
  1590                                      }
  1591                                      else if  (props !=  null && pr ops.Count( ) == 3)
  1592                                      {
  1593                                      }
  1594                                 }
  1595                                 el se
  1596                                 {
  1597                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<ST D_REGISTRY >();
  1598                                 }
  1599                             }
  1600                             else
  1601                             {
  1602                                 if  (SORT_EXP RESSION.Co ntains("." ))
  1603                                 {
  1604                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  1605                                      if (prop s != null  && props.C ount() ==  2)
  1606                                      {
  1607                                          objR eturn = ob jReturn.Or derBy(s =>  s.GetType ().GetProp erty(props [0]).GetVa lue(s).Get Type().Get Property(p rops[1]).G etValue(s. GetType(). GetPropert y(props[0] ).GetValue (s))).ToLi st<STD_REG ISTRY>();
  1608                                      }
  1609                                      else if  (props !=  null && pr ops.Count( ) == 3)
  1610                                      {
  1611                                      }
  1612                                 }
  1613                                 el se
  1614                                 {
  1615                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<ST D_REGISTRY >();
  1616                                 }
  1617                             }
  1618                         }
  1619                    }
  1620                }
  1621  
  1622                return o bjReturn;
  1623           }
  1624  
  1625           pu blic stati c List<STD _REGISTRY>  STD_REGIS TRY_GET_AL L_NON_SYST EM()
  1626           {
  1627                STD_REGI STRY[] tem p = servic es.STD_REG ISTRY_GET_ ALL_NON_SY STEM();
  1628                if (temp  != null)
  1629                    retu rn temp.To List<STD_R EGISTRY>() ;
  1630                return n ull;
  1631           }
  1632  
  1633           pu blic stati c List<STD _REGISTRY>  STD_REGIS TRY_GET_AL L_NON_SYST EM_BY_USER (string CU RRENT_USER , int CURR ENT_REGIST RY_ID)
  1634           {
  1635                STD_REGI STRY[] tem p = servic es.STD_REG ISTRY_GET_ ALL_NON_SY STEM_BY_US ER(CURRENT _USER, CUR RENT_REGIS TRY_ID);
  1636                if (temp  != null)
  1637                    retu rn temp.To List<STD_R EGISTRY>() ;
  1638                return n ull;
  1639           }
  1640  
  1641           pu blic stati c List<STD _REGISTRY>  STD_REGIS TRY_GET_AL L_NON_SYST EM_BY_USER (string CU RRENT_USER , int CURR ENT_REGIST RY_ID, str ing SORT_E XPRESSION,  string SE ARCH_COLUM N, string  SEARCH_TEX T)
  1642           {
  1643                List<STD _REGISTRY>  objReturn  = STD_REG ISTRY_GET_ ALL_NON_SY STEM_BY_US ER(CURRENT _USER, CUR RENT_REGIS TRY_ID);
  1644                if (objR eturn != n ull)
  1645                {
  1646                    if ( objReturn  != null &&  objReturn .Count !=  0)
  1647                    {
  1648                         if (!strin g.IsNullOr Empty(SEAR CH_COLUMN)  && !strin g.IsNullOr Empty(SEAR CH_TEXT))
  1649                         {
  1650                             if (SE ARCH_COLUM N.Contains ("."))
  1651                             {
  1652                                 st ring[] pro ps = SEARC H_COLUMN.S plit('.');
  1653                                 if  (props !=  null && p rops.Count () == 2)
  1654                                 {
  1655                                      objRetur n = objRet urn.Where( s => s.Get Type().Get Property(p rops[0]).G etValue(s) .GetType() .GetProper ty(props[1 ]).GetValu e(s.GetTyp e().GetPro perty(prop s[0]).GetV alue(s)).T oString(). ToLower(). Contains(S EARCH_TEXT .ToLower() )).ToList< STD_REGIST RY>();
  1656                                 }
  1657                             }
  1658                             else
  1659                             {
  1660                                 ob jReturn =  objReturn. Where(w =>  w.GetType ().GetProp erty(SEARC H_COLUMN). GetValue(w ) != null) .ToList<ST D_REGISTRY >();
  1661                                 ob jReturn =  objReturn. Where(w =>  w.GetType ().GetProp erty(SEARC H_COLUMN). GetValue(w ).ToString ().ToLower ().Contain s(SEARCH_T EXT.ToLowe r())).ToLi st<STD_REG ISTRY>();
  1662                             }
  1663                         }
  1664                         if (!strin g.IsNullOr Empty(SORT _EXPRESSIO N))
  1665                         {
  1666                             if (SO RT_EXPRESS ION.Length  >= 4 && S ORT_EXPRES SION.Subst ring(SORT_ EXPRESSION .Length -  4, 4).ToUp per() == " DESC")
  1667                             {
  1668                                 SO RT_EXPRESS ION = SORT _EXPRESSIO N.Substrin g(0, SORT_ EXPRESSION .Length -  5);
  1669  
  1670                                 if  (SORT_EXP RESSION.Co ntains("." ))
  1671                                 {
  1672                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  1673                                      if (prop s != null  && props.C ount() ==  2)
  1674                                      {
  1675                                          objR eturn = ob jReturn.Or derByDesce nding(s =>  s.GetType ().GetProp erty(props [0]).GetVa lue(s).Get Type().Get Property(p rops[1]).G etValue(s. GetType(). GetPropert y(props[0] ).GetValue (s))).ToLi st<STD_REG ISTRY>();
  1676                                      }
  1677                                 }
  1678                                 el se
  1679                                      objRetur n = objRet urn.OrderB yDescendin g(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<ST D_REGISTRY >();
  1680                             }
  1681                             else
  1682                             {
  1683                                 if  (SORT_EXP RESSION.Co ntains("." ))
  1684                                 {
  1685                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  1686                                      if (prop s != null  && props.C ount() ==  2)
  1687                                      {
  1688                                          objR eturn = ob jReturn.Or derBy(s =>  s.GetType ().GetProp erty(props [0]).GetVa lue(s).Get Type().Get Property(p rops[1]).G etValue(s. GetType(). GetPropert y(props[0] ).GetValue (s))).ToLi st<STD_REG ISTRY>();
  1689                                      }
  1690                                 }
  1691                                 el se
  1692                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<ST D_REGISTRY >();
  1693                             }
  1694                         }
  1695                    }
  1696                }
  1697                return o bjReturn;
  1698           }
  1699  
  1700           #e ndregion
  1701  
  1702           #r egion STD_ REGISTRY_C ODES
  1703           #e ndregion
  1704  
  1705           #r egion STD_ REGISTRY_C OHORT_TYPE S
  1706           #e ndregion
  1707  
  1708           #r egion STD_ REGISTRY_C ORE_TYPES
  1709           #e ndregion
  1710  
  1711           #r egion STD_ ROLE
  1712  
  1713           pu blic stati c STD_ROLE  STD_ROLE_ GET(string  CURRENT_U SER, int C URRENT_REG ISTRY_ID,  int id)
  1714           {
  1715                return s ervices.ST D_ROLE_GET (CURRENT_U SER, CURRE NT_REGISTR Y_ID, id);
  1716           }
  1717  
  1718           pu blic stati c List<STD _ROLE> STD _ROLE_GET_ ALL_SYSTEM _ROLES(str ing CURREN T_USER, in t CURRENT_ REGISTRY_I D)
  1719           {
  1720                STD_ROLE [] temp =  services.S TD_ROLE_GE T_ALL_SYST EM_ROLES(C URRENT_USE R, CURRENT _REGISTRY_ ID);
  1721                if (temp  != null)
  1722                    retu rn temp.To List<STD_R OLE>();
  1723                return n ull;
  1724           }
  1725  
  1726           pu blic stati c List<STD _ROLE> STD _ROLE_GET_ ALL_REGIST RY_ROLES(s tring CURR ENT_USER,  int CURREN T_REGISTRY _ID)
  1727           {
  1728                STD_ROLE [] temp =  services.S TD_ROLE_GE T_ALL_REGI STRY_ROLES (CURRENT_U SER, CURRE NT_REGISTR Y_ID);
  1729                if (temp  != null)
  1730                    retu rn temp.To List<STD_R OLE>();
  1731                return n ull;
  1732           }
  1733  
  1734           pu blic stati c List<STD _ROLE> STD _ROLE_GET_ ALL_REGIST RY_ROLES(s tring CURR ENT_USER,  int CURREN T_REGISTRY _ID, strin g SEARCH_C OLUMN, str ing SEARCH _TEXT, str ing SORT_E XPRESSION)
  1735           {
  1736                List<STD _ROLE> obj Return = S TD_ROLE_GE T_ALL_REGI STRY_ROLES (CURRENT_U SER, CURRE NT_REGISTR Y_ID);
  1737                if (objR eturn != n ull)
  1738                {
  1739                    if ( objReturn  != null &&  objReturn .Count !=  0)
  1740                    {
  1741                         if (!strin g.IsNullOr Empty(SEAR CH_COLUMN)  && !strin g.IsNullOr Empty(SEAR CH_TEXT))
  1742                         {
  1743                             if (SE ARCH_COLUM N.Contains ("."))
  1744                             {
  1745                                 st ring[] pro ps = SEARC H_COLUMN.S plit('.');
  1746                                 if  (props !=  null && p rops.Count () == 2)
  1747                                 {
  1748                                      objRetur n = objRet urn.Where( s => s.Get Type().Get Property(p rops[0]).G etValue(s) .GetType() .GetProper ty(props[1 ]).GetValu e(s.GetTyp e().GetPro perty(prop s[0]).GetV alue(s)).T oString(). ToLower(). Contains(S EARCH_TEXT .ToLower() )).ToList< STD_ROLE>( );
  1749                                 }
  1750                             }
  1751                             else
  1752                             {
  1753                                 ob jReturn =  objReturn. Where(w =>  w.GetType ().GetProp erty(SEARC H_COLUMN). GetValue(w ) != null) .ToList<ST D_ROLE>();
  1754                                 ob jReturn =  objReturn. Where(w =>  w.GetType ().GetProp erty(SEARC H_COLUMN). GetValue(w ).ToString ().ToLower ().Contain s(SEARCH_T EXT.ToLowe r())).ToLi st<STD_ROL E>();
  1755                             }
  1756                         }
  1757                         if (!strin g.IsNullOr Empty(SORT _EXPRESSIO N))
  1758                         {
  1759                             if (SO RT_EXPRESS ION.Length  >= 4 && S ORT_EXPRES SION.Subst ring(SORT_ EXPRESSION .Length -  4, 4).ToUp per() == " DESC")
  1760                             {
  1761                                 SO RT_EXPRESS ION = SORT _EXPRESSIO N.Substrin g(0, SORT_ EXPRESSION .Length -  5);
  1762  
  1763                                 if  (SORT_EXP RESSION.Co ntains("." ))
  1764                                 {
  1765                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  1766                                      if (prop s != null  && props.C ount() ==  2)
  1767                                      {
  1768                                          objR eturn = ob jReturn.Or derByDesce nding(s =>  s.GetType ().GetProp erty(props [0]).GetVa lue(s).Get Type().Get Property(p rops[1]).G etValue(s. GetType(). GetPropert y(props[0] ).GetValue (s))).ToLi st<STD_ROL E>();
  1769                                      }
  1770                                      else if  (props !=  null && pr ops.Count( ) == 3)
  1771                                      {
  1772                                      }
  1773                                 }
  1774                                 el se
  1775                                 {
  1776                                      objRetur n = objRet urn.OrderB yDescendin g(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<ST D_ROLE>();
  1777                                 }
  1778                             }
  1779                             else i f (SORT_EX PRESSION.L ength >= 3  && SORT_E XPRESSION. Substring( SORT_EXPRE SSION.Leng th - 3, 3) .ToUpper()  == "ASC")
  1780                             {
  1781                                 SO RT_EXPRESS ION = SORT _EXPRESSIO N.Substrin g(0, SORT_ EXPRESSION .Length -  4);
  1782                                 if  (SORT_EXP RESSION.Co ntains("." ))
  1783                                 {
  1784                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  1785                                      if (prop s != null  && props.C ount() ==  2)
  1786                                      {
  1787                                          objR eturn = ob jReturn.Or derBy(s =>  s.GetType ().GetProp erty(props [0]).GetVa lue(s).Get Type().Get Property(p rops[1]).G etValue(s. GetType(). GetPropert y(props[0] ).GetValue (s))).ToLi st<STD_ROL E>();
  1788                                      }
  1789                                      else if  (props !=  null && pr ops.Count( ) == 3)
  1790                                      {
  1791                                      }
  1792                                 }
  1793                                 el se
  1794                                 {
  1795                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<ST D_ROLE>();
  1796                                 }
  1797                             }
  1798                             else
  1799                             {
  1800                                 if  (SORT_EXP RESSION.Co ntains("." ))
  1801                                 {
  1802                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  1803                                      if (prop s != null  && props.C ount() ==  2)
  1804                                      {
  1805                                          objR eturn = ob jReturn.Or derBy(s =>  s.GetType ().GetProp erty(props [0]).GetVa lue(s).Get Type().Get Property(p rops[1]).G etValue(s. GetType(). GetPropert y(props[0] ).GetValue (s))).ToLi st<STD_ROL E>();
  1806                                      }
  1807                                      else if  (props !=  null && pr ops.Count( ) == 3)
  1808                                      {
  1809                                      }
  1810                                 }
  1811                                 el se
  1812                                 {
  1813                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<ST D_ROLE>();
  1814                                 }
  1815                             }
  1816                         }
  1817                    }
  1818                }
  1819  
  1820                return o bjReturn;
  1821           }
  1822  
  1823           pu blic stati c List<STD _ROLE> STD _ROLE_GET_ ALL_BY_USE R_REGISTRY (string CU RRENT_USER , int CURR ENT_REGIST RY_ID)
  1824           {
  1825                STD_ROLE [] temp =  services.S TD_ROLE_GE T_ALL_BY_U SER_REGIST RY(CURRENT _USER, CUR RENT_REGIS TRY_ID);
  1826                if (temp  != null)
  1827                    retu rn temp.To List<STD_R OLE>();
  1828                return n ull;
  1829           }
  1830  
  1831           pu blic stati c List<STD _ROLE> STD _ROLE_GET_ ALL_BY_USE R_REGISTRY (string CU RRENT_USER , int CURR ENT_REGIST RY_ID, str ing STD_RO LE_ID, str ing SORT_E XPRESSION,  string SE ARCH_COLUM N, string  SEARCH_TEX T)
  1832           {
  1833                List<STD _ROLE> obj Return = S TD_ROLE_GE T_ALL_BY_U SER_REGIST RY(CURRENT _USER, CUR RENT_REGIS TRY_ID);
  1834                if (objR eturn != n ull)
  1835                {
  1836                    if ( objReturn  != null &&  objReturn .Count !=  0)
  1837                    {
  1838                         if (!strin g.IsNullOr Empty(SEAR CH_COLUMN)  && !strin g.IsNullOr Empty(SEAR CH_TEXT))
  1839                         {
  1840                             if (SE ARCH_COLUM N.Contains ("."))
  1841                             {
  1842                                 st ring[] pro ps = SEARC H_COLUMN.S plit('.');
  1843                                 if  (props !=  null && p rops.Count () == 2)
  1844                                 {
  1845                                      objRetur n = objRet urn.Where( s => s.Get Type().Get Property(p rops[0]).G etValue(s) .GetType() .GetProper ty(props[1 ]).GetValu e(s.GetTyp e().GetPro perty(prop s[0]).GetV alue(s)).T oString(). ToLower(). Contains(S EARCH_TEXT .ToLower() )).ToList< STD_ROLE>( );
  1846                                 }
  1847                             }
  1848                             else
  1849                             {
  1850                                 ob jReturn =  objReturn. Where(w =>  w.GetType ().GetProp erty(SEARC H_COLUMN). GetValue(w ) != null) .ToList<ST D_ROLE>();
  1851                                 ob jReturn =  objReturn. Where(w =>  w.GetType ().GetProp erty(SEARC H_COLUMN). GetValue(w ).ToString ().ToLower ().Contain s(SEARCH_T EXT.ToLowe r())).ToLi st<STD_ROL E>();
  1852                             }
  1853                         }
  1854                         if (!strin g.IsNullOr Empty(SORT _EXPRESSIO N))
  1855                         {
  1856                             if (SO RT_EXPRESS ION.Length  >= 4 && S ORT_EXPRES SION.Subst ring(SORT_ EXPRESSION .Length -  4, 4).ToUp per() == " DESC")
  1857                             {
  1858                                 SO RT_EXPRESS ION = SORT _EXPRESSIO N.Substrin g(0, SORT_ EXPRESSION .Length -  5);
  1859  
  1860                                 if  (SORT_EXP RESSION.Co ntains("." ))
  1861                                 {
  1862                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  1863                                      if (prop s != null  && props.C ount() ==  2)
  1864                                      {
  1865                                          objR eturn = ob jReturn.Or derByDesce nding(s =>  s.GetType ().GetProp erty(props [0]).GetVa lue(s).Get Type().Get Property(p rops[1]).G etValue(s. GetType(). GetPropert y(props[0] ).GetValue (s))).ToLi st<STD_ROL E>();
  1866                                      }
  1867                                 }
  1868                                 el se
  1869                                      objRetur n = objRet urn.OrderB yDescendin g(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<ST D_ROLE>();
  1870                             }
  1871                             else
  1872                             {
  1873                                 if  (SORT_EXP RESSION.Co ntains("." ))
  1874                                 {
  1875                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  1876                                      if (prop s != null  && props.C ount() ==  2)
  1877                                      {
  1878                                          objR eturn = ob jReturn.Or derBy(s =>  s.GetType ().GetProp erty(props [0]).GetVa lue(s).Get Type().Get Property(p rops[1]).G etValue(s. GetType(). GetPropert y(props[0] ).GetValue (s))).ToLi st<STD_ROL E>();
  1879                                      }
  1880                                 }
  1881                                 el se
  1882                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<ST D_ROLE>();
  1883                             }
  1884                         }
  1885                    }
  1886                }
  1887                return o bjReturn;
  1888           }
  1889  
  1890           #e ndregion
  1891  
  1892           #r egion STD_ SERVICE_OC CUPATION
  1893           #e ndregion
  1894  
  1895           #r egion STD_ STATE
  1896           #e ndregion
  1897  
  1898           #r egion STD_ SURVEY_SEC TION
  1899           #e ndregion
  1900  
  1901           #r egion STD_ SURVEY_SUB _SECTION
  1902           #e ndregion
  1903  
  1904           #r egion STD_ SURVEY_TYP E
  1905  
  1906           pu blic stati c STD_SURV EY_TYPE ST D_SURVEY_T YPE_GET(st ring CURRE NT_USER, i nt CURRENT _REGISTRY_ ID, int id )
  1907           {
  1908                return s ervices.ST D_SURVEY_T YPE_GET(CU RRENT_USER , CURRENT_ REGISTRY_I D, id);
  1909           }
  1910  
  1911           pu blic stati c int STD_ SURVEY_TYP E_SAVE(str ing CURREN T_USER, in t CURRENT_ REGISTRY_I D, STD_SUR VEY_TYPE o bjSave)
  1912           {
  1913                return s ervices.ST D_SURVEY_T YPE_SAVE(C URRENT_USE R, CURRENT _REGISTRY_ ID, objSav e);
  1914           }
  1915  
  1916           pu blic stati c Boolean  STD_SURVEY _TYPE_DELE TE(string  CURRENT_US ER, int CU RRENT_REGI STRY_ID, i nt id)
  1917           {
  1918                return s ervices.ST D_SURVEY_T YPE_DELETE (CURRENT_U SER, CURRE NT_REGISTR Y_ID, id);
  1919           }
  1920  
  1921           pu blic stati c List<STD _SURVEY_TY PE> STD_SU RVEY_TYPE_ GET_ALL_BY _REGISTRY( string CUR RENT_USER,  int CURRE NT_REGISTR Y_ID)
  1922           {
  1923                STD_SURV EY_TYPE[]  temp = ser vices.STD_ SURVEY_TYP E_GET_ALL_ BY_REGISTR Y(CURRENT_ USER, CURR ENT_REGIST RY_ID);
  1924                if (temp  != null)
  1925                    retu rn temp.To List<STD_S URVEY_TYPE >();
  1926                return n ull;
  1927           }
  1928  
  1929           pu blic stati c List<STD _SURVEY_TY PE> STD_SU RVEY_TYPE_ GET_ALL_BY _REGISTRY( string CUR RENT_USER,  int CURRE NT_REGISTR Y_ID, stri ng SEARCH_ COLUMN, st ring SEARC H_TEXT, st ring SORT_ EXPRESSION )
  1930           {
  1931                List<STD _SURVEY_TY PE> objRet urn = STD_ SURVEY_TYP E_GET_ALL_ BY_REGISTR Y(CURRENT_ USER, CURR ENT_REGIST RY_ID);
  1932                if (objR eturn != n ull)
  1933                {
  1934                    if ( objReturn  != null &&  objReturn .Count !=  0)
  1935                    {
  1936                         if (!strin g.IsNullOr Empty(SEAR CH_COLUMN)  && !strin g.IsNullOr Empty(SEAR CH_TEXT))
  1937                         {
  1938                             if (SE ARCH_COLUM N.Contains ("."))
  1939                             {
  1940                                 st ring[] pro ps = SEARC H_COLUMN.S plit('.');
  1941                                 if  (props !=  null && p rops.Count () == 2)
  1942                                 {
  1943                                      objRetur n = objRet urn.Where( s => s.Get Type().Get Property(p rops[0]).G etValue(s) .GetType() .GetProper ty(props[1 ]).GetValu e(s.GetTyp e().GetPro perty(prop s[0]).GetV alue(s)).T oString(). ToLower(). Contains(S EARCH_TEXT .ToLower() )).ToList< STD_SURVEY _TYPE>();
  1944                                 }
  1945                             }
  1946                             else
  1947                             {
  1948                                 ob jReturn =  objReturn. Where(w =>  w.GetType ().GetProp erty(SEARC H_COLUMN). GetValue(w ) != null) .ToList<ST D_SURVEY_T YPE>();
  1949                                 ob jReturn =  objReturn. Where(w =>  w.GetType ().GetProp erty(SEARC H_COLUMN). GetValue(w ).ToString ().ToLower ().Contain s(SEARCH_T EXT.ToLowe r())).ToLi st<STD_SUR VEY_TYPE>( );
  1950                             }
  1951                         }
  1952                         if (!strin g.IsNullOr Empty(SORT _EXPRESSIO N))
  1953                         {
  1954                             if (SO RT_EXPRESS ION.Length  >= 4 && S ORT_EXPRES SION.Subst ring(SORT_ EXPRESSION .Length -  4, 4).ToUp per() == " DESC")
  1955                             {
  1956                                 SO RT_EXPRESS ION = SORT _EXPRESSIO N.Substrin g(0, SORT_ EXPRESSION .Length -  5);
  1957  
  1958                                 if  (SORT_EXP RESSION.Co ntains("." ))
  1959                                 {
  1960                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  1961                                      if (prop s != null  && props.C ount() ==  2)
  1962                                      {
  1963                                          objR eturn = ob jReturn.Or derByDesce nding(s =>  s.GetType ().GetProp erty(props [0]).GetVa lue(s).Get Type().Get Property(p rops[1]).G etValue(s. GetType(). GetPropert y(props[0] ).GetValue (s))).ToLi st<STD_SUR VEY_TYPE>( );
  1964                                      }
  1965                                      else if  (props !=  null && pr ops.Count( ) == 3)
  1966                                      {
  1967                                      }
  1968                                 }
  1969                                 el se
  1970                                 {
  1971                                      objRetur n = objRet urn.OrderB yDescendin g(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<ST D_SURVEY_T YPE>();
  1972                                 }
  1973                             }
  1974                             else i f (SORT_EX PRESSION.L ength >= 3  && SORT_E XPRESSION. Substring( SORT_EXPRE SSION.Leng th - 3, 3) .ToUpper()  == "ASC")
  1975                             {
  1976                                 SO RT_EXPRESS ION = SORT _EXPRESSIO N.Substrin g(0, SORT_ EXPRESSION .Length -  4);
  1977                                 if  (SORT_EXP RESSION.Co ntains("." ))
  1978                                 {
  1979                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  1980                                      if (prop s != null  && props.C ount() ==  2)
  1981                                      {
  1982                                          objR eturn = ob jReturn.Or derBy(s =>  s.GetType ().GetProp erty(props [0]).GetVa lue(s).Get Type().Get Property(p rops[1]).G etValue(s. GetType(). GetPropert y(props[0] ).GetValue (s))).ToLi st<STD_SUR VEY_TYPE>( );
  1983                                      }
  1984                                      else if  (props !=  null && pr ops.Count( ) == 3)
  1985                                      {
  1986                                      }
  1987                                 }
  1988                                 el se
  1989                                 {
  1990                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<ST D_SURVEY_T YPE>();
  1991                                 }
  1992                             }
  1993                             else
  1994                             {
  1995                                 if  (SORT_EXP RESSION.Co ntains("." ))
  1996                                 {
  1997                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  1998                                      if (prop s != null  && props.C ount() ==  2)
  1999                                      {
  2000                                          objR eturn = ob jReturn.Or derBy(s =>  s.GetType ().GetProp erty(props [0]).GetVa lue(s).Get Type().Get Property(p rops[1]).G etValue(s. GetType(). GetPropert y(props[0] ).GetValue (s))).ToLi st<STD_SUR VEY_TYPE>( );
  2001                                      }
  2002                                      else if  (props !=  null && pr ops.Count( ) == 3)
  2003                                      {
  2004                                      }
  2005                                 }
  2006                                 el se
  2007                                 {
  2008                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<ST D_SURVEY_T YPE>();
  2009                                 }
  2010                             }
  2011                         }
  2012                    }
  2013                }
  2014  
  2015                return o bjReturn;
  2016           }
  2017  
  2018           #e ndregion
  2019  
  2020           #r egion STD_ USER_ACTIV ITY_TYPE
  2021           #e ndregion
  2022  
  2023           #r egion STD_ WEB_PAGES
  2024  
  2025           pu blic stati c STD_WEB_ PAGES STD_ WEB_PAGES_ GET(string  CURRENT_U SER, int C URRENT_REG ISTRY_ID,  int id)
  2026           {
  2027                return s ervices.ST D_WEB_PAGE S_GET(CURR ENT_USER,  CURRENT_RE GISTRY_ID,  id);
  2028           }
  2029  
  2030           pu blic stati c List<STD _WEB_PAGES > STD_WEB_ PAGES_GET_ ALL(string  CURRENT_U SER, int C URRENT_REG ISTRY_ID)
  2031           {
  2032                STD_WEB_ PAGES[] te mp = servi ces.STD_WE B_PAGES_GE T_ALL(CURR ENT_USER,  CURRENT_RE GISTRY_ID) ;
  2033                if (temp  != null)
  2034                    retu rn temp.To List<STD_W EB_PAGES>( );
  2035                return n ull;
  2036           }
  2037  
  2038           pu blic stati c int STD_ WEB_PAGES_ SAVE(strin g CURRENT_ USER, int  CURRENT_RE GISTRY_ID,  STD_WEB_P AGES objSa ve)
  2039           {
  2040                return s ervices.ST D_WEB_PAGE S_SAVE(CUR RENT_USER,  CURRENT_R EGISTRY_ID , objSave) ;
  2041           }
  2042  
  2043           pu blic stati c Boolean  STD_WEB_PA GES_DELETE (string CU RRENT_USER , int CURR ENT_REGIST RY_ID, int  id)
  2044           {
  2045                return s ervices.ST D_WEB_PAGE S_DELETE(C URRENT_USE R, CURRENT _REGISTRY_ ID, id);
  2046           }
  2047  
  2048           #e ndregion
  2049  
  2050           #r egion STD_ WKFACTIVIT YSTS
  2051  
  2052           pu blic stati c STD_WKFA CTIVITYSTS  STD_WKFAC TIVITYSTS_ GET(string  CURRENT_U SER, int C URRENT_REG ISTRY_ID,  int id)
  2053           {
  2054                return s ervices.ST D_WKFACTIV ITYSTS_GET (CURRENT_U SER, CURRE NT_REGISTR Y_ID, id);
  2055           }
  2056  
  2057           pu blic stati c STD_WKFA CTIVITYSTS  STD_WKFAC TIVITYSTS_ GET_BY_COD E(string C URRENT_USE R, int CUR RENT_REGIS TRY_ID, st ring CODE)
  2058           {
  2059                return s ervices.ST D_WKFACTIV ITYSTS_GET _BY_CODE(C URRENT_USE R, CURRENT _REGISTRY_ ID, CODE);
  2060           }
  2061  
  2062           #e ndregion
  2063  
  2064           #r egion STD_ WKFACTIVIT YTYPE
  2065  
  2066           pu blic stati c STD_WKFA CTIVITYTYP E STD_WKFA CTIVITYTYP E_GET(stri ng CURRENT _USER, int  CURRENT_R EGISTRY_ID , int id)
  2067           {
  2068                return s ervices.ST D_WKFACTIV ITYTYPE_GE T(CURRENT_ USER, CURR ENT_REGIST RY_ID, id) ;
  2069           }
  2070  
  2071           pu blic stati c int STD_ WKFACTIVIT YTYPE_SAVE (string CU RRENT_USER , int CURR ENT_REGIST RY_ID, STD _WKFACTIVI TYTYPE obj Save)
  2072           {
  2073                return s ervices.ST D_WKFACTIV ITYTYPE_SA VE(CURRENT _USER, CUR RENT_REGIS TRY_ID, ob jSave);
  2074           }
  2075  
  2076           pu blic stati c Boolean  STD_WKFACT IVITYTYPE_ DELETE(str ing CURREN T_USER, in t CURRENT_ REGISTRY_I D, int id)
  2077           {
  2078                return s ervices.ST D_WKFACTIV ITYTYPE_DE LETE(CURRE NT_USER, C URRENT_REG ISTRY_ID,  id);
  2079           }
  2080  
  2081           pu blic stati c List<STD _WKFACTIVI TYTYPE> ST D_WKFACTIV ITYTYPE_GE T_ALL_BY_R EGISTRY(st ring CURRE NT_USER, i nt CURRENT _REGISTRY_ ID)
  2082           {
  2083                STD_WKFA CTIVITYTYP E[] temp =  services. STD_WKFACT IVITYTYPE_ GET_ALL_BY _REGISTRY( CURRENT_US ER, CURREN T_REGISTRY _ID);
  2084                if (temp  != null)
  2085                    retu rn temp.To List<STD_W KFACTIVITY TYPE>();
  2086                return n ull;
  2087           }
  2088  
  2089           pu blic stati c List<STD _WKFACTIVI TYTYPE> ST D_WKFACTIV ITYTYPE_GE T_ALL_BY_R EGISTRY(st ring CURRE NT_USER, i nt CURRENT _REGISTRY_ ID, string  SEARCH_CO LUMN, stri ng SEARCH_ TEXT, stri ng SORT_EX PRESSION)
  2090           {
  2091                List<STD _WKFACTIVI TYTYPE> ob jReturn =  STD_WKFACT IVITYTYPE_ GET_ALL_BY _REGISTRY( CURRENT_US ER, CURREN T_REGISTRY _ID);
  2092                if (objR eturn != n ull)
  2093                {
  2094                    if ( objReturn  != null &&  objReturn .Count !=  0)
  2095                    {
  2096                         if (!strin g.IsNullOr Empty(SEAR CH_COLUMN)  && !strin g.IsNullOr Empty(SEAR CH_TEXT))
  2097                         {
  2098                             if (SE ARCH_COLUM N.Contains ("."))
  2099                             {
  2100                                 st ring[] pro ps = SEARC H_COLUMN.S plit('.');
  2101                                 if  (props !=  null && p rops.Count () == 2)
  2102                                 {
  2103                                      objRetur n = objRet urn.Where( s => s.Get Type().Get Property(p rops[0]).G etValue(s) .GetType() .GetProper ty(props[1 ]).GetValu e(s.GetTyp e().GetPro perty(prop s[0]).GetV alue(s)).T oString(). ToLower(). Contains(S EARCH_TEXT .ToLower() )).ToList< STD_WKFACT IVITYTYPE> ();
  2104                                 }
  2105                             }
  2106                             else
  2107                             {
  2108                                 ob jReturn =  objReturn. Where(w =>  w.GetType ().GetProp erty(SEARC H_COLUMN). GetValue(w ) != null) .ToList<ST D_WKFACTIV ITYTYPE>() ;
  2109                                 ob jReturn =  objReturn. Where(w =>  w.GetType ().GetProp erty(SEARC H_COLUMN). GetValue(w ).ToString ().ToLower ().Contain s(SEARCH_T EXT.ToLowe r())).ToLi st<STD_WKF ACTIVITYTY PE>();
  2110                             }
  2111                         }
  2112                         if (!strin g.IsNullOr Empty(SORT _EXPRESSIO N))
  2113                         {
  2114                             if (SO RT_EXPRESS ION.Length  >= 4 && S ORT_EXPRES SION.Subst ring(SORT_ EXPRESSION .Length -  4, 4).ToUp per() == " DESC")
  2115                             {
  2116                                 SO RT_EXPRESS ION = SORT _EXPRESSIO N.Substrin g(0, SORT_ EXPRESSION .Length -  5);
  2117  
  2118                                 if  (SORT_EXP RESSION.Co ntains("." ))
  2119                                 {
  2120                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  2121                                      if (prop s != null  && props.C ount() ==  2)
  2122                                      {
  2123                                          objR eturn = ob jReturn.Or derByDesce nding(s =>  s.GetType ().GetProp erty(props [0]).GetVa lue(s).Get Type().Get Property(p rops[1]).G etValue(s. GetType(). GetPropert y(props[0] ).GetValue (s))).ToLi st<STD_WKF ACTIVITYTY PE>();
  2124                                      }
  2125                                      else if  (props !=  null && pr ops.Count( ) == 3)
  2126                                      {
  2127                                      }
  2128                                 }
  2129                                 el se
  2130                                 {
  2131                                      objRetur n = objRet urn.OrderB yDescendin g(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<ST D_WKFACTIV ITYTYPE>() ;
  2132                                 }
  2133                             }
  2134                             else i f (SORT_EX PRESSION.L ength >= 3  && SORT_E XPRESSION. Substring( SORT_EXPRE SSION.Leng th - 3, 3) .ToUpper()  == "ASC")
  2135                             {
  2136                                 SO RT_EXPRESS ION = SORT _EXPRESSIO N.Substrin g(0, SORT_ EXPRESSION .Length -  4);
  2137                                 if  (SORT_EXP RESSION.Co ntains("." ))
  2138                                 {
  2139                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  2140                                      if (prop s != null  && props.C ount() ==  2)
  2141                                      {
  2142                                          objR eturn = ob jReturn.Or derBy(s =>  s.GetType ().GetProp erty(props [0]).GetVa lue(s).Get Type().Get Property(p rops[1]).G etValue(s. GetType(). GetPropert y(props[0] ).GetValue (s))).ToLi st<STD_WKF ACTIVITYTY PE>();
  2143                                      }
  2144                                      else if  (props !=  null && pr ops.Count( ) == 3)
  2145                                      {
  2146                                      }
  2147                                 }
  2148                                 el se
  2149                                 {
  2150                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<ST D_WKFACTIV ITYTYPE>() ;
  2151                                 }
  2152                             }
  2153                             else
  2154                             {
  2155                                 if  (SORT_EXP RESSION.Co ntains("." ))
  2156                                 {
  2157                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  2158                                      if (prop s != null  && props.C ount() ==  2)
  2159                                      {
  2160                                          objR eturn = ob jReturn.Or derBy(s =>  s.GetType ().GetProp erty(props [0]).GetVa lue(s).Get Type().Get Property(p rops[1]).G etValue(s. GetType(). GetPropert y(props[0] ).GetValue (s))).ToLi st<STD_WKF ACTIVITYTY PE>();
  2161                                      }
  2162                                      else if  (props !=  null && pr ops.Count( ) == 3)
  2163                                      {
  2164                                      }
  2165                                 }
  2166                                 el se
  2167                                 {
  2168                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<ST D_WKFACTIV ITYTYPE>() ;
  2169                                 }
  2170                             }
  2171                         }
  2172                    }
  2173                }
  2174  
  2175                return o bjReturn;
  2176           }
  2177  
  2178           pu blic stati c List<STD _WKFACTIVI TYTYPE> ST D_WKFACTIV ITYTYPE_GE T_ALL_BY_W ORKSTREAM( string CUR RENT_USER,  int CURRE NT_REGISTR Y_ID, int  STD_WKFCAS ETYPE_ID)
  2179           {
  2180                STD_WKFA CTIVITYTYP E[] temp =  services. STD_WKFACT IVITYTYPE_ GET_ALL_BY _WORKSTREA M(CURRENT_ USER, CURR ENT_REGIST RY_ID, STD _WKFCASETY PE_ID);
  2181                if (temp  != null)
  2182                    retu rn temp.To List<STD_W KFACTIVITY TYPE>();
  2183                return n ull;
  2184           }
  2185  
  2186           #e ndregion
  2187  
  2188           #r egion STD_ WKFCASESTS
  2189  
  2190           pu blic stati c STD_WKFC ASESTS STD _WKFCASEST S_GET(stri ng CURRENT _USER, int  CURRENT_R EGISTRY_ID , int id)
  2191           {
  2192                return s ervices.ST D_WKFCASES TS_GET(CUR RENT_USER,  CURRENT_R EGISTRY_ID , id);
  2193           }
  2194  
  2195           pu blic stati c STD_WKFC ASESTS STD _WKFCASEST S_GET_BY_C ODE(string  CURRENT_U SER, int C URRENT_REG ISTRY_ID,  string COD E)
  2196           {
  2197                return s ervices.ST D_WKFCASES TS_GET_BY_ CODE(CURRE NT_USER, C URRENT_REG ISTRY_ID,  CODE);
  2198           }
  2199  
  2200           #e ndregion
  2201  
  2202           #r egion STD_ WKFCASETYP E
  2203  
  2204           pu blic stati c STD_WKFC ASETYPE ST D_WKFCASET YPE_GET(st ring CURRE NT_USER, i nt CURRENT _REGISTRY_ ID, int id )
  2205           {
  2206                return s ervices.ST D_WKFCASET YPE_GET(CU RRENT_USER , CURRENT_ REGISTRY_I D, id);
  2207           }
  2208  
  2209           pu blic stati c int STD_ WKFCASETYP E_SAVE(str ing CURREN T_USER, in t CURRENT_ REGISTRY_I D, STD_WKF CASETYPE o bjSave)
  2210           {
  2211                return s ervices.ST D_WKFCASET YPE_SAVE(C URRENT_USE R, CURRENT _REGISTRY_ ID, objSav e);
  2212           }
  2213  
  2214           pu blic stati c Boolean  STD_WKFCAS ETYPE_DELE TE(string  CURRENT_US ER, int CU RRENT_REGI STRY_ID, i nt id)
  2215           {
  2216                return s ervices.ST D_WKFCASET YPE_DELETE (CURRENT_U SER, CURRE NT_REGISTR Y_ID, id);
  2217           }
  2218  
  2219           pu blic stati c List<STD _WKFCASETY PE> STD_WK FCASETYPE_ GET_ALL_BY _REGISTRY( string CUR RENT_USER,  int CURRE NT_REGISTR Y_ID)
  2220           {
  2221                STD_WKFC ASETYPE[]  temp = ser vices.STD_ WKFCASETYP E_GET_ALL_ BY_REGISTR Y(CURRENT_ USER, CURR ENT_REGIST RY_ID);
  2222                if (temp  != null)
  2223                    retu rn temp.To List<STD_W KFCASETYPE >();
  2224                return n ull;
  2225           }
  2226  
  2227           pu blic stati c List<STD _WKFCASETY PE> STD_WK FCASETYPE_ GET_ALL_BY _REGISTRY( string CUR RENT_USER,  int CURRE NT_REGISTR Y_ID, stri ng SEARCH_ COLUMN, st ring SEARC H_TEXT, st ring SORT_ EXPRESSION )
  2228           {
  2229                List<STD _WKFCASETY PE> objRet urn = STD_ WKFCASETYP E_GET_ALL_ BY_REGISTR Y(CURRENT_ USER, CURR ENT_REGIST RY_ID);
  2230                if (objR eturn != n ull)
  2231                {
  2232                    if ( objReturn  != null &&  objReturn .Count !=  0)
  2233                    {
  2234                         if (!strin g.IsNullOr Empty(SEAR CH_COLUMN)  && !strin g.IsNullOr Empty(SEAR CH_TEXT))
  2235                         {
  2236                             if (SE ARCH_COLUM N.Contains ("."))
  2237                             {
  2238                                 st ring[] pro ps = SEARC H_COLUMN.S plit('.');
  2239                                 if  (props !=  null && p rops.Count () == 2)
  2240                                 {
  2241                                      objRetur n = objRet urn.Where( s => s.Get Type().Get Property(p rops[0]).G etValue(s) .GetType() .GetProper ty(props[1 ]).GetValu e(s.GetTyp e().GetPro perty(prop s[0]).GetV alue(s)).T oString(). ToLower(). Contains(S EARCH_TEXT .ToLower() )).ToList< STD_WKFCAS ETYPE>();
  2242                                 }
  2243                             }
  2244                             else
  2245                             {
  2246                                 ob jReturn =  objReturn. Where(w =>  w.GetType ().GetProp erty(SEARC H_COLUMN). GetValue(w ) != null) .ToList<ST D_WKFCASET YPE>();
  2247                                 ob jReturn =  objReturn. Where(w =>  w.GetType ().GetProp erty(SEARC H_COLUMN). GetValue(w ).ToString ().ToLower ().Contain s(SEARCH_T EXT.ToLowe r())).ToLi st<STD_WKF CASETYPE>( );
  2248                             }
  2249                         }
  2250                         if (!strin g.IsNullOr Empty(SORT _EXPRESSIO N))
  2251                         {
  2252                             if (SO RT_EXPRESS ION.Length  >= 4 && S ORT_EXPRES SION.Subst ring(SORT_ EXPRESSION .Length -  4, 4).ToUp per() == " DESC")
  2253                             {
  2254                                 SO RT_EXPRESS ION = SORT _EXPRESSIO N.Substrin g(0, SORT_ EXPRESSION .Length -  5);
  2255  
  2256                                 if  (SORT_EXP RESSION.Co ntains("." ))
  2257                                 {
  2258                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  2259                                      if (prop s != null  && props.C ount() ==  2)
  2260                                      {
  2261                                          objR eturn = ob jReturn.Or derByDesce nding(s =>  s.GetType ().GetProp erty(props [0]).GetVa lue(s).Get Type().Get Property(p rops[1]).G etValue(s. GetType(). GetPropert y(props[0] ).GetValue (s))).ToLi st<STD_WKF CASETYPE>( );
  2262                                      }
  2263                                      else if  (props !=  null && pr ops.Count( ) == 3)
  2264                                      {
  2265                                      }
  2266                                 }
  2267                                 el se
  2268                                 {
  2269                                      objRetur n = objRet urn.OrderB yDescendin g(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<ST D_WKFCASET YPE>();
  2270                                 }
  2271                             }
  2272                             else i f (SORT_EX PRESSION.L ength >= 3  && SORT_E XPRESSION. Substring( SORT_EXPRE SSION.Leng th - 3, 3) .ToUpper()  == "ASC")
  2273                             {
  2274                                 SO RT_EXPRESS ION = SORT _EXPRESSIO N.Substrin g(0, SORT_ EXPRESSION .Length -  4);
  2275                                 if  (SORT_EXP RESSION.Co ntains("." ))
  2276                                 {
  2277                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  2278                                      if (prop s != null  && props.C ount() ==  2)
  2279                                      {
  2280                                          objR eturn = ob jReturn.Or derBy(s =>  s.GetType ().GetProp erty(props [0]).GetVa lue(s).Get Type().Get Property(p rops[1]).G etValue(s. GetType(). GetPropert y(props[0] ).GetValue (s))).ToLi st<STD_WKF CASETYPE>( );
  2281                                      }
  2282                                      else if  (props !=  null && pr ops.Count( ) == 3)
  2283                                      {
  2284                                      }
  2285                                 }
  2286                                 el se
  2287                                 {
  2288                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<ST D_WKFCASET YPE>();
  2289                                 }
  2290                             }
  2291                             else
  2292                             {
  2293                                 if  (SORT_EXP RESSION.Co ntains("." ))
  2294                                 {
  2295                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  2296                                      if (prop s != null  && props.C ount() ==  2)
  2297                                      {
  2298                                          objR eturn = ob jReturn.Or derBy(s =>  s.GetType ().GetProp erty(props [0]).GetVa lue(s).Get Type().Get Property(p rops[1]).G etValue(s. GetType(). GetPropert y(props[0] ).GetValue (s))).ToLi st<STD_WKF CASETYPE>( );
  2299                                      }
  2300                                      else if  (props !=  null && pr ops.Count( ) == 3)
  2301                                      {
  2302                                      }
  2303                                 }
  2304                                 el se
  2305                                 {
  2306                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<ST D_WKFCASET YPE>();
  2307                                 }
  2308                             }
  2309                         }
  2310                    }
  2311                }
  2312  
  2313                return o bjReturn;
  2314           }
  2315  
  2316           #e ndregion
  2317  
  2318           #r egion SURV EY_NOTES
  2319           #e ndregion
  2320  
  2321           #r egion SURV EY_RESULTS
  2322  
  2323           pu blic stati c List<SUR VEY_RESULT S> SURVEY_ RESULTS_GE T_ALL_BY_S URVEY(stri ng CURRENT _USER, int  CURRENT_R EGISTRY_ID , int SURV EY_ID)
  2324           {
  2325                SURVEY_R ESULTS[] t emp = serv ices.SURVE Y_RESULTS_ GET_ALL_BY _SURVEY(CU RRENT_USER , CURRENT_ REGISTRY_I D, SURVEY_ ID);
  2326                if (temp  != null)
  2327                    retu rn temp.To List<SURVE Y_RESULTS> ();
  2328                return n ull;
  2329           }
  2330  
  2331           pu blic stati c bool SUR VEY_RESULT S_SAVE_ALL (string CU RRENT_USER , int CURR ENT_REGIST RY_ID, Lis t<SURVEY_R ESULTS> RE SULTS)
  2332           {
  2333                SURVEY_R ESULTS[] t emp = RESU LTS.ToArra y();
  2334                return s ervices.SU RVEY_RESUL TS_SAVE_AL L(CURRENT_ USER, CURR ENT_REGIST RY_ID, tem p);
  2335           }
  2336  
  2337           #e ndregion
  2338  
  2339           #r egion SURV EYS
  2340  
  2341           pu blic stati c SURVEYS  SURVEYS_GE T(string C URRENT_USE R, int CUR RENT_REGIS TRY_ID, in t id)
  2342           {
  2343                return s ervices.SU RVEYS_GET( CURRENT_US ER, CURREN T_REGISTRY _ID, id);
  2344           }
  2345  
  2346           pu blic stati c int SURV EYS_SAVE(s tring CURR ENT_USER,  int CURREN T_REGISTRY _ID, SURVE YS objSave )
  2347           {
  2348                return s ervices.SU RVEYS_SAVE (CURRENT_U SER, CURRE NT_REGISTR Y_ID, objS ave);
  2349           }
  2350  
  2351           pu blic stati c Boolean  SURVEYS_DE LETE(strin g CURRENT_ USER, int  CURRENT_RE GISTRY_ID,  int id)
  2352           {
  2353                return s ervices.SU RVEYS_DELE TE(CURRENT _USER, CUR RENT_REGIS TRY_ID, id );
  2354           }
  2355  
  2356           pu blic stati c SURVEYS  SURVEYS_GE T_FOR_SURV EY(string  CURRENT_US ER, int CU RRENT_REGI STRY_ID, i nt SURVEYS _ID)
  2357           {
  2358                return s ervices.SU RVEYS_GET_ FOR_SURVEY (CURRENT_U SER, CURRE NT_REGISTR Y_ID, SURV EYS_ID);
  2359           }
  2360  
  2361           pu blic stati c List<SUR VEYS> SURV EYS_GET_AL L_BY_REGIS TRY(string  CURRENT_U SER, int C URRENT_REG ISTRY_ID)
  2362           {
  2363                SURVEYS[ ] temp = s ervices.SU RVEYS_GET_ ALL_BY_REG ISTRY(CURR ENT_USER,  CURRENT_RE GISTRY_ID) ;
  2364                if (temp  != null)
  2365                    retu rn temp.To List<SURVE YS>();
  2366                return n ull;
  2367           }
  2368  
  2369           pu blic stati c List<SUR VEYS> SURV EYS_GET_AL L_BY_REGIS TRY(string  CURRENT_U SER, int C URRENT_REG ISTRY_ID,  int PATIEN T_ID, stri ng SEARCH_ COLUMN, st ring SEARC H_TEXT, st ring SORT_ EXPRESSION )
  2370           {
  2371                List<SUR VEYS> objR eturn = SU RVEYS_GET_ ALL_BY_REG ISTRY(CURR ENT_USER,  CURRENT_RE GISTRY_ID) ;
  2372                if (objR eturn != n ull)
  2373                {
  2374                    if ( PATIENT_ID  > 0)
  2375                    {
  2376                         objReturn  = objRetur n.Where(x  => x.PATIE NT_ID == P ATIENT_ID) .ToList();
  2377                    }
  2378                    if ( objReturn  != null &&  objReturn .Count !=  0)
  2379                    {
  2380                         if (!strin g.IsNullOr Empty(SEAR CH_COLUMN)  && !strin g.IsNullOr Empty(SEAR CH_TEXT))
  2381                         {
  2382                             if (SE ARCH_COLUM N.Contains ("."))
  2383                             {
  2384                                 st ring[] pro ps = SEARC H_COLUMN.S plit('.');
  2385                                 if  (props !=  null && p rops.Count () == 2)
  2386                                 {
  2387                                      objRetur n = objRet urn.Where( s => s.Get Type().Get Property(p rops[0]).G etValue(s) .GetType() .GetProper ty(props[1 ]).GetValu e(s.GetTyp e().GetPro perty(prop s[0]).GetV alue(s)).T oString(). ToLower(). Contains(S EARCH_TEXT .ToLower() )).ToList< SURVEYS>() ;
  2388                                 }
  2389                             }
  2390                             else
  2391                             {
  2392                                 ob jReturn =  objReturn. Where(w =>  w.GetType ().GetProp erty(SEARC H_COLUMN). GetValue(w ) != null) .ToList<SU RVEYS>();
  2393                                 ob jReturn =  objReturn. Where(w =>  w.GetType ().GetProp erty(SEARC H_COLUMN). GetValue(w ).ToString ().ToLower ().Contain s(SEARCH_T EXT.ToLowe r())).ToLi st<SURVEYS >();
  2394                             }
  2395                         }
  2396                         if (!strin g.IsNullOr Empty(SORT _EXPRESSIO N))
  2397                         {
  2398                             if (SO RT_EXPRESS ION.Length  >= 4 && S ORT_EXPRES SION.Subst ring(SORT_ EXPRESSION .Length -  4, 4).ToUp per() == " DESC")
  2399                             {
  2400                                 SO RT_EXPRESS ION = SORT _EXPRESSIO N.Substrin g(0, SORT_ EXPRESSION .Length -  5);
  2401  
  2402                                 if  (SORT_EXP RESSION.Co ntains("." ))
  2403                                 {
  2404                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  2405                                      if (prop s != null  && props.C ount() ==  2)
  2406                                      {
  2407                                          objR eturn = ob jReturn.Or derByDesce nding(s =>  s.GetType ().GetProp erty(props [0]).GetVa lue(s).Get Type().Get Property(p rops[1]).G etValue(s. GetType(). GetPropert y(props[0] ).GetValue (s))).ToLi st<SURVEYS >();
  2408                                      }
  2409                                      else if  (props !=  null && pr ops.Count( ) == 3)
  2410                                      {
  2411                                      }
  2412                                 }
  2413                                 el se
  2414                                 {
  2415                                      objRetur n = objRet urn.OrderB yDescendin g(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<SU RVEYS>();
  2416                                 }
  2417                             }
  2418                             else i f (SORT_EX PRESSION.L ength >= 3  && SORT_E XPRESSION. Substring( SORT_EXPRE SSION.Leng th - 3, 3) .ToUpper()  == "ASC")
  2419                             {
  2420                                 SO RT_EXPRESS ION = SORT _EXPRESSIO N.Substrin g(0, SORT_ EXPRESSION .Length -  4);
  2421                                 if  (SORT_EXP RESSION.Co ntains("." ))
  2422                                 {
  2423                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  2424                                      if (prop s != null  && props.C ount() ==  2)
  2425                                      {
  2426                                          objR eturn = ob jReturn.Or derBy(s =>  s.GetType ().GetProp erty(props [0]).GetVa lue(s).Get Type().Get Property(p rops[1]).G etValue(s. GetType(). GetPropert y(props[0] ).GetValue (s))).ToLi st<SURVEYS >();
  2427                                      }
  2428                                      else if  (props !=  null && pr ops.Count( ) == 3)
  2429                                      {
  2430                                      }
  2431                                 }
  2432                                 el se
  2433                                 {
  2434                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<SU RVEYS>();
  2435                                 }
  2436                             }
  2437                             else
  2438                             {
  2439                                 if  (SORT_EXP RESSION.Co ntains("." ))
  2440                                 {
  2441                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  2442                                      if (prop s != null  && props.C ount() ==  2)
  2443                                      {
  2444                                          objR eturn = ob jReturn.Or derBy(s =>  s.GetType ().GetProp erty(props [0]).GetVa lue(s).Get Type().Get Property(p rops[1]).G etValue(s. GetType(). GetPropert y(props[0] ).GetValue (s))).ToLi st<SURVEYS >();
  2445                                      }
  2446                                      else if  (props !=  null && pr ops.Count( ) == 3)
  2447                                      {
  2448                                      }
  2449                                 }
  2450                                 el se
  2451                                 {
  2452                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<SU RVEYS>();
  2453                                 }
  2454                             }
  2455                         }
  2456                    }
  2457                }
  2458  
  2459                return o bjReturn;
  2460           }
  2461  
  2462           #e ndregion
  2463  
  2464           #r egion USER _ACTIVITY_ LOG
  2465           #e ndregion
  2466  
  2467           #r egion USER _ROLES
  2468  
  2469           pu blic stati c USER_ROL ES USER_RO LES_GET_BY _USERID_RO LEID(strin g CURRENT_ USER, int  CURRENT_RE GISTRY_ID,  int USER_ ID, int ST D_ROLE_ID)
  2470           {
  2471                return s ervices.US ER_ROLES_G ET_BY_USER ID_ROLEID( CURRENT_US ER, CURREN T_REGISTRY _ID, USER_ ID, STD_RO LE_ID);
  2472           }
  2473  
  2474           pu blic stati c USER_ROL ES USER_RO LES_GET_BY _USER_ROLE (string Us ername, st ring RoleN ame)
  2475           {
  2476                return s ervices.US ER_ROLES_G ET_BY_USER _ROLE(User name, Role Name);
  2477           }
  2478  
  2479           pu blic stati c string[]  USER_ROLE S_GET_ROLE S(string U sername)
  2480           {
  2481                return s ervices.US ER_ROLES_G ET_ROLES(U sername);
  2482           }
  2483  
  2484           pu blic stati c List<USE R_ROLES> U SER_ROLES_ GET_ALL_BY _USER(stri ng CURRENT _USER, int  CURRENT_R EGISTRY_ID , int USER _ID)
  2485           {
  2486                USER_ROL ES[] temp  = services .USER_ROLE S_GET_ALL_ BY_USER(CU RRENT_USER , CURRENT_ REGISTRY_I D, USER_ID );
  2487                if (temp  != null)
  2488                    retu rn temp.To List<USER_ ROLES>();
  2489                return n ull;
  2490           }
  2491  
  2492           pu blic stati c bool USE R_ROLES_DE LETE_BY_US ER_REGISTR Y(string C URRENT_USE R, int CUR RENT_REGIS TRY_ID, in t USER_ID,  int STD_R EGISTRY_ID )
  2493           {
  2494                return s ervices.US ER_ROLES_D ELETE_BY_U SER_REGIST RY(CURRENT _USER, CUR RENT_REGIS TRY_ID, US ER_ID, STD _REGISTRY_ ID);
  2495           }
  2496  
  2497           pu blic stati c bool USE R_ROLES_SA VE_ALL(str ing CURREN T_USER, in t CURRENT_ REGISTRY_I D, List<US ER_ROLES>  USER_ROLES )
  2498           {
  2499                if (USER _ROLES ==  null)
  2500                    retu rn false;
  2501  
  2502                USER_ROL ES[] temp  = USER_ROL ES.ToArray ();
  2503                return s ervices.US ER_ROLES_S AVE_ALL(CU RRENT_USER , CURRENT_ REGISTRY_I D, temp);
  2504           }
  2505  
  2506           pu blic stati c bool USE R_ROLES_AC CESS_BY_RE GISTRYID_U SERNAME(st ring CURRE NT_USER, i nt REGISTR Y_ID)
  2507           {
  2508                string[]  temp = se rvices.USE R_ROLES_GE T_BY_REGIS TRYID_USER NAME(CURRE NT_USER, R EGISTRY_ID );
  2509                if (temp  != null)
  2510                {
  2511                    List <string> r oleList =  temp.ToLis t();
  2512                    if ( roleList ! = null)
  2513                    {
  2514                         foreach (s tring role  in roleLi st)
  2515                         {
  2516                             if (ro le.ToUpper () == "CRS ADMIN" ||  role.ToUpp er() == "C RSUPD" ||  role.ToUpp er() == "C RSREAD")
  2517                                 re turn true;
  2518  
  2519                             if (ro le.ToUpper () == "REG ADMIN" ||  role.ToUpp er() == "R EGUPD" ||  role.ToUpp er() == "R EGREAD")
  2520                                 re turn true;
  2521                         }
  2522                    }
  2523                }
  2524  
  2525                return f alse;
  2526           }
  2527  
  2528           pu blic stati c bool USE R_ROLES_GE T_BY_REGIS TRYID_USER NAME_SET_R EADONLY(st ring CURRE NT_USER, i nt CURRENT _REGISTRY_ ID)
  2529           {
  2530                string[]  temp = se rvices.USE R_ROLES_GE T_BY_REGIS TRYID_USER NAME(CURRE NT_USER, C URRENT_REG ISTRY_ID);
  2531                if (temp  != null)
  2532                {
  2533                    List <string> r oleList =  temp.ToLis t();
  2534                    bool  isAdmin =  false;
  2535                    bool  canEdit =  false;
  2536                    bool  hasRead =  false;
  2537                    User Session us erSession  = (UserSes sion)HttpC ontext.Cur rent.Sessi on["UserSe ssion"];
  2538                    if ( userSessio n == null)  userSessi on = new U serSession ();
  2539  
  2540                    if ( roleList ! = null)
  2541                    {
  2542                         for (int i  = 0; i <  roleList.C ount; i++)
  2543                         {
  2544                             if (ro leList[i]. ToUpper()  == "CRSADM IN" || rol eList[i].T oUpper() = = "REGADMI N")
  2545                             {
  2546                                 if  (roleList [i].ToUppe r() == "CR SADMIN") {  userSessi on.IsSyste mAdministr ator = tru e; }
  2547                                 if  (roleList [i].ToUppe r() == "RE GADMIN") {  userSessi on.IsRegis tryAdminis trator = t rue; }
  2548                                 is Admin = tr ue;
  2549                                 br eak;
  2550                             }
  2551                         }
  2552                         //Admins s upercede t he followi ng roles -  why check  for them  if user is  admin
  2553                         if (isAdmi n == false )
  2554                         {
  2555                             for (i nt i = 0;  i < roleLi st.Count;  i++)
  2556                             {
  2557                                 if  (roleList [i].ToUppe r() == "CR SUPD" || r oleList[i] .ToUpper()  == "REGUP D")
  2558                                 {
  2559                                      canEdit  = true;
  2560                                      break;
  2561                                 }
  2562                                 if  (roleList [i].ToUppe r() == "CR SREAD" ||  roleList[i ].ToUpper( ) == "REGR EAD")
  2563                                 {
  2564                                      hasRead  = true;
  2565                                      break;
  2566                                 }
  2567                             }
  2568                         }
  2569                         /* JUST MA DE THE LOG IC SIMPLIE R - HEATH  - AND RETU RN BASED I N THE ORDE R OF THE R OLE VALUE  SIGNIFICAN CE */
  2570                         if (isAdmi n)
  2571                         {
  2572                             return  false;
  2573                         }
  2574                         if (canEdi t)
  2575                         {
  2576                             return  false;
  2577                         }
  2578                         if (hasRea d)
  2579                         {
  2580                             return  true;
  2581                         }
  2582                    }
  2583                    else
  2584                    {
  2585                         return tru e;
  2586                    }
  2587                }
  2588                return t rue;
  2589           }
  2590  
  2591           #e ndregion
  2592  
  2593           #r egion USER S
  2594  
  2595           pu blic stati c USERS US ERS_GET(st ring CURRE NT_USER, i nt CURRENT _REGISTRY_ ID, int id )
  2596           {
  2597                return s ervices.US ERS_GET(CU RRENT_USER , CURRENT_ REGISTRY_I D, id);
  2598           }
  2599  
  2600           pu blic stati c List<USE RS> USERS_ GET_ALL(st ring CURRE NT_USER, i nt CURRENT _REGISTRY_ ID)
  2601           {
  2602                USERS[]  temp = ser vices.USER S_GET_ALL( CURRENT_US ER, CURREN T_REGISTRY _ID);
  2603                if (temp  != null)
  2604                    retu rn temp.To List<USERS >();
  2605                return n ull;
  2606           }
  2607  
  2608           pu blic stati c int USER S_SAVE(str ing CURREN T_USER, in t CURRENT_ REGISTRY_I D, USERS o bjSave)
  2609           {
  2610                return s ervices.US ERS_SAVE(C URRENT_USE R, CURRENT _REGISTRY_ ID, objSav e);
  2611           }
  2612  
  2613           pu blic stati c Boolean  USERS_DELE TE(string  CURRENT_US ER, int CU RRENT_REGI STRY_ID, i nt id)
  2614           {
  2615                return s ervices.US ERS_DELETE (CURRENT_U SER, CURRE NT_REGISTR Y_ID, id);
  2616           }
  2617  
  2618           pu blic stati c DomainNa mes USERS_ LOAD_FROM_ AD()
  2619           {
  2620                return s ervices.US ERS_LOAD_F ROM_AD();
  2621           }
  2622  
  2623           pu blic stati c List<Dom ainUser> U SERS_GET_A LL_BY_AD(D omainNames  domainNam es, string  searchStr ing)
  2624           {
  2625                DomainUs er[] temp  = services .USERS_GET _ALL_BY_AD (domainNam es, search String);
  2626                if (temp  != null)
  2627                    retu rn temp.To List<Domai nUser>();
  2628                return n ull;
  2629           }
  2630  
  2631           pu blic stati c List<Dom ainUser> U SERS_GET_A LL_BY_AD(D omainNames  domainNam es, string  searchStr ing, strin g SEARCH_C OLUMN, str ing SEARCH _TEXT, str ing SORT_E XPRESSION)
  2632           {
  2633                List<Dom ainUser> o bjReturn =  USERS_GET _ALL_BY_AD (domainNam es, search String);
  2634                if (objR eturn != n ull)
  2635                {
  2636                    if ( objReturn  != null &&  objReturn .Count !=  0)
  2637                    {
  2638                         if (!strin g.IsNullOr Empty(SEAR CH_COLUMN)  && !strin g.IsNullOr Empty(SEAR CH_TEXT))
  2639                         {
  2640                             if (SE ARCH_COLUM N.Contains ("."))
  2641                             {
  2642                                 st ring[] pro ps = SEARC H_COLUMN.S plit('.');
  2643                                 if  (props !=  null && p rops.Count () == 2)
  2644                                 {
  2645                                      objRetur n = objRet urn.Where( s => s.Get Type().Get Property(p rops[0]).G etValue(s) .GetType() .GetProper ty(props[1 ]).GetValu e(s.GetTyp e().GetPro perty(prop s[0]).GetV alue(s)).T oString(). ToLower(). Contains(S EARCH_TEXT .ToLower() )).ToList< DomainUser >();
  2646                                 }
  2647                             }
  2648                             else
  2649                             {
  2650                                 ob jReturn =  objReturn. Where(w =>  w.GetType ().GetProp erty(SEARC H_COLUMN). GetValue(w ) != null) .ToList<Do mainUser>( );
  2651                                 ob jReturn =  objReturn. Where(w =>  w.GetType ().GetProp erty(SEARC H_COLUMN). GetValue(w ).ToString ().ToLower ().Contain s(SEARCH_T EXT.ToLowe r())).ToLi st<DomainU ser>();
  2652                             }
  2653                         }
  2654                         if (!strin g.IsNullOr Empty(SORT _EXPRESSIO N))
  2655                         {
  2656                             if (SO RT_EXPRESS ION.Length  >= 4 && S ORT_EXPRES SION.Subst ring(SORT_ EXPRESSION .Length -  4, 4).ToUp per() == " DESC")
  2657                             {
  2658                                 SO RT_EXPRESS ION = SORT _EXPRESSIO N.Substrin g(0, SORT_ EXPRESSION .Length -  5);
  2659  
  2660                                 if  (SORT_EXP RESSION.Co ntains("." ))
  2661                                 {
  2662                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  2663                                      if (prop s != null  && props.C ount() ==  2)
  2664                                      {
  2665                                          objR eturn = ob jReturn.Or derByDesce nding(s =>  s.GetType ().GetProp erty(props [0]).GetVa lue(s).Get Type().Get Property(p rops[1]).G etValue(s. GetType(). GetPropert y(props[0] ).GetValue (s))).ToLi st<DomainU ser>();
  2666                                      }
  2667                                      else if  (props !=  null && pr ops.Count( ) == 3)
  2668                                      {
  2669                                      }
  2670                                 }
  2671                                 el se
  2672                                 {
  2673                                      objRetur n = objRet urn.OrderB yDescendin g(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<Do mainUser>( );
  2674                                 }
  2675                             }
  2676                             else i f (SORT_EX PRESSION.L ength >= 3  && SORT_E XPRESSION. Substring( SORT_EXPRE SSION.Leng th - 3, 3) .ToUpper()  == "ASC")
  2677                             {
  2678                                 SO RT_EXPRESS ION = SORT _EXPRESSIO N.Substrin g(0, SORT_ EXPRESSION .Length -  4);
  2679                                 if  (SORT_EXP RESSION.Co ntains("." ))
  2680                                 {
  2681                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  2682                                      if (prop s != null  && props.C ount() ==  2)
  2683                                      {
  2684                                          objR eturn = ob jReturn.Or derBy(s =>  s.GetType ().GetProp erty(props [0]).GetVa lue(s).Get Type().Get Property(p rops[1]).G etValue(s. GetType(). GetPropert y(props[0] ).GetValue (s))).ToLi st<DomainU ser>();
  2685                                      }
  2686                                      else if  (props !=  null && pr ops.Count( ) == 3)
  2687                                      {
  2688                                      }
  2689                                 }
  2690                                 el se
  2691                                 {
  2692                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<Do mainUser>( );
  2693                                 }
  2694                             }
  2695                             else
  2696                             {
  2697                                 if  (SORT_EXP RESSION.Co ntains("." ))
  2698                                 {
  2699                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  2700                                      if (prop s != null  && props.C ount() ==  2)
  2701                                      {
  2702                                          objR eturn = ob jReturn.Or derBy(s =>  s.GetType ().GetProp erty(props [0]).GetVa lue(s).Get Type().Get Property(p rops[1]).G etValue(s. GetType(). GetPropert y(props[0] ).GetValue (s))).ToLi st<DomainU ser>();
  2703                                      }
  2704                                      else if  (props !=  null && pr ops.Count( ) == 3)
  2705                                      {
  2706                                      }
  2707                                 }
  2708                                 el se
  2709                                 {
  2710                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<Do mainUser>( );
  2711                                 }
  2712                             }
  2713                         }
  2714                    }
  2715                }
  2716  
  2717                return o bjReturn;
  2718           }
  2719  
  2720           pu blic stati c USERS US ERS_GET_BY _NAME(stri ng CURRENT _USER, int  CURRENT_R EGISTRY_ID , string u sername)
  2721           {
  2722                return s ervices.US ERS_GET_BY _NAME(CURR ENT_USER,  CURRENT_RE GISTRY_ID,  username) ;
  2723           }
  2724  
  2725           pu blic stati c List<USE RS> USERS_ GET_ALL_BY _USER(stri ng CURRENT _USER, int  CURRENT_R EGISTRY_ID )
  2726           {
  2727                USERS[]  temp = ser vices.USER S_GET_ALL_ BY_USER(CU RRENT_USER , CURRENT_ REGISTRY_I D);
  2728                if (temp  != null)
  2729                    retu rn temp.To List<USERS >();
  2730                return n ull;
  2731           }
  2732  
  2733           pu blic stati c List<USE RS> USERS_ GET_ALL_BY _USER(stri ng CURRENT _USER, int  CURRENT_R EGISTRY_ID , string S EARCH_COLU MN, string  SEARCH_TE XT, string  SORT_EXPR ESSION)
  2734           {
  2735                List<USE RS> objRet urn = USER S_GET_ALL_ BY_USER(CU RRENT_USER , CURRENT_ REGISTRY_I D);
  2736                if (objR eturn != n ull)
  2737                {
  2738                    if ( objReturn  != null &&  objReturn .Count !=  0)
  2739                    {
  2740                         if (!strin g.IsNullOr Empty(SEAR CH_COLUMN)  && !strin g.IsNullOr Empty(SEAR CH_TEXT))
  2741                         {
  2742                             if (SE ARCH_COLUM N.Contains ("."))
  2743                             {
  2744                                 st ring[] pro ps = SEARC H_COLUMN.S plit('.');
  2745                                 if  (props !=  null && p rops.Count () == 2)
  2746                                 {
  2747                                      objRetur n = objRet urn.Where( s => s.Get Type().Get Property(p rops[0]).G etValue(s) .GetType() .GetProper ty(props[1 ]).GetValu e(s.GetTyp e().GetPro perty(prop s[0]).GetV alue(s)).T oString(). ToLower(). Contains(S EARCH_TEXT .ToLower() )).ToList< USERS>();
  2748                                 }
  2749                             }
  2750                             else
  2751                             {
  2752                                 ob jReturn =  objReturn. Where(w =>  w.GetType ().GetProp erty(SEARC H_COLUMN). GetValue(w ) != null) .ToList<US ERS>();
  2753                                 ob jReturn =  objReturn. Where(w =>  w.GetType ().GetProp erty(SEARC H_COLUMN). GetValue(w ).ToString ().ToLower ().Contain s(SEARCH_T EXT.ToLowe r())).ToLi st<USERS>( );
  2754                             }
  2755                         }
  2756                         if (!strin g.IsNullOr Empty(SORT _EXPRESSIO N))
  2757                         {
  2758                             if (SO RT_EXPRESS ION.Length  >= 4 && S ORT_EXPRES SION.Subst ring(SORT_ EXPRESSION .Length -  4, 4).ToUp per() == " DESC")
  2759                             {
  2760                                 SO RT_EXPRESS ION = SORT _EXPRESSIO N.Substrin g(0, SORT_ EXPRESSION .Length -  5);
  2761  
  2762                                 if  (SORT_EXP RESSION.Co ntains("." ))
  2763                                 {
  2764                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  2765                                      if (prop s != null  && props.C ount() ==  2)
  2766                                      {
  2767                                          objR eturn = ob jReturn.Or derByDesce nding(s =>  s.GetType ().GetProp erty(props [0]).GetVa lue(s).Get Type().Get Property(p rops[1]).G etValue(s. GetType(). GetPropert y(props[0] ).GetValue (s))).ToLi st<USERS>( );
  2768                                      }
  2769                                      else if  (props !=  null && pr ops.Count( ) == 3)
  2770                                      {
  2771                                      }
  2772                                 }
  2773                                 el se
  2774                                 {
  2775                                      objRetur n = objRet urn.OrderB yDescendin g(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<US ERS>();
  2776                                 }
  2777                             }
  2778                             else i f (SORT_EX PRESSION.L ength >= 3  && SORT_E XPRESSION. Substring( SORT_EXPRE SSION.Leng th - 3, 3) .ToUpper()  == "ASC")
  2779                             {
  2780                                 SO RT_EXPRESS ION = SORT _EXPRESSIO N.Substrin g(0, SORT_ EXPRESSION .Length -  4);
  2781                                 if  (SORT_EXP RESSION.Co ntains("." ))
  2782                                 {
  2783                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  2784                                      if (prop s != null  && props.C ount() ==  2)
  2785                                      {
  2786                                          objR eturn = ob jReturn.Or derBy(s =>  s.GetType ().GetProp erty(props [0]).GetVa lue(s).Get Type().Get Property(p rops[1]).G etValue(s. GetType(). GetPropert y(props[0] ).GetValue (s))).ToLi st<USERS>( );
  2787                                      }
  2788                                      else if  (props !=  null && pr ops.Count( ) == 3)
  2789                                      {
  2790                                      }
  2791                                 }
  2792                                 el se
  2793                                 {
  2794                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<US ERS>();
  2795                                 }
  2796                             }
  2797                             else
  2798                             {
  2799                                 if  (SORT_EXP RESSION.Co ntains("." ))
  2800                                 {
  2801                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  2802                                      if (prop s != null  && props.C ount() ==  2)
  2803                                      {
  2804                                          objR eturn = ob jReturn.Or derBy(s =>  s.GetType ().GetProp erty(props [0]).GetVa lue(s).Get Type().Get Property(p rops[1]).G etValue(s. GetType(). GetPropert y(props[0] ).GetValue (s))).ToLi st<USERS>( );
  2805                                      }
  2806                                      else if  (props !=  null && pr ops.Count( ) == 3)
  2807                                      {
  2808                                      }
  2809                                 }
  2810                                 el se
  2811                                 {
  2812                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<US ERS>();
  2813                                 }
  2814                             }
  2815                         }
  2816                    }
  2817                }
  2818  
  2819                return o bjReturn;
  2820           }
  2821  
  2822           pu blic stati c bool USE RS_DEFAULT _REGISTRY( string CUR RENT_USER,  int CURRE NT_REGISTR Y_ID, bool  IS_DEFAUL T)
  2823           {
  2824                return s ervices.US ERS_DEFAUL T_REGISTRY (CURRENT_U SER, CURRE NT_REGISTR Y_ID, IS_D EFAULT);
  2825           }
  2826  
  2827           #e ndregion
  2828  
  2829           #r egion WKF_ CASE
  2830  
  2831           pu blic stati c WKF_CASE  WKF_CASE_ GET(string  CURRENT_U SER, int C URRENT_REG ISTRY_ID,  int id)
  2832           {
  2833                return s ervices.WK F_CASE_GET (CURRENT_U SER, CURRE NT_REGISTR Y_ID, id);
  2834           }
  2835  
  2836           pu blic stati c int WKF_ CASE_SAVE( string CUR RENT_USER,  int CURRE NT_REGISTR Y_ID, WKF_ CASE objSa ve)
  2837           {
  2838                return s ervices.WK F_CASE_SAV E(CURRENT_ USER, CURR ENT_REGIST RY_ID, obj Save);
  2839           }
  2840  
  2841           pu blic stati c Boolean  WKF_CASE_D ELETE(stri ng CURRENT _USER, int  CURRENT_R EGISTRY_ID , int id)
  2842           {
  2843                return s ervices.WK F_CASE_DEL ETE(CURREN T_USER, CU RRENT_REGI STRY_ID, i d);
  2844           }
  2845  
  2846           pu blic stati c List<WKF _CASE> WKF _CASE_GET_ ALL_BY_REG ISTRY(stri ng CURRENT _USER, int  CURRENT_R EGISTRY_ID )
  2847           {
  2848                WKF_CASE [] temp =  services.W KF_CASE_GE T_ALL_BY_R EGISTRY(CU RRENT_USER , CURRENT_ REGISTRY_I D);
  2849                if (temp  != null)
  2850                    retu rn temp.To List<WKF_C ASE>();
  2851                return n ull;
  2852           }
  2853  
  2854           pu blic stati c List<WKF _CASE> WKF _CASE_GET_ ALL_BY_REG ISTRY(stri ng CURRENT _USER, int  CURRENT_R EGISTRY_ID , int PATI ENT_ID, st ring SEARC H_COLUMN,  string SEA RCH_TEXT,  string SOR T_EXPRESSI ON)
  2855           {
  2856                List<WKF _CASE> obj Return = W KF_CASE_GE T_ALL_BY_R EGISTRY(CU RRENT_USER , CURRENT_ REGISTRY_I D);
  2857                if (objR eturn != n ull)
  2858                {
  2859                    if ( PATIENT_ID  > 0)
  2860                    {
  2861                         objReturn  = objRetur n.Where(x  => x.PATIE NT_ID == P ATIENT_ID) .ToList();
  2862                    }
  2863                    if ( objReturn  != null &&  objReturn .Count !=  0)
  2864                    {
  2865                         if (!strin g.IsNullOr Empty(SEAR CH_COLUMN)  && !strin g.IsNullOr Empty(SEAR CH_TEXT))
  2866                         {
  2867                             if (SE ARCH_COLUM N.Contains ("."))
  2868                             {
  2869                                 st ring[] pro ps = SEARC H_COLUMN.S plit('.');
  2870                                 if  (props !=  null && p rops.Count () == 2)
  2871                                 {
  2872                                      objRetur n = objRet urn.Where( s => s.Get Type().Get Property(p rops[0]).G etValue(s) .GetType() .GetProper ty(props[1 ]).GetValu e(s.GetTyp e().GetPro perty(prop s[0]).GetV alue(s)).T oString(). ToLower(). Contains(S EARCH_TEXT .ToLower() )).ToList< WKF_CASE>( );
  2873                                 }
  2874                             }
  2875                             else
  2876                             {
  2877                                 ob jReturn =  objReturn. Where(w =>  w.GetType ().GetProp erty(SEARC H_COLUMN). GetValue(w ) != null) .ToList<WK F_CASE>();
  2878                                 ob jReturn =  objReturn. Where(w =>  w.GetType ().GetProp erty(SEARC H_COLUMN). GetValue(w ).ToString ().ToLower ().Contain s(SEARCH_T EXT.ToLowe r())).ToLi st<WKF_CAS E>();
  2879                             }
  2880                         }
  2881                         if (!strin g.IsNullOr Empty(SORT _EXPRESSIO N))
  2882                         {
  2883                             if (SO RT_EXPRESS ION.Length  >= 4 && S ORT_EXPRES SION.Subst ring(SORT_ EXPRESSION .Length -  4, 4).ToUp per() == " DESC")
  2884                             {
  2885                                 SO RT_EXPRESS ION = SORT _EXPRESSIO N.Substrin g(0, SORT_ EXPRESSION .Length -  5);
  2886  
  2887                                 if  (SORT_EXP RESSION.Co ntains("." ))
  2888                                 {
  2889                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  2890                                      if (prop s != null  && props.C ount() ==  2)
  2891                                      {
  2892                                          objR eturn = ob jReturn.Or derByDesce nding(s =>  s.GetType ().GetProp erty(props [0]).GetVa lue(s).Get Type().Get Property(p rops[1]).G etValue(s. GetType(). GetPropert y(props[0] ).GetValue (s))).ToLi st<WKF_CAS E>();
  2893                                      }
  2894                                      else if  (props !=  null && pr ops.Count( ) == 3)
  2895                                      {
  2896                                      }
  2897                                 }
  2898                                 el se
  2899                                 {
  2900                                      objRetur n = objRet urn.OrderB yDescendin g(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<WK F_CASE>();
  2901                                 }
  2902                             }
  2903                             else i f (SORT_EX PRESSION.L ength >= 3  && SORT_E XPRESSION. Substring( SORT_EXPRE SSION.Leng th - 3, 3) .ToUpper()  == "ASC")
  2904                             {
  2905                                 SO RT_EXPRESS ION = SORT _EXPRESSIO N.Substrin g(0, SORT_ EXPRESSION .Length -  4);
  2906                                 if  (SORT_EXP RESSION.Co ntains("." ))
  2907                                 {
  2908                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  2909                                      if (prop s != null  && props.C ount() ==  2)
  2910                                      {
  2911                                          objR eturn = ob jReturn.Or derBy(s =>  s.GetType ().GetProp erty(props [0]).GetVa lue(s).Get Type().Get Property(p rops[1]).G etValue(s. GetType(). GetPropert y(props[0] ).GetValue (s))).ToLi st<WKF_CAS E>();
  2912                                      }
  2913                                      else if  (props !=  null && pr ops.Count( ) == 3)
  2914                                      {
  2915                                      }
  2916                                 }
  2917                                 el se
  2918                                 {
  2919                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<WK F_CASE>();
  2920                                 }
  2921                             }
  2922                             else
  2923                             {
  2924                                 if  (SORT_EXP RESSION.Co ntains("." ))
  2925                                 {
  2926                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  2927                                      if (prop s != null  && props.C ount() ==  2)
  2928                                      {
  2929                                          objR eturn = ob jReturn.Or derBy(s =>  s.GetType ().GetProp erty(props [0]).GetVa lue(s).Get Type().Get Property(p rops[1]).G etValue(s. GetType(). GetPropert y(props[0] ).GetValue (s))).ToLi st<WKF_CAS E>();
  2930                                      }
  2931                                      else if  (props !=  null && pr ops.Count( ) == 3)
  2932                                      {
  2933                                      }
  2934                                 }
  2935                                 el se
  2936                                 {
  2937                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<WK F_CASE>();
  2938                                 }
  2939                             }
  2940                         }
  2941                    }
  2942                }
  2943  
  2944                return o bjReturn;
  2945           }
  2946  
  2947           pu blic stati c bool WKF _CASE_UPDA TE_STATUS( string CUR RENT_USER,  int CURRE NT_REGISTR Y_ID, int  WKF_CASE_I D, int STD _WKFCASEST S_ID)
  2948           {
  2949                return s ervices.WK F_CASE_UPD ATE_STATUS (CURRENT_U SER, CURRE NT_REGISTR Y_ID, WKF_ CASE_ID, S TD_WKFCASE STS_ID);
  2950           }
  2951  
  2952           #e ndregion
  2953  
  2954           #r egion WKF_ CASE_ACTIV ITY
  2955  
  2956           pu blic stati c WKF_CASE _ACTIVITY  WKF_CASE_A CTIVITY_GE T(string C URRENT_USE R, int CUR RENT_REGIS TRY_ID, in t id)
  2957           {
  2958                return s ervices.WK F_CASE_ACT IVITY_GET( CURRENT_US ER, CURREN T_REGISTRY _ID, id);
  2959           }
  2960  
  2961           pu blic stati c int WKF_ CASE_ACTIV ITY_SAVE(s tring CURR ENT_USER,  int CURREN T_REGISTRY _ID, WKF_C ASE_ACTIVI TY objSave )
  2962           {
  2963                return s ervices.WK F_CASE_ACT IVITY_SAVE (CURRENT_U SER, CURRE NT_REGISTR Y_ID, objS ave);
  2964           }
  2965  
  2966           pu blic stati c Boolean  WKF_CASE_A CTIVITY_DE LETE(strin g CURRENT_ USER, int  CURRENT_RE GISTRY_ID,  int id)
  2967           {
  2968                return s ervices.WK F_CASE_ACT IVITY_DELE TE(CURRENT _USER, CUR RENT_REGIS TRY_ID, id );
  2969           }
  2970  
  2971           pu blic stati c List<WKF _CASE_ACTI VITY> WKF_ CASE_ACTIV ITY_GET_AL L_BY_REGIS TRY(string  CURRENT_U SER, int C URRENT_REG ISTRY_ID)
  2972           {
  2973                WKF_CASE _ACTIVITY[ ] temp = s ervices.WK F_CASE_ACT IVITY_GET_ ALL_BY_REG ISTRY(CURR ENT_USER,  CURRENT_RE GISTRY_ID) ;
  2974                if (temp  != null)
  2975                    retu rn temp.To List<WKF_C ASE_ACTIVI TY>();
  2976                return n ull;
  2977           }
  2978  
  2979           pu blic stati c List<WKF _CASE_ACTI VITY> WKF_ CASE_ACTIV ITY_GET_AL L_BY_REGIS TRY(string  CURRENT_U SER, int C URRENT_REG ISTRY_ID,  string SEA RCH_COLUMN , string S EARCH_TEXT , string S ORT_EXPRES SION)
  2980           {
  2981                List<WKF _CASE_ACTI VITY> objR eturn = WK F_CASE_ACT IVITY_GET_ ALL_BY_REG ISTRY(CURR ENT_USER,  CURRENT_RE GISTRY_ID) ;
  2982                if (objR eturn != n ull && obj Return.Cou nt != 0)
  2983                {
  2984                    if ( !string.Is NullOrEmpt y(SEARCH_C OLUMN) &&  !string.Is NullOrEmpt y(SEARCH_T EXT))
  2985                    {
  2986                         if (SEARCH _COLUMN.Co ntains("." ))
  2987                         {
  2988                             string [] props =  SEARCH_CO LUMN.Split ('.');
  2989                             if (pr ops != nul l && props .Count() = = 2)
  2990                             {
  2991                                 ob jReturn =  objReturn. Where(s =>  s.GetType ().GetProp erty(props [0]).GetVa lue(s).Get Type().Get Property(p rops[1]).G etValue(s. GetType(). GetPropert y(props[0] ).GetValue (s)).ToStr ing().ToLo wer().Cont ains(SEARC H_TEXT.ToL ower())).T oList<WKF_ CASE_ACTIV ITY>();
  2992                             }
  2993                             else i f (props ! = null &&  props.Coun t() == 3)
  2994                             {
  2995                                 ob jReturn =  objReturn. Where(s =>  s.GetType ().GetProp erty(props [0]).GetVa lue(s).Get Type().Get Property(p rops[1]).G etValue(s. GetType(). GetPropert y(props[0] ).GetValue (s)).GetTy pe().GetPr operty(pro ps[2]).Get Value(s.Ge tType().Ge tProperty( props[0]). GetValue(s ).GetType( ).GetPrope rty(props[ 1]).GetVal ue(s.GetTy pe().GetPr operty(pro ps[0]).Get Value(s))) .ToString( ).ToLower( ).Contains (SEARCH_TE XT.ToLower ())).ToLis t<WKF_CASE _ACTIVITY> ();
  2996                             }
  2997                         }
  2998                         else
  2999                         {
  3000                             objRet urn = objR eturn.Wher e(w => w.G etType().G etProperty (SEARCH_CO LUMN).GetV alue(w) !=  null).ToL ist<WKF_CA SE_ACTIVIT Y>();
  3001                             objRet urn = objR eturn.Wher e(w => w.G etType().G etProperty (SEARCH_CO LUMN).GetV alue(w).To String().T oLower().C ontains(SE ARCH_TEXT. ToLower()) ).ToList<W KF_CASE_AC TIVITY>();
  3002                         }
  3003                    }
  3004                    if ( !string.Is NullOrEmpt y(SORT_EXP RESSION))
  3005                    {
  3006                         if (SORT_E XPRESSION. Length >=  4 && SORT_ EXPRESSION .Substring (SORT_EXPR ESSION.Len gth - 4, 4 ).ToUpper( ) == "DESC ")
  3007                         {
  3008                             SORT_E XPRESSION  = SORT_EXP RESSION.Su bstring(0,  SORT_EXPR ESSION.Len gth - 5);
  3009  
  3010                             if (SO RT_EXPRESS ION.Contai ns("."))
  3011                             {
  3012                                 st ring[] pro ps = SORT_ EXPRESSION .Split('.' );
  3013                                 if  (props !=  null && p rops.Count () == 2)
  3014                                 {
  3015                                      objRetur n = objRet urn.OrderB yDescendin g(s => s.G etType().G etProperty (props[0]) .GetValue( s).GetType ().GetProp erty(props [1]).GetVa lue(s.GetT ype().GetP roperty(pr ops[0]).Ge tValue(s)) ).ToList<W KF_CASE_AC TIVITY>();
  3016                                 }
  3017                                 el se if (pro ps != null  && props. Count() ==  3)
  3018                                 {
  3019                                      objRetur n = objRet urn.OrderB yDescendin g(s => s.G etType().G etProperty (props[0]) .GetValue( s).GetType ().GetProp erty(props [1]).GetVa lue(s.GetT ype().GetP roperty(pr ops[0]).Ge tValue(s)) .GetType() .GetProper ty(props[2 ]).GetValu e(s.GetTyp e().GetPro perty(prop s[0]).GetV alue(s).Ge tType().Ge tProperty( props[1]). GetValue(s .GetType() .GetProper ty(props[0 ]).GetValu e(s)))).To List<WKF_C ASE_ACTIVI TY>();
  3020                                 }
  3021                             }
  3022                             else
  3023                             {
  3024                                 ob jReturn =  objReturn. OrderByDes cending(s  => s.GetTy pe().GetPr operty(SOR T_EXPRESSI ON).GetVal ue(s)).ToL ist<WKF_CA SE_ACTIVIT Y>();
  3025                             }
  3026                         }
  3027                         else if (S ORT_EXPRES SION.Lengt h >= 3 &&  SORT_EXPRE SSION.Subs tring(SORT _EXPRESSIO N.Length -  3, 3).ToU pper() ==  "ASC")
  3028                         {
  3029                             SORT_E XPRESSION  = SORT_EXP RESSION.Su bstring(0,  SORT_EXPR ESSION.Len gth - 4);
  3030                             if (SO RT_EXPRESS ION.Contai ns("."))
  3031                             {
  3032                                 st ring[] pro ps = SORT_ EXPRESSION .Split('.' );
  3033                                 if  (props !=  null && p rops.Count () == 2)
  3034                                 {
  3035                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (props[0]) .GetValue( s).GetType ().GetProp erty(props [1]).GetVa lue(s.GetT ype().GetP roperty(pr ops[0]).Ge tValue(s)) ).ToList<W KF_CASE_AC TIVITY>();
  3036                                 }
  3037                                 el se if (pro ps != null  && props. Count() ==  3)
  3038                                 {
  3039                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (props[0]) .GetValue( s).GetType ().GetProp erty(props [1]).GetVa lue(s.GetT ype().GetP roperty(pr ops[0]).Ge tValue(s)) .GetType() .GetProper ty(props[2 ]).GetValu e(s.GetTyp e().GetPro perty(prop s[0]).GetV alue(s).Ge tType().Ge tProperty( props[1]). GetValue(s .GetType() .GetProper ty(props[0 ]).GetValu e(s)))).To List<WKF_C ASE_ACTIVI TY>();
  3040                                 }
  3041                             }
  3042                             else
  3043                             {
  3044                                 ob jReturn =  objReturn. OrderBy(s  => s.GetTy pe().GetPr operty(SOR T_EXPRESSI ON).GetVal ue(s)).ToL ist<WKF_CA SE_ACTIVIT Y>();
  3045                             }
  3046                         }
  3047                         else
  3048                         {
  3049                             if (SO RT_EXPRESS ION.Contai ns("."))
  3050                             {
  3051                                 st ring[] pro ps = SORT_ EXPRESSION .Split('.' );
  3052                                 if  (props !=  null && p rops.Count () == 2)
  3053                                 {
  3054                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (props[0]) .GetValue( s).GetType ().GetProp erty(props [1]).GetVa lue(s.GetT ype().GetP roperty(pr ops[0]).Ge tValue(s)) ).ToList<W KF_CASE_AC TIVITY>();
  3055                                 }
  3056                                 el se if (pro ps != null  && props. Count() ==  3)
  3057                                 {
  3058                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (props[0]) .GetValue( s).GetType ().GetProp erty(props [1]).GetVa lue(s.GetT ype().GetP roperty(pr ops[0]).Ge tValue(s)) .GetType() .GetProper ty(props[2 ]).GetValu e(s.GetTyp e().GetPro perty(prop s[0]).GetV alue(s).Ge tType().Ge tProperty( props[1]). GetValue(s .GetType() .GetProper ty(props[0 ]).GetValu e(s)))).To List<WKF_C ASE_ACTIVI TY>();
  3059                                 }
  3060                             }
  3061                             else
  3062                             {
  3063                                 ob jReturn =  objReturn. OrderBy(s  => s.GetTy pe().GetPr operty(SOR T_EXPRESSI ON).GetVal ue(s)).ToL ist<WKF_CA SE_ACTIVIT Y>();
  3064                             }
  3065                         }
  3066                    }
  3067                }
  3068  
  3069                return o bjReturn;
  3070           }
  3071  
  3072           pu blic stati c List<WKF _CASE_ACTI VITY> WKF_ CASE_ACTIV ITY_GET_AL L_BY_WORKS TREAM(stri ng CURRENT _USER, int  CURRENT_R EGISTRY_ID , int WKF_ CASE_ID)
  3073           {
  3074                WKF_CASE _ACTIVITY[ ] temp = s ervices.WK F_CASE_ACT IVITY_GET_ ALL_BY_WOR KSTREAM(CU RRENT_USER , CURRENT_ REGISTRY_I D, WKF_CAS E_ID);
  3075                if (temp  != null)
  3076                    retu rn temp.To List<WKF_C ASE_ACTIVI TY>();
  3077                return n ull;
  3078           }
  3079  
  3080           pu blic stati c List<WKF _CASE_ACTI VITY> WKF_ CASE_ACTIV ITY_GET_AL L_BY_WORKS TREAM(stri ng CURRENT _USER, int  CURRENT_R EGISTRY_ID , int WKF_ CASE_ID, s tring SEAR CH_COLUMN,  string SE ARCH_TEXT,  string SO RT_EXPRESS ION)
  3081           {
  3082                List<WKF _CASE_ACTI VITY> objR eturn = WK F_CASE_ACT IVITY_GET_ ALL_BY_WOR KSTREAM(CU RRENT_USER , CURRENT_ REGISTRY_I D, WKF_CAS E_ID);
  3083                if (objR eturn != n ull && obj Return.Cou nt != 0)
  3084                {
  3085                    if ( !string.Is NullOrEmpt y(SEARCH_C OLUMN) &&  !string.Is NullOrEmpt y(SEARCH_T EXT))
  3086                    {
  3087                         if (SEARCH _COLUMN.Co ntains("." ))
  3088                         {
  3089                             string [] props =  SEARCH_CO LUMN.Split ('.');
  3090                             if (pr ops != nul l && props .Count() = = 2)
  3091                             {
  3092                                 ob jReturn =  objReturn. Where(s =>  s.GetType ().GetProp erty(props [0]).GetVa lue(s).Get Type().Get Property(p rops[1]).G etValue(s. GetType(). GetPropert y(props[0] ).GetValue (s)).ToStr ing().ToLo wer().Cont ains(SEARC H_TEXT.ToL ower())).T oList<WKF_ CASE_ACTIV ITY>();
  3093                             }
  3094                             else i f (props ! = null &&  props.Coun t() == 3)
  3095                             {
  3096                                 //  objReturn  = objRetu rn.Where(s  => s.GetT ype().GetP roperty(pr ops[1]).Ge tValue(s). GetType(). GetPropert y(props[2] ).GetValue (s.GetType ().GetProp erty(props [0]).GetVa lue(s)).To String().T oLower().C ontains(SE ARCH_TEXT. ToLower()) ).ToList<W KF_CASE_AC TIVITY>();
  3097                             }
  3098                         }
  3099                         else
  3100                         {
  3101                             objRet urn = objR eturn.Wher e(w => w.G etType().G etProperty (SEARCH_CO LUMN).GetV alue(w) !=  null).ToL ist<WKF_CA SE_ACTIVIT Y>();
  3102                             objRet urn = objR eturn.Wher e(w => w.G etType().G etProperty (SEARCH_CO LUMN).GetV alue(w).To String().T oLower().C ontains(SE ARCH_TEXT. ToLower()) ).ToList<W KF_CASE_AC TIVITY>();
  3103                         }
  3104                    }
  3105                    if ( !string.Is NullOrEmpt y(SORT_EXP RESSION))
  3106                    {
  3107                         if (SORT_E XPRESSION. Length >=  4 && SORT_ EXPRESSION .Substring (SORT_EXPR ESSION.Len gth - 4, 4 ).ToUpper( ) == "DESC ")
  3108                         {
  3109                             SORT_E XPRESSION  = SORT_EXP RESSION.Su bstring(0,  SORT_EXPR ESSION.Len gth - 5);
  3110  
  3111                             if (SO RT_EXPRESS ION.Contai ns("."))
  3112                             {
  3113                                 st ring[] pro ps = SORT_ EXPRESSION .Split('.' );
  3114                                 if  (props !=  null && p rops.Count () == 2)
  3115                                 {
  3116                                      objRetur n = objRet urn.OrderB yDescendin g(s => s.G etType().G etProperty (props[0]) .GetValue( s).GetType ().GetProp erty(props [1]).GetVa lue(s.GetT ype().GetP roperty(pr ops[0]).Ge tValue(s)) ).ToList<W KF_CASE_AC TIVITY>();
  3117                                 }
  3118                                 el se if (pro ps != null  && props. Count() ==  3)
  3119                                 {
  3120                                      objRetur n = objRet urn.Where( s => s.Get Type().Get Property(p rops[1]).G etValue(s) .GetType() .GetProper ty(props[2 ]).GetValu e(s.GetTyp e().GetPro perty(prop s[0]).GetV alue(s)).T oString(). ToLower(). Contains(S EARCH_TEXT .ToLower() )).ToList< WKF_CASE_A CTIVITY>() ;
  3121                                 }
  3122                             }
  3123                             else
  3124                             {
  3125                                 ob jReturn =  objReturn. OrderByDes cending(s  => s.GetTy pe().GetPr operty(SOR T_EXPRESSI ON).GetVal ue(s)).ToL ist<WKF_CA SE_ACTIVIT Y>();
  3126                             }
  3127                         }
  3128                         else if (S ORT_EXPRES SION.Lengt h >= 3 &&  SORT_EXPRE SSION.Subs tring(SORT _EXPRESSIO N.Length -  3, 3).ToU pper() ==  "ASC")
  3129                         {
  3130                             SORT_E XPRESSION  = SORT_EXP RESSION.Su bstring(0,  SORT_EXPR ESSION.Len gth - 4);
  3131                             if (SO RT_EXPRESS ION.Contai ns("."))
  3132                             {
  3133                                 st ring[] pro ps = SORT_ EXPRESSION .Split('.' );
  3134                                 if  (props !=  null && p rops.Count () == 2)
  3135                                 {
  3136                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (props[0]) .GetValue( s).GetType ().GetProp erty(props [1]).GetVa lue(s.GetT ype().GetP roperty(pr ops[0]).Ge tValue(s)) ).ToList<W KF_CASE_AC TIVITY>();
  3137                                 }
  3138                                 el se if (pro ps != null  && props. Count() ==  3)
  3139                                 {
  3140                                 }
  3141                             }
  3142                             else
  3143                             {
  3144                                 ob jReturn =  objReturn. OrderBy(s  => s.GetTy pe().GetPr operty(SOR T_EXPRESSI ON).GetVal ue(s)).ToL ist<WKF_CA SE_ACTIVIT Y>();
  3145                             }
  3146                         }
  3147                         else
  3148                         {
  3149                             if (SO RT_EXPRESS ION.Contai ns("."))
  3150                             {
  3151                                 st ring[] pro ps = SORT_ EXPRESSION .Split('.' );
  3152                                 if  (props !=  null && p rops.Count () == 2)
  3153                                 {
  3154                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (props[0]) .GetValue( s).GetType ().GetProp erty(props [1]).GetVa lue(s.GetT ype().GetP roperty(pr ops[0]).Ge tValue(s)) ).ToList<W KF_CASE_AC TIVITY>();
  3155                                 }
  3156                                 el se if (pro ps != null  && props. Count() ==  3)
  3157                                 {
  3158                                      // objRe turn = obj Return.Ord erBy(s =>  s.GetType( ).GetPrope rty(props[ 0]).GetVal ue(s).GetT ype().GetP roperty(pr ops[1]).Ge tType().Ge tProperty( props[2]). GetValue(s .GetType() .GetProper ty(props[2 ]).GetValu e(s))).ToL ist<WKF_CA SE_ACTIVIT Y>();
  3159                                      //   obj Return = o bjReturn.O rderBy(s = > s.GetTyp e().GetPro perty(prop s[0]).GetV alue(s).Ge tType().Ge tProperty( props[1]). GetValue(s ).GetType( ).GetPrope rty(props[ 2]).GetVal ue(s.GetTy pe().GetPr operty(pro ps[1]).Get Value(s))) .ToList<WK F_CASE_ACT IVITY>();
  3160                                 }
  3161                             }
  3162                             else
  3163                             {
  3164                                 ob jReturn =  objReturn. OrderBy(s  => s.GetTy pe().GetPr operty(SOR T_EXPRESSI ON).GetVal ue(s)).ToL ist<WKF_CA SE_ACTIVIT Y>();
  3165                             }
  3166                         }
  3167                    }
  3168                }
  3169  
  3170                return o bjReturn;
  3171           }
  3172  
  3173           pu blic stati c bool WKF _CASE_ACTI VITY_UPDAT E_STATUS(s tring CURR ENT_USER,  int CURREN T_REGISTRY _ID, int W KF_CASE_AC TIVITY_ID,  int STD_W KFACTIVITY STS_ID)
  3174           {
  3175                return s ervices.WK F_CASE_ACT IVITY_UPDA TE_STATUS( CURRENT_US ER, CURREN T_REGISTRY _ID, WKF_C ASE_ACTIVI TY_ID, STD _WKFACTIVI TYSTS_ID);
  3176           }
  3177  
  3178           #e ndregion
  3179  
  3180           #r egion WKF_ CASE_ASSIG NMENT
  3181           #e ndregion
  3182  
  3183           #r egion WKF_ CASE_COMME NTS
  3184           #e ndregion
  3185  
  3186           #r egion LOGS
  3187  
  3188           pu blic stati c void Log Details(Lo gDetails l ogDetails)
  3189           {
  3190                services .LOG_DETAI LS(logDeta ils);
  3191           }
  3192  
  3193           pu blic stati c void Log Timing(Log Details lo gDetails)
  3194           {
  3195                services .LOG_TIMIN G(logDetai ls);
  3196           }
  3197  
  3198           pu blic stati c void Log Informatio n(string m essage, st ring proce ssName, st ring usern ame, int r egistryId)
  3199           {
  3200                services .LOG_INFOR MATION(mes sage, proc essName, u sername, r egistryId) ;
  3201           }
  3202  
  3203           pu blic stati c void Log Error(stri ng message , string p rocessName , string u sername, i nt registr yId)
  3204           {
  3205                services .LOG_ERROR (message,  processNam e, usernam e, registr yId);
  3206           }
  3207  
  3208           #e ndregion
  3209  
  3210           #r egion REPO RTS
  3211  
  3212           pu blic stati c List<Rep ortItem> R EPORTS_GET _ALL_BY_US ER_REGISTR Y(string C URRENT_USE R, int CUR RENT_REGIS TRY_ID)
  3213           {
  3214                ReportIt em[] temp  = services .REPORTS_G ET_ALL_BY_ USER_REGIS TRY(CURREN T_USER, CU RRENT_REGI STRY_ID);
  3215                if (temp  != null)
  3216                    retu rn temp.To List<Repor tItem>();
  3217                return n ull;
  3218           }
  3219  
  3220           pu blic stati c List<Rep ortItem> R EPORTS_GET _ALL_BY_US ER_REGISTR Y(string C URRENT_USE R, int CUR RENT_REGIS TRY_ID, st ring SEARC H_COLUMN,  string SEA RCH_TEXT,  string SOR T_EXPRESSI ON)
  3221           {
  3222                List<Rep ortItem> o bjReturn =  REPORTS_G ET_ALL_BY_ USER_REGIS TRY(CURREN T_USER, CU RRENT_REGI STRY_ID);
  3223                if (objR eturn != n ull)
  3224                {
  3225                    if ( objReturn  != null &&  objReturn .Count !=  0)
  3226                    {
  3227                         if (!strin g.IsNullOr Empty(SEAR CH_COLUMN)  && !strin g.IsNullOr Empty(SEAR CH_TEXT))
  3228                         {
  3229                             if (SE ARCH_COLUM N.Contains ("."))
  3230                             {
  3231                                 st ring[] pro ps = SEARC H_COLUMN.S plit('.');
  3232                                 if  (props !=  null && p rops.Count () == 2)
  3233                                 {
  3234                                      objRetur n = objRet urn.Where( s => s.Get Type().Get Property(p rops[0]).G etValue(s) .GetType() .GetProper ty(props[1 ]).GetValu e(s.GetTyp e().GetPro perty(prop s[0]).GetV alue(s)).T oString(). ToLower(). Contains(S EARCH_TEXT .ToLower() )).ToList< ReportItem >();
  3235                                 }
  3236                             }
  3237                             else
  3238                             {
  3239                                 ob jReturn =  objReturn. Where(w =>  w.GetType ().GetProp erty(SEARC H_COLUMN). GetValue(w ) != null) .ToList<Re portItem>( );
  3240                                 ob jReturn =  objReturn. Where(w =>  w.GetType ().GetProp erty(SEARC H_COLUMN). GetValue(w ).ToString ().ToLower ().Contain s(SEARCH_T EXT.ToLowe r())).ToLi st<ReportI tem>();
  3241                             }
  3242                         }
  3243                         if (!strin g.IsNullOr Empty(SORT _EXPRESSIO N))
  3244                         {
  3245                             if (SO RT_EXPRESS ION.Length  >= 4 && S ORT_EXPRES SION.Subst ring(SORT_ EXPRESSION .Length -  4, 4).ToUp per() == " DESC")
  3246                             {
  3247                                 SO RT_EXPRESS ION = SORT _EXPRESSIO N.Substrin g(0, SORT_ EXPRESSION .Length -  5);
  3248  
  3249                                 if  (SORT_EXP RESSION.Co ntains("." ))
  3250                                 {
  3251                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  3252                                      if (prop s != null  && props.C ount() ==  2)
  3253                                      {
  3254                                          objR eturn = ob jReturn.Or derByDesce nding(s =>  s.GetType ().GetProp erty(props [0]).GetVa lue(s).Get Type().Get Property(p rops[1]).G etValue(s. GetType(). GetPropert y(props[0] ).GetValue (s))).ToLi st<ReportI tem>();
  3255                                      }
  3256                                      else if  (props !=  null && pr ops.Count( ) == 3)
  3257                                      {
  3258                                      }
  3259                                 }
  3260                                 el se
  3261                                 {
  3262                                      objRetur n = objRet urn.OrderB yDescendin g(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<Re portItem>( );
  3263                                 }
  3264                             }
  3265                             else i f (SORT_EX PRESSION.L ength >= 3  && SORT_E XPRESSION. Substring( SORT_EXPRE SSION.Leng th - 3, 3) .ToUpper()  == "ASC")
  3266                             {
  3267                                 SO RT_EXPRESS ION = SORT _EXPRESSIO N.Substrin g(0, SORT_ EXPRESSION .Length -  4);
  3268                                 if  (SORT_EXP RESSION.Co ntains("." ))
  3269                                 {
  3270                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  3271                                      if (prop s != null  && props.C ount() ==  2)
  3272                                      {
  3273                                          objR eturn = ob jReturn.Or derBy(s =>  s.GetType ().GetProp erty(props [0]).GetVa lue(s).Get Type().Get Property(p rops[1]).G etValue(s. GetType(). GetPropert y(props[0] ).GetValue (s))).ToLi st<ReportI tem>();
  3274                                      }
  3275                                      else if  (props !=  null && pr ops.Count( ) == 3)
  3276                                      {
  3277                                      }
  3278                                 }
  3279                                 el se
  3280                                 {
  3281                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<Re portItem>( );
  3282                                 }
  3283                             }
  3284                             else
  3285                             {
  3286                                 if  (SORT_EXP RESSION.Co ntains("." ))
  3287                                 {
  3288                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  3289                                      if (prop s != null  && props.C ount() ==  2)
  3290                                      {
  3291                                          objR eturn = ob jReturn.Or derBy(s =>  s.GetType ().GetProp erty(props [0]).GetVa lue(s).Get Type().Get Property(p rops[1]).G etValue(s. GetType(). GetPropert y(props[0] ).GetValue (s))).ToLi st<ReportI tem>();
  3292                                      }
  3293                                      else if  (props !=  null && pr ops.Count( ) == 3)
  3294                                      {
  3295                                      }
  3296                                 }
  3297                                 el se
  3298                                 {
  3299                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<Re portItem>( );
  3300                                 }
  3301                             }
  3302                         }
  3303                    }
  3304                }
  3305  
  3306                return o bjReturn;
  3307           }
  3308  
  3309           pu blic stati c List<Rep ortItem> R EPORTS_GET _ALL_BY_RE GISTRY(str ing CURREN T_USER, in t CURRENT_ REGISTRY_I D)
  3310           {
  3311                ReportIt em[] temp  = services .REPORTS_G ET_ALL_BY_ REGISTRY(C URRENT_USE R, CURRENT _REGISTRY_ ID);
  3312                if (temp  != null)
  3313                    retu rn temp.To List<Repor tItem>();
  3314                return n ull;
  3315           }
  3316  
  3317           pu blic stati c List<Rep ortItem> R EPORTS_GET _ALL_SYSTE M(string C URRENT_USE R, int CUR RENT_REGIS TRY_ID)
  3318           {
  3319                ReportIt em[] temp  = services .REPORTS_G ET_ALL_SYS TEM(CURREN T_USER, CU RRENT_REGI STRY_ID);
  3320                if (temp  != null)
  3321                    retu rn temp.To List<Repor tItem>();
  3322                return n ull;
  3323           }
  3324  
  3325           pu blic stati c List<Rep ortItem> R EPORTS_GET _ALL_BY_US ER(string  CURRENT_US ER, int CU RRENT_REGI STRY_ID)
  3326           {
  3327                ReportIt em[] temp  = services .REPORTS_G ET_ALL_BY_ USER(CURRE NT_USER, C URRENT_REG ISTRY_ID);
  3328                if (temp  != null)
  3329                    retu rn temp.To List<Repor tItem>();
  3330                return n ull;
  3331           }
  3332  
  3333           pu blic stati c bool REP ORTS_UPDAT E_ITEM_PRO PERTIES(st ring CURRE NT_USER, i nt CURRENT _REGISTRY_ ID, string  ITEM_PATH , string D ESCRIPTION )
  3334           {
  3335                return s ervices.RE PORTS_UPDA TE_ITEM_PR OPERTIES(C URRENT_USE R, CURRENT _REGISTRY_ ID, ITEM_P ATH, DESCR IPTION);
  3336           }
  3337  
  3338           #e ndregion
  3339  
  3340           #r egion APPS ETTINGS
  3341  
  3342           pu blic stati c AppSetti ngs APPSET TINGS_GET( string ide ntity, int  registryI d)
  3343           {
  3344                return s ervices.AP PSETTINGS_ GET(identi ty, regist ryId);
  3345           }
  3346  
  3347           pu blic stati c bool APP SETTINGS_S AVE(string  identity,  int regis tryId, App Settings a ppSettings )
  3348           {
  3349                return s ervices.AP PSETTINGS_ SAVE(ident ity, regis tryId, app Settings);
  3350           }
  3351  
  3352           pu blic stati c void APP SETTINGS_S AVE_TO_CON FIG(AppSet tings appS ettings)
  3353           {
  3354                try
  3355                {
  3356                    serv ices.APPSE TTINGS_SAV E_TO_CONFI G(appSetti ngs);
  3357                }
  3358                catch // (Exception  ex)
  3359                {
  3360                    //Do  nothing,  error has  already be en logged
  3361                }
  3362           }
  3363  
  3364           pu blic stati c string R EPORTS_GET _SERVER_UR L()
  3365           {
  3366                return s ervices.RE PORTS_GET_ SERVER_URL ();
  3367           }
  3368  
  3369           pu blic stati c string R EPORTS_GET _BUILDER_U RL()
  3370           {
  3371                return s ervices.RE PORTS_GET_ BUILDER_UR L();
  3372           }
  3373  
  3374           pu blic stati c int GET_ SQL_COMMAN D_TIMEOUT( )
  3375           {
  3376                return s ervices.GE T_SQL_COMM AND_TIMEOU T();
  3377           }
  3378  
  3379           #e ndregion
  3380  
  3381           #r egion MVI
  3382  
  3383           pu blic stati c bool PRP A_IN201305 UV02(strin g CURRENT_ USER, int  CURRENT_RE GISTRY_ID,  int CURRE NT_PATIENT _ID, int M VI_TYPE_ID )
  3384           {
  3385                //Moved  MVI functi onality to  it's own  service en dpoint, 
  3386                //will n eed to add  a new ser vice refer ence if MV I function ality is n eeded in t he GUI
  3387                //return  services. PRPA_IN201 305UV02(CU RRENT_USER , CURRENT_ REGISTRY_I D, CURRENT _PATIENT_I D, MVI_TYP E_ID);
  3388                return f alse;
  3389           }
  3390  
  3391           pu blic stati c bool PRP A_IN201309 UV02(strin g CURRENT_ USER, int  CURRENT_RE GISTRY_ID,  int CURRE NT_PATIENT _ID)
  3392           {
  3393                //Moved  MVI functi onality to  it's own  service en dpoint, 
  3394                //will n eed to add  a new ser vice refer ence if MV I function ality is n eeded in t he GUI
  3395                //return  services. PRPA_IN201 309UV02(CU RRENT_USER , CURRENT_ REGISTRY_I D, CURRENT _PATIENT_I D);
  3396                return f alse;
  3397           }
  3398  
  3399           #e ndregion
  3400  
  3401           #r egion FRAM EWORK_DATA
  3402  
  3403           pu blic stati c ENC_ENCO UNTER ENC_ ENCOUNTER_ GET_BY_REF ERRAL(stri ng CURRENT _USER, int  CURRENT_R EGISTRY_ID , int CURR ENT_REFERR AL_ID)
  3404           {
  3405                ENC_ENCO UNTER[] te mp = servi ces.ENC_EN COUNTER_GE T_BY_REFER RAL(CURREN T_USER, CU RRENT_REGI STRY_ID, C URRENT_REF ERRAL_ID);
  3406                if (temp  != null)
  3407                    retu rn temp.To List<ENC_E NCOUNTER>( ).FirstOrD efault();
  3408                return n ull;
  3409           }
  3410  
  3411           pu blic stati c ALLERGY  ALLERGY_GE T_BY_REFER RAL(string  CURRENT_U SER, int C URRENT_REG ISTRY_ID,  int CURREN T_REFERRAL _ID)
  3412           {
  3413                ALLERGY[ ] temp = s ervices.AL LERGY_GET_ BY_REFERRA L(CURRENT_ USER, CURR ENT_REGIST RY_ID, CUR RENT_REFER RAL_ID);
  3414                if (temp  != null)
  3415                    retu rn temp.To List<ALLER GY>().Firs tOrDefault ();
  3416                return n ull;
  3417           }
  3418  
  3419           pu blic stati c A06_AUDI OMETRIC_EX AM_DATA_50 9850_9 A06 _AUDIOMETR IC_EXAM_DA TA_509850_ 9_GET_BY_R EFERRAL(st ring CURRE NT_USER, i nt CURRENT _REGISTRY_ ID, int CU RRENT_REFE RRAL_ID)
  3420           {
  3421                A06_AUDI OMETRIC_EX AM_DATA_50 9850_9[] t emp = serv ices.A06_A UDIOMETRIC _EXAM_DATA _509850_9_ GET_BY_REF ERRAL(CURR ENT_USER,  CURRENT_RE GISTRY_ID,  CURRENT_R EFERRAL_ID );
  3422                if (temp  != null)
  3423                    retu rn temp.To List<A06_A UDIOMETRIC _EXAM_DATA _509850_9> ().FirstOr Default();
  3424                return n ull;
  3425           }
  3426  
  3427           pu blic stati c CONSULT  CONSULT_GE T_BY_REFER RAL(string  CURRENT_U SER, int C URRENT_REG ISTRY_ID,  int CURREN T_REFERRAL _ID)
  3428           {
  3429                CONSULT[ ] temp = s ervices.CO NSULT_GET_ BY_REFERRA L(CURRENT_ USER, CURR ENT_REGIST RY_ID, CUR RENT_REFER RAL_ID);
  3430                if (temp  != null)
  3431                    retu rn temp.To List<CONSU LT>().Firs tOrDefault ();
  3432                return n ull;
  3433           }
  3434  
  3435           pu blic stati c EDISLOG  EDISLOG_GE T_BY_REFER RAL(string  CURRENT_U SER, int C URRENT_REG ISTRY_ID,  int CURREN T_REFERRAL _ID)
  3436           {
  3437                EDISLOG[ ] temp = s ervices.ED ISLOG_GET_ BY_REFERRA L(CURRENT_ USER, CURR ENT_REGIST RY_ID, CUR RENT_REFER RAL_ID);
  3438                if (temp  != null)
  3439                    retu rn temp.To List<EDISL OG>().Firs tOrDefault ();
  3440                return n ull;
  3441           }
  3442  
  3443           pu blic stati c IMMUNIZA TION IMMUN IZATION_GE T_BY_REFER RAL(string  CURRENT_U SER, int C URRENT_REG ISTRY_ID,  int CURREN T_REFERRAL _ID)
  3444           {
  3445                IMMUNIZA TION[] tem p = servic es.IMMUNIZ ATION_GET_ BY_REFERRA L(CURRENT_ USER, CURR ENT_REGIST RY_ID, CUR RENT_REFER RAL_ID);
  3446                if (temp  != null)
  3447                    retu rn temp.To List<IMMUN IZATION>() .FirstOrDe fault();
  3448                return n ull;
  3449           }
  3450  
  3451           pu blic stati c INPAT_IN PATIENT IN PAT_INPATI ENT_GET_BY _REFERRAL( string CUR RENT_USER,  int CURRE NT_REGISTR Y_ID, int  CURRENT_RE FERRAL_ID)
  3452           {
  3453                INPAT_IN PATIENT[]  temp = ser vices.INPA T_INPATIEN T_GET_BY_R EFERRAL(CU RRENT_USER , CURRENT_ REGISTRY_I D, CURRENT _REFERRAL_ ID);
  3454                if (temp  != null)
  3455                    retu rn temp.To List<INPAT _INPATIENT >().FirstO rDefault() ;
  3456                return n ull;
  3457           }
  3458  
  3459           pu blic stati c INPAT_CE NSUS INPAT _CENSUS_GE T_BY_REFER RAL(string  CURRENT_U SER, int C URRENT_REG ISTRY_ID,  int CURREN T_REFERRAL _ID)
  3460           {
  3461                INPAT_CE NSUS[] tem p = servic es.INPAT_C ENSUS_GET_ BY_REFERRA L(CURRENT_ USER, CURR ENT_REGIST RY_ID, CUR RENT_REFER RAL_ID);
  3462                if (temp  != null)
  3463                    retu rn temp.To List<INPAT _CENSUS>() .FirstOrDe fault();
  3464                return n ull;
  3465           }
  3466  
  3467           pu blic stati c INPATIEN T_DIAGNOSI S INPATIEN T_DIAGNOSI S_GET_BY_R EFERRAL(st ring CURRE NT_USER, i nt CURRENT _REGISTRY_ ID, int CU RRENT_REFE RRAL_ID)
  3468           {
  3469                INPATIEN T_DIAGNOSI S[] temp =  services. INPATIENT_ DIAGNOSIS_ GET_BY_REF ERRAL(CURR ENT_USER,  CURRENT_RE GISTRY_ID,  CURRENT_R EFERRAL_ID );
  3470                if (temp  != null)
  3471                    retu rn temp.To List<INPAT IENT_DIAGN OSIS>().Fi rstOrDefau lt();
  3472                return n ull;
  3473           }
  3474  
  3475           pu blic stati c CHEM_LAB CHEM CHEM_ LABCHEM_GE T_BY_REFER RAL(string  CURRENT_U SER, int C URRENT_REG ISTRY_ID,  int CURREN T_REFERRAL _ID)
  3476           {
  3477                CHEM_LAB CHEM[] tem p = servic es.CHEM_LA BCHEM_GET_ BY_REFERRA L(CURRENT_ USER, CURR ENT_REGIST RY_ID, CUR RENT_REFER RAL_ID);
  3478                if (temp  != null)
  3479                    retu rn temp.To List<CHEM_ LABCHEM>() .FirstOrDe fault();
  3480                return n ull;
  3481           }
  3482  
  3483           pu blic stati c OUTPAT_V ISIT OUTPA T_VISIT_GE T_BY_REFER RAL(string  CURRENT_U SER, int C URRENT_REG ISTRY_ID,  int CURREN T_REFERRAL _ID)
  3484           {
  3485                OUTPAT_V ISIT[] tem p = servic es.OUTPAT_ VISIT_GET_ BY_REFERRA L(CURRENT_ USER, CURR ENT_REGIST RY_ID, CUR RENT_REFER RAL_ID);
  3486                if (temp  != null)
  3487                    retu rn temp.To List<OUTPA T_VISIT>() .FirstOrDe fault();
  3488                return n ull;
  3489           }
  3490  
  3491           pu blic stati c SCONSULT _REASON SC ONSULT_REA SON_GET_BY _REFERRAL( string CUR RENT_USER,  int CURRE NT_REGISTR Y_ID, int  CURRENT_RE FERRAL_ID)
  3492           {
  3493                SCONSULT _REASON[]  temp = ser vices.SCON SULT_REASO N_GET_BY_R EFERRAL(CU RRENT_USER , CURRENT_ REGISTRY_I D, CURRENT _REFERRAL_ ID);
  3494                if (temp  != null)
  3495                    retu rn temp.To List<SCONS ULT_REASON >().FirstO rDefault() ;
  3496                return n ull;
  3497           }
  3498  
  3499           pu blic stati c PATSUB_S ECONDARYEL IGIBILITY  PATSUB_SEC ONDARYELIG IBILITY_GE T_BY_REFER RAL(string  CURRENT_U SER, int C URRENT_REG ISTRY_ID,  int CURREN T_REFERRAL _ID)
  3500           {
  3501                PATSUB_S ECONDARYEL IGIBILITY[ ] temp = s ervices.PA TSUB_SECON DARYELIGIB ILITY_GET_ BY_REFERRA L(CURRENT_ USER, CURR ENT_REGIST RY_ID, CUR RENT_REFER RAL_ID);
  3502                if (temp  != null)
  3503                    retu rn temp.To List<PATSU B_SECONDAR YELIGIBILI TY>().Firs tOrDefault ();
  3504                return n ull;
  3505           }
  3506  
  3507           pu blic stati c PATIENT_ ENROLLMENT  PATIENT_E NROLLMENT_ GET_BY_REF ERRAL(stri ng CURRENT _USER, int  CURRENT_R EGISTRY_ID , int CURR ENT_REFERR AL_ID)
  3508           {
  3509                PATIENT_ ENROLLMENT [] temp =  services.P ATIENT_ENR OLLMENT_GE T_BY_REFER RAL(CURREN T_USER, CU RRENT_REGI STRY_ID, C URRENT_REF ERRAL_ID);
  3510                if (temp  != null)
  3511                    retu rn temp.To List<PATIE NT_ENROLLM ENT>().Fir stOrDefaul t();
  3512                return n ull;
  3513           }
  3514  
  3515           pu blic stati c PATIENT_ ETHNICITY  PATIENT_ET HNICITY_GE T_BY_REFER RAL(string  CURRENT_U SER, int C URRENT_REG ISTRY_ID,  int CURREN T_REFERRAL _ID)
  3516           {
  3517                PATIENT_ ETHNICITY[ ] temp = s ervices.PA TIENT_ETHN ICITY_GET_ BY_REFERRA L(CURRENT_ USER, CURR ENT_REGIST RY_ID, CUR RENT_REFER RAL_ID);
  3518                if (temp  != null)
  3519                    retu rn temp.To List<PATIE NT_ETHNICI TY>().Firs tOrDefault ();
  3520                return n ull;
  3521           }
  3522  
  3523           pu blic stati c A06_SPAT IENT_GEOCO DEDADDRESS  A06_SPATI ENT_GEOCOD EDADDRESS_ GET_BY_REF ERRAL(stri ng CURRENT _USER, int  CURRENT_R EGISTRY_ID , int CURR ENT_REFERR AL_ID)
  3524           {
  3525                A06_SPAT IENT_GEOCO DEDADDRESS [] temp =  services.A 06_SPATIEN T_GEOCODED ADDRESS_GE T_BY_REFER RAL(CURREN T_USER, CU RRENT_REGI STRY_ID, C URRENT_REF ERRAL_ID);
  3526                if (temp  != null)
  3527                    retu rn temp.To List<A06_S PATIENT_GE OCODEDADDR ESS>().Fir stOrDefaul t();
  3528                return n ull;
  3529           }
  3530  
  3531           pu blic stati c SPATIENT _SPATIENTI NSURANCE S PATIENT_SP ATIENTINSU RANCE_GET_ BY_REFERRA L(string C URRENT_USE R, int CUR RENT_REGIS TRY_ID, in t CURRENT_ REFERRAL_I D)
  3532           {
  3533                SPATIENT _SPATIENTI NSURANCE[]  temp = se rvices.SPA TIENT_SPAT IENTINSURA NCE_GET_BY _REFERRAL( CURRENT_US ER, CURREN T_REGISTRY _ID, CURRE NT_REFERRA L_ID);
  3534                if (temp  != null)
  3535                    retu rn temp.To List<SPATI ENT_SPATIE NTINSURANC E>().First OrDefault( );
  3536                return n ull;
  3537           }
  3538  
  3539           pu blic stati c MILITARY _SERVICE_E PISODE MIL ITARY_SERV ICE_EPISOD E_GET_BY_R EFERRAL(st ring CURRE NT_USER, i nt CURRENT _REGISTRY_ ID, int CU RRENT_REFE RRAL_ID)
  3540           {
  3541                MILITARY _SERVICE_E PISODE[] t emp = serv ices.MILIT ARY_SERVIC E_EPISODE_ GET_BY_REF ERRAL(CURR ENT_USER,  CURRENT_RE GISTRY_ID,  CURRENT_R EFERRAL_ID );
  3542                if (temp  != null)
  3543                    retu rn temp.To List<MILIT ARY_SERVIC E_EPISODE> ().FirstOr Default();
  3544                return n ull;
  3545           }
  3546  
  3547           pu blic stati c MILITARY _SEXUAL_TR AUMA MILIT ARY_SEXUAL _TRAUMA_GE T_BY_REFER RAL(string  CURRENT_U SER, int C URRENT_REG ISTRY_ID,  int CURREN T_REFERRAL _ID)
  3548           {
  3549                MILITARY _SEXUAL_TR AUMA[] tem p = servic es.MILITAR Y_SEXUAL_T RAUMA_GET_ BY_REFERRA L(CURRENT_ USER, CURR ENT_REGIST RY_ID, CUR RENT_REFER RAL_ID);
  3550                if (temp  != null)
  3551                    retu rn temp.To List<MILIT ARY_SEXUAL _TRAUMA>() .FirstOrDe fault();
  3552                return n ull;
  3553           }
  3554  
  3555           pu blic stati c OEFOIF_S ERVICE OEF OIF_SERVIC E_GET_BY_R EFERRAL(st ring CURRE NT_USER, i nt CURRENT _REGISTRY_ ID, int CU RRENT_REFE RRAL_ID)
  3556           {
  3557                OEFOIF_S ERVICE[] t emp = serv ices.OEFOI F_SERVICE_ GET_BY_REF ERRAL(CURR ENT_USER,  CURRENT_RE GISTRY_ID,  CURRENT_R EFERRAL_ID );
  3558                if (temp  != null)
  3559                    retu rn temp.To List<OEFOI F_SERVICE> ().FirstOr Default();
  3560                return n ull;
  3561           }
  3562  
  3563           pu blic stati c PHARMACY _PATIENT P HARMACY_PA TIENT_GET_ BY_REFERRA L(string C URRENT_USE R, int CUR RENT_REGIS TRY_ID, in t CURRENT_ REFERRAL_I D)
  3564           {
  3565                PHARMACY _PATIENT[]  temp = se rvices.PHA RMACY_PATI ENT_GET_BY _REFERRAL( CURRENT_US ER, CURREN T_REGISTRY _ID, CURRE NT_REFERRA L_ID);
  3566                if (temp  != null)
  3567                    retu rn temp.To List<PHARM ACY_PATIEN T>().First OrDefault( );
  3568                return n ull;
  3569           }
  3570  
  3571           pu blic stati c NOSETHRO AT_RADIUMH ST NOSETHR OAT_RADIUM HST_GET_BY _REFERRAL( string CUR RENT_USER,  int CURRE NT_REGISTR Y_ID, int  CURRENT_RE FERRAL_ID)
  3572           {
  3573                NOSETHRO AT_RADIUMH ST[] temp  = services .NOSETHROA T_RADIUMHS T_GET_BY_R EFERRAL(CU RRENT_USER , CURRENT_ REGISTRY_I D, CURRENT _REFERRAL_ ID);
  3574                if (temp  != null)
  3575                    retu rn temp.To List<NOSET HROAT_RADI UMHST>().F irstOrDefa ult();
  3576                return n ull;
  3577           }
  3578  
  3579           pu blic stati c SERVICE_ CONNECTED_ CONDITION  SERVICE_CO NNECTED_CO NDITION_GE T_BY_REFER RAL(string  CURRENT_U SER, int C URRENT_REG ISTRY_ID,  int CURREN T_REFERRAL _ID)
  3580           {
  3581                SERVICE_ CONNECTED_ CONDITION[ ] temp = s ervices.SE RVICE_CONN ECTED_COND ITION_GET_ BY_REFERRA L(CURRENT_ USER, CURR ENT_REGIST RY_ID, CUR RENT_REFER RAL_ID);
  3582                if (temp  != null)
  3583                    retu rn temp.To List<SERVI CE_CONNECT ED_CONDITI ON>().Firs tOrDefault ();
  3584                return n ull;
  3585           }
  3586  
  3587           pu blic stati c PATSUB_V ARATEDDISA BILITY PAT SUB_VARATE DDISABILIT Y_GET_BY_R EFERRAL(st ring CURRE NT_USER, i nt CURRENT _REGISTRY_ ID, int CU RRENT_REFE RRAL_ID)
  3588           {
  3589                PATSUB_V ARATEDDISA BILITY[] t emp = serv ices.PATSU B_VARATEDD ISABILITY_ GET_BY_REF ERRAL(CURR ENT_USER,  CURRENT_RE GISTRY_ID,  CURRENT_R EFERRAL_ID );
  3590                if (temp  != null)
  3591                    retu rn temp.To List<PATSU B_VARATEDD ISABILITY> ().FirstOr Default();
  3592                return n ull;
  3593           }
  3594  
  3595           pu blic stati c A06_PHAR MACY_PATIE NT_55X_IV_ 55_01 A06_ PHARMACY_P ATIENT_55X _IV_55_01_ GET_BY_REF ERRAL(stri ng CURRENT _USER, int  CURRENT_R EGISTRY_ID , int CURR ENT_REFERR AL_ID)
  3596           {
  3597                A06_PHAR MACY_PATIE NT_55X_IV_ 55_01[] te mp = servi ces.A06_PH ARMACY_PAT IENT_55X_I V_55_01_GE T_BY_REFER RAL(CURREN T_USER, CU RRENT_REGI STRY_ID, C URRENT_REF ERRAL_ID);
  3598                if (temp  != null)
  3599                    retu rn temp.To List<A06_P HARMACY_PA TIENT_55X_ IV_55_01>( ).FirstOrD efault();
  3600                return n ull;
  3601           }
  3602  
  3603           pu blic stati c A06_PHAR MACY_PATIX _UNIT_DOSE _55_06 A06 _PHARMACY_ PATIX_UNIT _DOSE_55_0 6_GET_BY_R EFERRAL(st ring CURRE NT_USER, i nt CURRENT _REGISTRY_ ID, int CU RRENT_REFE RRAL_ID)
  3604           {
  3605                A06_PHAR MACY_PATIX _UNIT_DOSE _55_06[] t emp = serv ices.A06_P HARMACY_PA TIX_UNIT_D OSE_55_06_ GET_BY_REF ERRAL(CURR ENT_USER,  CURRENT_RE GISTRY_ID,  CURRENT_R EFERRAL_ID );
  3606                if (temp  != null)
  3607                    retu rn temp.To List<A06_P HARMACY_PA TIX_UNIT_D OSE_55_06> ().FirstOr Default();
  3608                return n ull;
  3609           }
  3610  
  3611           pu blic stati c A06_PHAR MACY_PATX_ NONVA_MEDS _55_05 A06 _PHARMACY_ PATX_NONVA _MEDS_55_0 5_GET_BY_R EFERRAL(st ring CURRE NT_USER, i nt CURRENT _REGISTRY_ ID, int CU RRENT_REFE RRAL_ID)
  3612           {
  3613                A06_PHAR MACY_PATX_ NONVA_MEDS _55_05[] t emp = serv ices.A06_P HARMACY_PA TX_NONVA_M EDS_55_05_ GET_BY_REF ERRAL(CURR ENT_USER,  CURRENT_RE GISTRY_ID,  CURRENT_R EFERRAL_ID );
  3614                if (temp  != null)
  3615                    retu rn temp.To List<A06_P HARMACY_PA TX_NONVA_M EDS_55_05> ().FirstOr Default();
  3616                return n ull;
  3617           }
  3618  
  3619           pu blic stati c RXOUTPAT  RXOUTPAT_ GET_BY_REF ERRAL(stri ng CURRENT _USER, int  CURRENT_R EGISTRY_ID , int CURR ENT_REFERR AL_ID)
  3620           {
  3621                RXOUTPAT [] temp =  services.R XOUTPAT_GE T_BY_REFER RAL(CURREN T_USER, CU RRENT_REGI STRY_ID, C URRENT_REF ERRAL_ID);
  3622                if (temp  != null)
  3623                    retu rn temp.To List<RXOUT PAT>().Fir stOrDefaul t();
  3624                return n ull;
  3625           }
  3626  
  3627           pu blic stati c OUTPAT_P ROBLEMLIST  OUTPAT_PR OBLEMLIST_ GET_BY_REF ERRAL(stri ng CURRENT _USER, int  CURRENT_R EGISTRY_ID , int CURR ENT_REFERR AL_ID)
  3628           {
  3629                OUTPAT_P ROBLEMLIST [] temp =  services.O UTPAT_PROB LEMLIST_GE T_BY_REFER RAL(CURREN T_USER, CU RRENT_REGI STRY_ID, C URRENT_REF ERRAL_ID);
  3630                if (temp  != null)
  3631                    retu rn temp.To List<OUTPA T_PROBLEML IST>().Fir stOrDefaul t();
  3632                return n ull;
  3633           }
  3634  
  3635           pu blic stati c TIU_TIUD OCUMENT TI U_TIUDOCUM ENT_GET_BY _REFERRAL( string CUR RENT_USER,  int CURRE NT_REGISTR Y_ID, int  CURRENT_RE FERRAL_ID)
  3636           {
  3637                TIU_TIUD OCUMENT[]  temp = ser vices.TIU_ TIUDOCUMEN T_GET_BY_R EFERRAL(CU RRENT_USER , CURRENT_ REGISTRY_I D, CURRENT _REFERRAL_ ID);
  3638                if (temp  != null)
  3639                    retu rn temp.To List<TIU_T IUDOCUMENT >().FirstO rDefault() ;
  3640                return n ull;
  3641           }
  3642  
  3643           pu blic stati c RADIOLOG YEXAM RADI OLOGYEXAM_ GET_BY_REF ERRAL(stri ng CURRENT _USER, int  CURRENT_R EGISTRY_ID , int CURR ENT_REFERR AL_ID)
  3644           {
  3645                RADIOLOG YEXAM[] te mp = servi ces.RADIOL OGYEXAM_GE T_BY_REFER RAL(CURREN T_USER, CU RRENT_REGI STRY_ID, C URRENT_REF ERRAL_ID);
  3646                if (temp  != null)
  3647                    retu rn temp.To List<RADIO LOGYEXAM>( ).FirstOrD efault();
  3648                return n ull;
  3649           }
  3650  
  3651           pu blic stati c SPATIENT _NEW SPATI ENT_NEW_GE T_BY_REFER RAL(string  CURRENT_U SER, int C URRENT_REG ISTRY_ID,  int CURREN T_REFERRAL _ID)
  3652           {
  3653                SPATIENT _NEW[] tem p = servic es.SPATIEN T_NEW_GET_ BY_REFERRA L(CURRENT_ USER, CURR ENT_REGIST RY_ID, CUR RENT_REFER RAL_ID);
  3654                if (temp  != null)
  3655                    retu rn temp.To List<SPATI ENT_NEW>() .FirstOrDe fault();
  3656                return n ull;
  3657           }
  3658  
  3659           pu blic stati c OUTPAT_V DIAGNOSIS  OUTPAT_VDI AGNOSIS_GE T_BY_REFER RAL(string  CURRENT_U SER, int C URRENT_REG ISTRY_ID,  int CURREN T_REFERRAL _ID)
  3660           {
  3661                OUTPAT_V DIAGNOSIS[ ] temp = s ervices.OU TPAT_VDIAG NOSIS_GET_ BY_REFERRA L(CURRENT_ USER, CURR ENT_REGIST RY_ID, CUR RENT_REFER RAL_ID);
  3662                if (temp  != null)
  3663                    retu rn temp.To List<OUTPA T_VDIAGNOS IS>().Firs tOrDefault ();
  3664                return n ull;
  3665           }
  3666  
  3667           pu blic stati c VITALSIG N VITALSIG N_GET_BY_R EFERRAL(st ring CURRE NT_USER, i nt CURRENT _REGISTRY_ ID, int CU RRENT_REFE RRAL_ID)
  3668           {
  3669                VITALSIG N[] temp =  services. VITALSIGN_ GET_BY_REF ERRAL(CURR ENT_USER,  CURRENT_RE GISTRY_ID,  CURRENT_R EFERRAL_ID );
  3670                if (temp  != null)
  3671                    retu rn temp.To List<VITAL SIGN>().Fi rstOrDefau lt();
  3672                return n ull;
  3673           }
  3674  
  3675           pu blic stati c LabScree ning LABSC REENING_GE T_BY_REFER RAL(string  CURRENT_U SER, int C URRENT_REG ISTRY_ID,  int CURREN T_REFERRAL _ID)
  3676           {
  3677                LabScree ning[] tem p = servic es.LABSCRE ENING_GET_ BY_REFERRA L(CURRENT_ USER, CURR ENT_REGIST RY_ID, CUR RENT_REFER RAL_ID);
  3678                if (temp  != null)
  3679                    retu rn temp.To List<LabSc reening>() .FirstOrDe fault();
  3680                return n ull;
  3681           }
  3682  
  3683           pu blic stati c TRACER T RACER_GET_ BY_REFERRA L(string C URRENT_USE R, int CUR RENT_REGIS TRY_ID, in t CURRENT_ REFERRAL_I D)
  3684           {
  3685                TRACER[]  temp = se rvices.TRA CER_GET_BY _REFERRAL( CURRENT_US ER, CURREN T_REGISTRY _ID, CURRE NT_REFERRA L_ID);
  3686                if (temp  != null)
  3687                    retu rn temp.To List<TRACE R>().First OrDefault( );
  3688                return n ull;
  3689           }
  3690  
  3691           pu blic stati c APPT_APP OINTMENT A PPOINTMENT S_GET_BY_R EFERRAL(st ring CURRE NT_USER, i nt CURRENT _REGISTRY_ ID, int CU RRENT_REFE RRAL_ID)
  3692           {
  3693                APPT_APP OINTMENT[]  temp = se rvices.APP OINTMENTS_ GET_BY_REF ERRAL(CURR ENT_USER,  CURRENT_RE GISTRY_ID,  CURRENT_R EFERRAL_ID );
  3694                if (temp  != null)
  3695                    retu rn temp.To List<APPT_ APPOINTMEN T>().First OrDefault( );
  3696                return n ull;
  3697           }
  3698  
  3699           pu blic stati c object G etFrameWor kInfo(stri ng CURRENT _USER, Int 32 CURRENT _REGISTRY_ ID, Int32  REFERRAL_I D, Int32 P ATIENT_ID,  string CU RRENT_FRAM EWORK_DATA )
  3700           {
  3701                return s ervices.Ge tFrameWork Info(CURRE NT_USER, C URRENT_REG ISTRY_ID,  REFERRAL_I D, PATIENT _ID, CURRE NT_FRAMEWO RK_DATA);
  3702           }
  3703  
  3704           pu blic stati c List<Tab leColumnVa lue> REGIS TRY_FRAMEW ORK_TABLE_ GET_ALL_BY _REGISTRY( string CUR RENT_USER,  Int32 CUR RENT_REGIS TRY_ID, In t32 REFERR AL_ID, Int 32 PATIENT _ID, strin g CURRENT_ FRAMEWORK_ DATA)
  3705           {
  3706                TableCol umnValue[]  temp = se rvices.REG ISTRY_FRAM EWORK_TABL E_GET_ALL_ BY_REGISTR Y(CURRENT_ USER, CURR ENT_REGIST RY_ID, REF ERRAL_ID,  PATIENT_ID , CURRENT_ FRAMEWORK_ DATA);
  3707                if (temp  != null)
  3708                    retu rn temp.To List<Table ColumnValu e>();
  3709                return n ull;
  3710           }
  3711  
  3712           pu blic stati c List<Tab leColumnVa lue> REGIS TRY_FRAMEW ORK_DATA_G ET_ALL_BY_ REGISTRY(s tring CURR ENT_USER,  int CURREN T_REGISTRY _ID)
  3713           {
  3714                TableCol umnValue[]  temp = se rvices.REG ISTRY_FRAM EWORK_DATA _GET_ALL_B Y_REGISTRY (CURRENT_U SER, CURRE NT_REGISTR Y_ID);
  3715                if (temp  != null)
  3716                    retu rn temp.To List<Table ColumnValu e>();
  3717                return n ull;
  3718           }
  3719  
  3720           #e ndregion
  3721       }
  3722   }