24. EPMO Open Source Coordination Office Redaction File Detail Report

Produced by Araxis Merge on 1/19/2019 1:19:07 PM Eastern Standard 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.

24.1 Files compared

# Location File Last Modified
1 VIRP_Build_6_Dec_2018_CG.zip\Registries VIRP Web Site\BaseCode ServiceInterfaceManager.cs Thu Jan 17 17:39:58 2019 UTC
2 VIRP_Build_6_Dec_2018_CG.zip\Registries VIRP Web Site\BaseCode ServiceInterfaceManager.cs Sat Jan 19 18:02:24 2019 UTC

24.2 Comparison summary

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

24.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

24.4 Active regular expressions

No regular expressions were active.

24.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             // D N S : Removing  unused an d consolid ating from  the cg.cs  file in p rep for Fo rtify
  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           pr ivate int  totalCount ;
  17  
  18           pu blic stati c string G ET_VERSION ()
  19           {
  20                return s ervices.GE T_VERSION( );
  21           }
  22  
  23           #r egion APPL ICATION_ST ATUS
  24           #e ndregion
  25  
  26           #r egion BCCC R_BCR_ALL
  27  
  28           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)
  29           {
  30                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);
  31                if (temp  != null)
  32                    retu rn temp.To List<BCCCR _BCR_ALL>( );
  33                return n ull;
  34           }
  35  
  36           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)
  37           {
  38                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);
  39                if (objR eturn != n ull)
  40                {
  41                    if ( objReturn  != null &&  objReturn .Count !=  0)
  42                    {
  43                         if (!strin g.IsNullOr Empty(SORT _EXPRESSIO N))
  44                         {
  45                             if (SO RT_EXPRESS ION.Length  >= 4 && S ORT_EXPRES SION.Subst ring(SORT_ EXPRESSION .Length -  4, 4).ToUp per() == " DESC")
  46                             {
  47                                 SO RT_EXPRESS ION = SORT _EXPRESSIO N.Substrin g(0, SORT_ EXPRESSION .Length -  5);
  48  
  49                                 if  (SORT_EXP RESSION.Co ntains("." ))
  50                                 {
  51                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  52                                      if (prop s != null  && props.C ount() ==  2)
  53                                      {
  54                                          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>();
  55                                      }
  56                                      else if  (props !=  null && pr ops.Count( ) == 3)
  57                                      {
  58                                      }
  59                                 }
  60                                 el se
  61                                 {
  62                                      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>();
  63                                 }
  64                             }
  65                             else i f (SORT_EX PRESSION.L ength >= 3  && SORT_E XPRESSION. Substring( SORT_EXPRE SSION.Leng th - 3, 3) .ToUpper()  == "ASC")
  66                             {
  67                                 SO RT_EXPRESS ION = SORT _EXPRESSIO N.Substrin g(0, SORT_ EXPRESSION .Length -  4);
  68                                 if  (SORT_EXP RESSION.Co ntains("." ))
  69                                 {
  70                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  71                                      if (prop s != null  && props.C ount() ==  2)
  72                                      {
  73                                          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>();
  74                                      }
  75                                      else if  (props !=  null && pr ops.Count( ) == 3)
  76                                      {
  77                                      }
  78                                 }
  79                                 el se
  80                                 {
  81                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<BC CCR_BCR_AL L>();
  82                                 }
  83                             }
  84                             else
  85                             {
  86                                 if  (SORT_EXP RESSION.Co ntains("." ))
  87                                 {
  88                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  89                                      if (prop s != null  && props.C ount() ==  2)
  90                                      {
  91                                          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>();
  92                                      }
  93                                      else if  (props !=  null && pr ops.Count( ) == 3)
  94                                      {
  95                                      }
  96                                 }
  97                                 el se
  98                                 {
  99                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<BC CCR_BCR_AL L>();
  100                                 }
  101                             }
  102                         }
  103                    }
  104                }
  105  
  106                return o bjReturn;
  107           }
  108  
  109           #e ndregion
  110  
  111           #r egion DATA _DICTIONAR Y
  112  
  113           pu blic stati c List<DAT A_DICTIONA RY> DATA_D ICTIONARY_ GET_ALL(st ring CURRE NT_USER, i nt CURRENT _REGISTRY_ ID)
  114           {
  115                DATA_DIC TIONARY[]  temp = ser vices.DATA _DICTIONAR Y_GET_ALL( CURRENT_US ER, CURREN T_REGISTRY _ID);
  116                if (temp  != null)
  117                    retu rn temp.To List<DATA_ DICTIONARY >();
  118                return n ull;
  119           }
  120  
  121           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)
  122           {
  123                List<DAT A_DICTIONA RY> objRet urn = DATA _DICTIONAR Y_GET_ALL( CURRENT_US ER, CURREN T_REGISTRY _ID);
  124                if (objR eturn != n ull)
  125                {
  126                    if ( objReturn  != null &&  objReturn .Count !=  0)
  127                    {
  128                         if (!strin g.IsNullOr Empty(SEAR CH_COLUMN)  && !strin g.IsNullOr Empty(SEAR CH_TEXT))
  129                         {
  130                             if (SE ARCH_COLUM N.Contains ("."))
  131                             {
  132                                 st ring[] pro ps = SEARC H_COLUMN.S plit('.');
  133                                 if  (props !=  null && p rops.Count () == 2)
  134                                 {
  135                                      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>();
  136                                 }
  137                             }
  138                             else
  139                             {
  140                                 ob jReturn =  objReturn. Where(w =>  w.GetType ().GetProp erty(SEARC H_COLUMN). GetValue(w ) != null) .ToList<DA TA_DICTION ARY>();
  141                                 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>( );
  142                             }
  143                         }
  144                         if (!strin g.IsNullOr Empty(SORT _EXPRESSIO N))
  145                         {
  146                             if (SO RT_EXPRESS ION.Length  >= 4 && S ORT_EXPRES SION.Subst ring(SORT_ EXPRESSION .Length -  4, 4).ToUp per() == " DESC")
  147                             {
  148                                 SO RT_EXPRESS ION = SORT _EXPRESSIO N.Substrin g(0, SORT_ EXPRESSION .Length -  5);
  149  
  150                                 if  (SORT_EXP RESSION.Co ntains("." ))
  151                                 {
  152                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  153                                      if (prop s != null  && props.C ount() ==  2)
  154                                      {
  155                                          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>( );
  156                                      }
  157                                      else if  (props !=  null && pr ops.Count( ) == 3)
  158                                      {
  159                                      }
  160                                 }
  161                                 el se
  162                                 {
  163                                      objRetur n = objRet urn.OrderB yDescendin g(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<DA TA_DICTION ARY>();
  164                                 }
  165                             }
  166                             else i f (SORT_EX PRESSION.L ength >= 3  && SORT_E XPRESSION. Substring( SORT_EXPRE SSION.Leng th - 3, 3) .ToUpper()  == "ASC")
  167                             {
  168                                 SO RT_EXPRESS ION = SORT _EXPRESSIO N.Substrin g(0, SORT_ EXPRESSION .Length -  4);
  169                                 if  (SORT_EXP RESSION.Co ntains("." ))
  170                                 {
  171                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  172                                      if (prop s != null  && props.C ount() ==  2)
  173                                      {
  174                                          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>( );
  175                                      }
  176                                      else if  (props !=  null && pr ops.Count( ) == 3)
  177                                      {
  178                                      }
  179                                 }
  180                                 el se
  181                                 {
  182                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<DA TA_DICTION ARY>();
  183                                 }
  184                             }
  185                             else
  186                             {
  187                                 if  (SORT_EXP RESSION.Co ntains("." ))
  188                                 {
  189                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  190                                      if (prop s != null  && props.C ount() ==  2)
  191                                      {
  192                                          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>( );
  193                                      }
  194                                      else if  (props !=  null && pr ops.Count( ) == 3)
  195                                      {
  196                                      }
  197                                 }
  198                                 el se
  199                                 {
  200                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<DA TA_DICTION ARY>();
  201                                 }
  202                             }
  203                         }
  204                    }
  205                }
  206  
  207                return o bjReturn;
  208           }
  209  
  210           #e ndregion
  211  
  212           #r egion DB_L OG
  213  
  214           pu blic stati c int DB_L OG_SAVE(st ring CURRE NT_USER, i nt CURRENT _REGISTRY_ ID, DB_LOG  objSave)
  215           {
  216                return s ervices.DB _LOG_SAVE( CURRENT_US ER, CURREN T_REGISTRY _ID, objSa ve);
  217           }
  218  
  219           #e ndregion
  220  
  221           #r egion DIM_ TIME
  222           #e ndregion
  223  
  224           #r egion EFR_ ALL
  225  
  226           #e ndregion
  227  
  228           #r egion ETL_ ExtractBat ch_Log
  229  
  230           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)
  231           {
  232                ETL_Extr actBatch_L og[] temp  = services .ETL_Extra ctBatch_Lo g_GET_ALL_ BY_REGISTR Y(CURRENT_ USER, CURR ENT_REGIST RY_ID);
  233                if (temp  != null)
  234                    retu rn temp.To List<ETL_E xtractBatc h_Log>();
  235                return n ull;
  236           }
  237  
  238           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 )
  239           {
  240                List<ETL _ExtractBa tch_Log> o bjReturn =  ETL_Extra ctBatch_Lo g_GET_ALL_ BY_REGISTR Y(CURRENT_ USER, CURR ENT_REGIST RY_ID);
  241                if (objR eturn != n ull)
  242                {
  243                    if ( objReturn  != null &&  objReturn .Count !=  0)
  244                    {
  245                         if (!strin g.IsNullOr Empty(SEAR CH_COLUMN)  && !strin g.IsNullOr Empty(SEAR CH_TEXT))
  246                         {
  247                             if (SE ARCH_COLUM N.Contains ("."))
  248                             {
  249                                 st ring[] pro ps = SEARC H_COLUMN.S plit('.');
  250                                 if  (props !=  null && p rops.Count () == 2)
  251                                 {
  252                                      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 >();
  253                                 }
  254                             }
  255                             else
  256                             {
  257                                 ob jReturn =  objReturn. Where(w =>  w.GetType ().GetProp erty(SEARC H_COLUMN). GetValue(w ) != null) .ToList<ET L_ExtractB atch_Log>( );
  258                                 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>();
  259                             }
  260                         }
  261                         if (!strin g.IsNullOr Empty(SORT _EXPRESSIO N))
  262                         {
  263                             if (SO RT_EXPRESS ION.Length  >= 4 && S ORT_EXPRES SION.Subst ring(SORT_ EXPRESSION .Length -  4, 4).ToUp per() == " DESC")
  264                             {
  265                                 SO RT_EXPRESS ION = SORT _EXPRESSIO N.Substrin g(0, SORT_ EXPRESSION .Length -  5);
  266  
  267                                 if  (SORT_EXP RESSION.Co ntains("." ))
  268                                 {
  269                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  270                                      if (prop s != null  && props.C ount() ==  2)
  271                                      {
  272                                          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>();
  273                                      }
  274                                      else if  (props !=  null && pr ops.Count( ) == 3)
  275                                      {
  276                                      }
  277                                 }
  278                                 el se
  279                                 {
  280                                      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>( );
  281                                 }
  282                             }
  283                             else i f (SORT_EX PRESSION.L ength >= 3  && SORT_E XPRESSION. Substring( SORT_EXPRE SSION.Leng th - 3, 3) .ToUpper()  == "ASC")
  284                             {
  285                                 SO RT_EXPRESS ION = SORT _EXPRESSIO N.Substrin g(0, SORT_ EXPRESSION .Length -  4);
  286                                 if  (SORT_EXP RESSION.Co ntains("." ))
  287                                 {
  288                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  289                                      if (prop s != null  && props.C ount() ==  2)
  290                                      {
  291                                          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>();
  292                                      }
  293                                      else if  (props !=  null && pr ops.Count( ) == 3)
  294                                      {
  295                                      }
  296                                 }
  297                                 el se
  298                                 {
  299                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<ET L_ExtractB atch_Log>( );
  300                                 }
  301                             }
  302                             else
  303                             {
  304                                 if  (SORT_EXP RESSION.Co ntains("." ))
  305                                 {
  306                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  307                                      if (prop s != null  && props.C ount() ==  2)
  308                                      {
  309                                          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>();
  310                                      }
  311                                      else if  (props !=  null && pr ops.Count( ) == 3)
  312                                      {
  313                                      }
  314                                 }
  315                                 el se
  316                                 {
  317                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<ET L_ExtractB atch_Log>( );
  318                                 }
  319                             }
  320                         }
  321                    }
  322                }
  323  
  324                return o bjReturn;
  325           }
  326  
  327           #e ndregion
  328  
  329           #r egion INDI VIDUAL
  330           #e ndregion
  331  
  332           #r egion INDI VIDUAL_ADD RESS
  333           #e ndregion
  334  
  335           #r egion MESS AGE_LOG
  336           #e ndregion
  337  
  338           #r egion PATI ENT
  339  
  340           pu blic stati c PATIENT  PATIENT_GE T(string C URRENT_USE R, int CUR RENT_REGIS TRY_ID, in t id)
  341           {
  342                return s ervices.PA TIENT_GET( CURRENT_US ER, CURREN T_REGISTRY _ID, id);
  343           }
  344  
  345           pu blic stati c PATIENT  PATIENT_GE T_COMPLETE (string CU RRENT_USER , int CURR ENT_REGIST RY_ID, int  PATIENT_I D)
  346           {
  347                return s ervices.PA TIENT_GET_ COMPLETE(C URRENT_USE R, CURRENT _REGISTRY_ ID, PATIEN T_ID);
  348           }
  349  
  350           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)
  351           {
  352                PATIENT[ ] temp = s ervices.PA TIENT_GET_ ALL_BY_REG ISTRY(CURR ENT_USER,  CURRENT_RE GISTRY_ID) ;
  353                if (temp  != null)
  354                    retu rn temp.To List<PATIE NT>();
  355                return n ull;
  356           }
  357  
  358           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)
  359           {
  360                PATIENT[ ] temp = s ervices.PA TIENT_GET_ ALL_BY_NAM E(CURRENT_ USER, CURR ENT_REGIST RY_ID, LAS T_NAME, FI RST_NAME);
  361                if (temp  != null)
  362                    retu rn temp.To List<PATIE NT>();
  363                return n ull;
  364           }
  365  
  366           // 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)
  367           // {
  368           //     return  services. PATIENT_GE T_COMMON_B Y_REGISTRY _COUNT(CUR RENT_USER,  CURRENT_R EGISTRY_ID , SEARCH_C OLUMN, SEA RCH_TEXT);
  369           // }
  370  
  371           // 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)
  372           // {
  373           //     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);
  374           //     if (te mp != null )
  375           //         re turn temp. ToList<REF ERRALcommo n>();
  376           //     return  null;
  377           // }
  378  
  379           #e ndregion
  380  
  381           #r egion PATI ENT
  382  
  383           pu blic stati c PATIENT_ REG PATIEN T_REG_GET( string CUR RENT_USER,  int CURRE NT_REGISTR Y_ID, int  id)
  384           {
  385                return s ervices.PA TIENT_REG_ GET(CURREN T_USER, CU RRENT_REGI STRY_ID, i d);
  386           }
  387  
  388           #e ndregion
  389  
  390           #r egion PATI ENT_IDS
  391           #e ndregion
  392  
  393           #r egion PATI ENT_UDFs
  394  
  395           pu blic stati c int PATI ENT_UDFs_S AVE(string  CURRENT_U SER, int C URRENT_REG ISTRY_ID,  PATIENT_UD Fs objSave )
  396           {
  397                return s ervices.PA TIENT_UDFs _SAVE(CURR ENT_USER,  CURRENT_RE GISTRY_ID,  objSave);
  398           }
  399  
  400           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)
  401           {
  402                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);
  403           }
  404  
  405           #e ndregion
  406  
  407           #r egion REFE RRAL
  408  
  409           pu blic stati c REFERRAL  REFERRAL_ GET(string  CURRENT_U SER, int C URRENT_REG ISTRY_ID,  int id)
  410           {
  411                return s ervices.RE FERRAL_GET (CURRENT_U SER, CURRE NT_REGISTR Y_ID, id);
  412           }
  413  
  414           pu blic stati c REFERRAL  REFERRAL_ GET_BY_PAT IENTICN(st ring CURRE NT_USER, i nt CURRENT _REGISTRY_ ID, string  patientIc n)
  415           {
  416                return s ervices.RE FERRAL_GET _BY_PATIEN TICN(CURRE NT_USER, C URRENT_REG ISTRY_ID,  patientIcn );
  417           }
  418  
  419           pu blic stati c int REFE RRAL_SAVE( string CUR RENT_USER,  int CURRE NT_REGISTR Y_ID, REFE RRAL objSa ve)
  420           {
  421                return s ervices.RE FERRAL_SAV E(CURRENT_ USER, CURR ENT_REGIST RY_ID, obj Save);
  422           }
  423  
  424           pu blic stati c Boolean  REFERRAL_D ELETE(stri ng CURRENT _USER, int  CURRENT_R EGISTRY_ID , int id)
  425           {
  426                return s ervices.RE FERRAL_DEL ETE(CURREN T_USER, CU RRENT_REGI STRY_ID, i d);
  427           }
  428  
  429           pu blic stati c REFERRAL  REFERRAL_ GET_COMPLE TE(string  CURRENT_US ER, int CU RRENT_REGI STRY_ID, i nt REFERRA L_ID)
  430           {
  431                return s ervices.RE FERRAL_GET _COMPLETE( CURRENT_US ER, CURREN T_REGISTRY _ID, REFER RAL_ID);
  432           }
  433  
  434           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)
  435           {
  436                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);
  437                if (temp  != null)
  438                    retu rn temp.To List<REFER RAL>();
  439                return n ull;
  440           }
  441  
  442           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)
  443           {
  444                REFERRAL common[] t emp = serv ices.REFER RAL_GET_CO MMON_BY_RE GISTRY(CUR RENT_USER,  CURRENT_R EGISTRY_ID );
  445                if (temp  != null)
  446                    retu rn temp.To List<REFER RALcommon> ();
  447                return n ull;
  448           }
  449  
  450           // 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)
  451           // {
  452           //     return  services. REFERRAL_G ET_COMMON_ BY_REGISTR Y_COUNT(CU RRENT_USER , CURRENT_ REGISTRY_I D, SEARCH_ COLUMN, SE ARCH_TEXT) ;
  453           // }
  454  
  455           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)
  456           {
  457                return t his.referr alCommonCo unt;
  458           }
  459  
  460           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)
  461           {
  462                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);
  463                if (col  != null)
  464                {
  465                    REFE RRALcommon [] temp =  col.Referr alCommon;
  466                    if ( temp != nu ll)
  467                    {
  468                         this.refer ralCommonC ount = col .CompleteC ount;
  469                         var list =  temp.ToLi st<REFERRA Lcommon>() ;
  470                         return lis t;
  471                    }
  472                }
  473                return n ull;
  474           }
  475  
  476           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)
  477           {
  478                REFERRAL common[] t emp = serv ices.REFER RAL_GET_CO MMON_BY_PA TIENT(CURR ENT_USER,  CURRENT_RE GISTRY_ID,  PATIENT_I D);
  479                if (temp  != null)
  480                    retu rn temp.To List<REFER RALcommon> ();
  481                return n ull;
  482           }
  483  
  484           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 )
  485           {
  486                List<REF ERRALcommo n> objRetu rn = REFER RAL_GET_CO MMON_BY_PA TIENT(CURR ENT_USER,  CURRENT_RE GISTRY_ID,  PATIENT_I D);
  487                if (objR eturn != n ull)
  488                {
  489                    if ( objReturn  != null &&  objReturn .Count !=  0)
  490                    {
  491                         if (!strin g.IsNullOr Empty(SEAR CH_COLUMN)  && !strin g.IsNullOr Empty(SEAR CH_TEXT))
  492                         {
  493                             if (SE ARCH_COLUM N.Contains ("."))
  494                             {
  495                                 st ring[] pro ps = SEARC H_COLUMN.S plit('.');
  496                                 if  (props !=  null && p rops.Count () == 2)
  497                                 {
  498                                      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( );
  499                                 }
  500                             }
  501                             else
  502                             {
  503                                 ob jReturn =  objReturn. Where(w =>  w.GetType ().GetProp erty(SEARC H_COLUMN). GetValue(w ) != null) .ToList();
  504                                 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();
  505                             }
  506                         }
  507                         if (!strin g.IsNullOr Empty(SORT _EXPRESSIO N))
  508                         {
  509                             if (SO RT_EXPRESS ION.Length  >= 4 && S ORT_EXPRES SION.Subst ring(SORT_ EXPRESSION .Length -  4, 4).ToUp per() == " DESC")
  510                             {
  511                                 SO RT_EXPRESS ION = SORT _EXPRESSIO N.Substrin g(0, SORT_ EXPRESSION .Length -  5);
  512  
  513                                 if  (SORT_EXP RESSION.Co ntains("." ))
  514                                 {
  515                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  516                                      if (prop s != null  && props.C ount() ==  2)
  517                                      {
  518                                          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();
  519                                      }
  520                                 }
  521                                 el se
  522                                      objRetur n = objRet urn.OrderB yDescendin g(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList();
  523                             }
  524                             else
  525                             {
  526                                 if  (SORT_EXP RESSION.Co ntains("." ))
  527                                 {
  528                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  529                                      if (prop s != null  && props.C ount() ==  2)
  530                                      {
  531                                          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();
  532                                      }
  533                                 }
  534                                 el se
  535                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList();
  536                             }
  537                         }
  538                    }
  539                }
  540                return o bjReturn;
  541           }
  542  
  543           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)
  544           {
  545                REFERRAL common[] t emp = serv ices.REFER RAL_GET_CO MMON_BY_PR OVIDER(CUR RENT_USER,  CURRENT_R EGISTRY_ID , PROVIDER _ID);
  546                if (temp  != null)
  547                    retu rn temp.To List<REFER RALcommon> ();
  548                return n ull;
  549           }
  550  
  551           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)
  552           {
  553                List<REF ERRALcommo n> objRetu rn = REFER RAL_GET_CO MMON_BY_PR OVIDER(CUR RENT_USER,  CURRENT_R EGISTRY_ID , PROVIDER _ID);
  554                if (objR eturn != n ull)
  555                {
  556                    if ( objReturn  != null &&  objReturn .Count !=  0)
  557                    {
  558                         if (!strin g.IsNullOr Empty(SEAR CH_COLUMN)  && !strin g.IsNullOr Empty(SEAR CH_TEXT))
  559                         {
  560                             if (SE ARCH_COLUM N.Contains ("."))
  561                             {
  562                                 st ring[] pro ps = SEARC H_COLUMN.S plit('.');
  563                                 if  (props !=  null && p rops.Count () == 2)
  564                                 {
  565                                      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( );
  566                                 }
  567                             }
  568                             else
  569                             {
  570                                 ob jReturn =  objReturn. Where(w =>  w.GetType ().GetProp erty(SEARC H_COLUMN). GetValue(w ) != null) .ToList();
  571                                 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();
  572                             }
  573                         }
  574                         if (!strin g.IsNullOr Empty(SORT _EXPRESSIO N))
  575                         {
  576                             if (SO RT_EXPRESS ION.Length  >= 4 && S ORT_EXPRES SION.Subst ring(SORT_ EXPRESSION .Length -  4, 4).ToUp per() == " DESC")
  577                             {
  578                                 SO RT_EXPRESS ION = SORT _EXPRESSIO N.Substrin g(0, SORT_ EXPRESSION .Length -  5);
  579  
  580                                 if  (SORT_EXP RESSION.Co ntains("." ))
  581                                 {
  582                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  583                                      if (prop s != null  && props.C ount() ==  2)
  584                                      {
  585                                          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();
  586                                      }
  587                                 }
  588                                 el se
  589                                      objRetur n = objRet urn.OrderB yDescendin g(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList();
  590                             }
  591                             else
  592                             {
  593                                 if  (SORT_EXP RESSION.Co ntains("." ))
  594                                 {
  595                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  596                                      if (prop s != null  && props.C ount() ==  2)
  597                                      {
  598                                          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();
  599                                      }
  600                                 }
  601                                 el se
  602                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList();
  603                             }
  604                         }
  605                    }
  606                }
  607  
  608                return o bjReturn;
  609           }
  610  
  611           pu blic stati c bool REF ERRAL_PATI ENT_EXISTS (string CU RRENT_USER , int CURR ENT_REGIST RY_ID, int  PATIENT_I D)
  612           {
  613                return s ervices.RE FERRAL_PAT IENT_EXIST S(CURRENT_ USER, CURR ENT_REGIST RY_ID, PAT IENT_ID);
  614           }
  615  
  616           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)
  617           {
  618                return s ervices.RE FERRAL_SAV E_MANUAL(C URRENT_USE R, CURRENT _REGISTRY_ ID, PATIEN T_ID, PROV IDER_ID);
  619           }
  620  
  621           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)
  622           {
  623                List<Sea rchResult>  objReturn  = null;
  624  
  625                if (SEAR CH_TYPE ==  "PATIENT" )
  626                {
  627                    PATI ENT[] temp  = service s.PATIENT_ GET_ALL_BY _NAME(CURR ENT_USER,  CURRENT_RE GISTRY_ID,  LAST_NAME , FIRST_NA ME);
  628                    if ( temp != nu ll)
  629                         objReturn  = temp.Sel ect(r => n ew SearchR esult()
  630                         {
  631                             BirthD ate = r.BI RTH_DATE.G etValueOrD efault(),
  632                             City =  r.SPATIEN T.City,
  633                             FirstN ame = r.FI RST_NAME,
  634                             LastFo ur = r.SPA TIENT.Pati entLastFou r,
  635                             LastNa me = r.LAS T_NAME,
  636                             Gender  = r.SPATI ENT.Gender ,
  637                             Postal Code = r.S PATIENT.Po stalCode,
  638                             Result Id = r.PAT IENT_ID,
  639                             State  = r.SPATIE NT.State
  640                         }).ToList< SearchResu lt>();
  641                }
  642                else if  (SEARCH_TY PE == "PRO VIDER")
  643                {
  644                    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);
  645                    if ( temp != nu ll)
  646                         objReturn  = temp.Sel ect(r => n ew SearchR esult()
  647                         {
  648                             BirthD ate = null ,
  649                             City =  r.City,
  650                             FirstN ame = r.Fi rstName,
  651                             LastFo ur = strin g.Empty,
  652                             LastNa me = r.Las tName,
  653                             Gender  = r.Gende r,
  654                             Postal Code = r.Z ipCode,
  655                             Result Id = r.Pro vider_ID,
  656                             State  = r.StateN ame
  657                         }).ToList< SearchResu lt>();
  658                }
  659  
  660                return o bjReturn;
  661           }
  662  
  663           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)
  664           {
  665                // List< SearchResu lt> objRet urn = null ;
  666                List<Sea rchResult>  objReturn  = null;
  667  
  668                if (SEAR CH_TYPE ==  "PATIENT" )
  669                {
  670                    PATI ENT[] temp  = service s.PATIENT_ GET_ALL_BY _NAME(CURR ENT_USER,  CURRENT_RE GISTRY_ID,  LAST_NAME , FIRST_NA ME);
  671                    if ( temp != nu ll)
  672                         objReturn  = temp.Sel ect(r => n ew SearchR esult()
  673                         {
  674                             BirthD ate = r.BI RTH_DATE.G etValueOrD efault(),
  675                             City =  r.SPATIEN T.City,
  676                             FirstN ame = r.FI RST_NAME,
  677                             LastFo ur = r.SPA TIENT.Pati entLastFou r,
  678                             LastNa me = r.LAS T_NAME,
  679                             Gender  = r.SPATI ENT.Gender ,
  680                             Postal Code = r.S PATIENT.Po stalCode,
  681                             Result Id = r.PAT IENT_ID,
  682                             State  = r.SPATIE NT.State
  683                         }).ToList< SearchResu lt>();
  684                }
  685                else if  (SEARCH_TY PE == "PRO VIDER")
  686                {
  687                    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);
  688                    if ( temp != nu ll)
  689                         objReturn  = temp.Sel ect(r => n ew SearchR esult()
  690                         {
  691                             BirthD ate = null ,
  692                             City =  r.City,
  693                             FirstN ame = r.Fi rstName,
  694                             LastFo ur = strin g.Empty,
  695                             LastNa me = r.Las tName,
  696                             Gender  = r.Gende r,
  697                             Postal Code = r.Z ipCode,
  698                             Result Id = r.Pro vider_ID,
  699                             State  = r.StateN ame
  700                         }).ToList< SearchResu lt>();
  701                }
  702  
  703                if (objR eturn != n ull)
  704                {
  705                    if ( objReturn  != null &&  objReturn .Count !=  0)
  706                    {
  707                         if (!strin g.IsNullOr Empty(SEAR CH_COLUMN)  && !strin g.IsNullOr Empty(SEAR CH_TEXT))
  708                         {
  709                             if (SE ARCH_COLUM N.Contains ("."))
  710                             {
  711                                 st ring[] pro ps = SEARC H_COLUMN.S plit('.');
  712                                 if  (props !=  null && p rops.Count () == 2)
  713                                 {
  714                                      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>();
  715                                 }
  716                             }
  717                             else
  718                             {
  719                                 ob jReturn =  objReturn. Where(w =>  w.GetType ().GetProp erty(SEARC H_COLUMN). GetValue(w ) != null) .ToList<Se archResult >();
  720                                 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>();
  721                             }
  722                         }
  723                         if (!strin g.IsNullOr Empty(SORT _EXPRESSIO N))
  724                         {
  725                             if (SO RT_EXPRESS ION.Length  >= 4 && S ORT_EXPRES SION.Subst ring(SORT_ EXPRESSION .Length -  4, 4).ToUp per() == " DESC")
  726                             {
  727                                 SO RT_EXPRESS ION = SORT _EXPRESSIO N.Substrin g(0, SORT_ EXPRESSION .Length -  5);
  728  
  729                                 if  (SORT_EXP RESSION.Co ntains("." ))
  730                                 {
  731                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  732                                      if (prop s != null  && props.C ount() ==  2)
  733                                      {
  734                                          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>();
  735                                      }
  736                                 }
  737                                 el se
  738                                      objRetur n = objRet urn.OrderB yDescendin g(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<Se archResult >();
  739                             }
  740                             else
  741                             {
  742                                 if  (SORT_EXP RESSION.Co ntains("." ))
  743                                 {
  744                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  745                                      if (prop s != null  && props.C ount() ==  2)
  746                                      {
  747                                          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>();
  748                                      }
  749                                 }
  750                                 el se
  751                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<Se archResult >();
  752                             }
  753                         }
  754                    }
  755                }
  756                return o bjReturn;
  757           }
  758  
  759           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)
  760           {
  761                return s ervices.RE FERRAL_UPD ATE_STATUS (CURRENT_U SER, CURRE NT_REGISTR Y_ID, REFE RRAL_ID, S TD_REFERRA LSTS_ID);
  762           }
  763  
  764           #e ndregion
  765  
  766           #r egion REFE RRAL_DETAI L
  767           #e ndregion
  768  
  769           #r egion REGI STRY_COHOR T_DATA
  770  
  771           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)
  772           {
  773                REGISTRY _COHORT_DA TA[] temp  = services .REGISTRY_ COHORT_DAT A_GET_ALL_ BY_REGISTR Y(CURRENT_ USER, CURR ENT_REGIST RY_ID);
  774                if (temp  != null)
  775                    retu rn temp.To List<REGIS TRY_COHORT _DATA>();
  776                return n ull;
  777           }
  778  
  779           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)
  780           {
  781                REGISTRY _COHORT_DA TA[] temp  = services .REGISTRY_ COHORT_DAT A_GET_ALL_ SELECTED_B Y_REGISTRY (CURRENT_U SER, CURRE NT_REGISTR Y_ID);
  782                if (temp  != null)
  783                    retu rn temp.To List<REGIS TRY_COHORT _DATA>();
  784                return n ull;
  785           }
  786  
  787           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)
  788           {
  789                REGISTRY _COHORT_DA TA[] temp  = (cohorts  != null ?  cohorts.T oArray() :  null);
  790                return s ervices.RE GISTRY_COH ORT_DATA_G ET_PREVIEW _COUNT(CUR RENT_USER,  CURRENT_R EGISTRY_ID , temp);
  791           }
  792  
  793           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)
  794           {
  795                REGISTRY _COHORT_DA TA[] temp  = (cohorts  != null ?  cohorts.T oArray() :  null);
  796                return s ervices.RE GISTRY_COH ORT_DATA_S AVE_LIST(C URRENT_USE R, CURRENT _REGISTRY_ ID, temp);
  797           }
  798  
  799           #e ndregion
  800  
  801           #r egion REGI STRY_CORE_ DATA
  802  
  803           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)
  804           {
  805                return s ervices.RE GISTRY_COR E_DATA_GET _BY_REGIST RY_CORE(CU RRENT_USER , CURRENT_ REGISTRY_I D, CORE_TY PE_ID);
  806           }
  807  
  808           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 )
  809           {
  810                REGISTRY _CORE_DATA [] temp =  services.R EGISTRY_CO RE_DATA_GE T_ALL_BY_R EGISTRY(CU RRENT_USER , CURRENT_ REGISTRY_I D);
  811                if (temp  != null)
  812                    retu rn temp.To List<REGIS TRY_CORE_D ATA>();
  813                return n ull;
  814           }
  815  
  816           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)
  817           {
  818                REGISTRY _CORE_DATA [] temp =  (cores !=  null ? cor es.ToArray () : null) ;
  819                return s ervices.RE GISTRY_COR E_DATA_SAV E_LIST(CUR RENT_USER,  CURRENT_R EGISTRY_ID , temp);
  820           }
  821  
  822           #e ndregion
  823  
  824           #r egion ROLE _PERMISSIO NS
  825           #e ndregion
  826  
  827           #r egion SETT INGS
  828  
  829           pu blic stati c int SETT INGS_SAVE( string CUR RENT_USER,  int CURRE NT_REGISTR Y_ID, SETT INGS objSa ve)
  830           {
  831                return s ervices.SE TTINGS_SAV E(CURRENT_ USER, CURR ENT_REGIST RY_ID, obj Save);
  832           }
  833  
  834           pu blic stati c List<SET TINGS> SET TINGS_GET( )
  835           {
  836                SETTINGS [] temp =  services.S ETTINGS_GE T();
  837                if (temp  != null)
  838                    retu rn temp.To List();
  839                return n ull;
  840           }
  841  
  842           pu blic stati c SETTINGS  SETTINGS_ GET_REGIST RYNAME(str ing CURREN T_USER, in t CURRENT_ REGISTRY_I D, string  NAME)
  843           {
  844                return s ervices.SE TTINGS_GET _REGISTRYN AME(CURREN T_USER, CU RRENT_REGI STRY_ID, N AME);
  845           }
  846  
  847           pu blic stati c SETTINGS  GET_HOME_ PAGE_SETTI NG()
  848           {
  849                return s ervices.SE TTINGS_GET _HOME_PAGE ();
  850           }
  851  
  852           #e ndregion
  853  
  854           #r egion SPAT IENT
  855           #e ndregion
  856  
  857           #r egion SSta ff_SStaff
  858  
  859           pu blic stati c SStaff_S Staff SSta ff_SStaff_ GET(string  CURRENT_U SER, int C URRENT_REG ISTRY_ID,  int id)
  860           {
  861                return s ervices.SS taff_SStaf f_GET(CURR ENT_USER,  CURRENT_RE GISTRY_ID,  id);
  862           }
  863  
  864           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)
  865           {
  866                //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);
  867                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, "" );
  868           }
  869  
  870           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)
  871           {
  872                //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) ;
  873                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);
  874                if (temp  != null)
  875                    retu rn temp.To List<SStaf f_SStaff>( );
  876                return n ull;
  877           }
  878  
  879           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)
  880           {
  881                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 );
  882                if (temp  != null)
  883                    retu rn temp.To List<SStaf f_SStaff>( );
  884                return n ull;
  885           }
  886  
  887           #e ndregion
  888  
  889           #r egion STD_ GENDER
  890  
  891           pu blic stati c STD_GEND ER STD_GEN DER_GET(st ring CURRE NT_USER, i nt CURRENT _REGISTRY_ ID, int id )
  892           {
  893                return s ervices.ST D_GENDER_G ET(CURRENT _USER, CUR RENT_REGIS TRY_ID, id );
  894           }
  895  
  896           pu blic stati c List<STD _GENDER> S TD_GENDER_ GET_ALL(st ring CURRE NT_USER, i nt CURRENT _REGISTRY_ ID)
  897           {
  898                STD_GEND ER[] temp  = services .STD_GENDE R_GET_ALL( CURRENT_US ER, CURREN T_REGISTRY _ID);
  899                if (temp  != null)
  900                    retu rn temp.To List<STD_G ENDER>();
  901                return n ull;
  902           }
  903  
  904           pu blic stati c int STD_ GENDER_SAV E(string C URRENT_USE R, int CUR RENT_REGIS TRY_ID, ST D_GENDER o bjSave)
  905           {
  906                return s ervices.ST D_GENDER_S AVE(CURREN T_USER, CU RRENT_REGI STRY_ID, o bjSave);
  907           }
  908  
  909           pu blic stati c Boolean  STD_GENDER _DELETE(st ring CURRE NT_USER, i nt CURRENT _REGISTRY_ ID, int id )
  910           {
  911                return s ervices.ST D_GENDER_D ELETE(CURR ENT_USER,  CURRENT_RE GISTRY_ID,  id);
  912           }
  913  
  914           #e ndregion
  915  
  916           #r egion STD_ COUNTRY
  917           #e ndregion
  918  
  919           #r egion STD_ GUI_CONTRO LS
  920           pu blic stati c List<STD _GUI_CONTR OLS> STD_G UI_CONTROL S_GetByCat egory(stri ng CURRENT _USER, Int 32 CURRENT _REGISTRY_ ID, string  category)
  921           {
  922                STD_GUI_ CONTROLS[]  temp = se rvices.STD _GUI_CONTR OLS_GetByC ategory(CU RRENT_USER , CURRENT_ REGISTRY_I D, categor y);
  923                if (temp  != null)
  924                    retu rn temp.To List<STD_G UI_CONTROL S>();
  925                return n ull;
  926           }
  927           #e ndregion
  928  
  929           #r egion STD_ INDIVIDUAL _GROUP
  930           #e ndregion
  931  
  932           #r egion STD_ INDIVIDUAL _TYPE
  933           #e ndregion
  934  
  935           #r egion STD_ INSTITUTIO N
  936  
  937           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)
  938           {
  939                return s ervices.ST D_INSTITUT ION_GET_CO MPLETE(CUR RENT_USER,  CURRENT_R EGISTRY_ID , id);
  940           }
  941  
  942           pu blic stati c List<STD _INSTITUTI ON> STD_IN STITUTION_ GET_FACS(s tring CURR ENT_USER,  int CURREN T_REGISTRY _ID)
  943           {
  944                STD_INST ITUTION[]  temp = ser vices.STD_ INSTITUTIO N_GET_FACS (CURRENT_U SER, CURRE NT_REGISTR Y_ID);
  945                if (temp  != null)
  946                    retu rn temp.To List<STD_I NSTITUTION >();
  947                return n ull;
  948           }
  949  
  950           pu blic stati c List<STD _INSTITUTI ON> STD_IN STITUTION_ GET_VISNS( string CUR RENT_USER,  int CURRE NT_REGISTR Y_ID)
  951           {
  952                STD_INST ITUTION[]  temp = ser vices.STD_ INSTITUTIO N_GET_VISN S(CURRENT_ USER, CURR ENT_REGIST RY_ID);
  953                if (temp  != null)
  954                    retu rn temp.To List<STD_I NSTITUTION >();
  955                return n ull;
  956           }
  957  
  958           pu blic stati c List<STD _INSTITUTI ON> STD_IN STITUTION_ GET_ALL(st ring CURRE NT_USER, i nt CURRENT _REGISTRY_ ID)
  959           {
  960                STD_INST ITUTION[]  temp = ser vices.STD_ INSTITUTIO N_GET_ALL( CURRENT_US ER, CURREN T_REGISTRY _ID);
  961                if (temp  != null)
  962                    retu rn temp.To List<STD_I NSTITUTION >();
  963                return n ull;
  964           }
  965  
  966           pu blic stati c List<STD _INSTITUTI ON> STD_IN STITUTION_ GET_FACILI TIES(strin g CURRENT_ USER, int  CURRENT_RE GISTRY_ID)
  967           {
  968                STD_INST ITUTION[]  temp = ser vices.STD_ INSTITUTIO N_GET_FACI LITIES(CUR RENT_USER,  CURRENT_R EGISTRY_ID );
  969                if (temp  != null)
  970                    retu rn temp.To List<STD_I NSTITUTION >();
  971                return n ull;
  972           }
  973  
  974           pu blic stati c bool STD _INSTITUTI ON_SAVE_VI SNS(string  CURRENT_U SER, int C URRENT_REG ISTRY_ID,  int USER_I D, List<in t> visnIds )
  975           {
  976                int[] te mp = (visn Ids != nul l ? visnId s.ToArray( ) : null);
  977                return s ervices.ST D_INSTITUT ION_SAVE_V ISNS(CURRE NT_USER, C URRENT_REG ISTRY_ID,  USER_ID, t emp);
  978           }
  979  
  980           pu blic stati c bool STD _INSTITUTI ON_SAVE_FA CILITIES(s tring CURR ENT_USER,  int CURREN T_REGISTRY _ID, int U SER_ID, Li st<int> fa cIds)
  981           {
  982                int[] te mp = (facI ds != null  ? facIds. ToArray()  : null);
  983                return s ervices.ST D_INSTITUT ION_SAVE_F ACILITIES( CURRENT_US ER, CURREN T_REGISTRY _ID, USER_ ID, temp);
  984           }
  985  
  986           pu blic stati c List<STD _INSTITUTI ON> USER_S ITES_GET_A LL_VISNS_B Y_USER(str ing CURREN T_USER, in t CURRENT_ REGISTRY_I D, int USE R_ID)
  987           {
  988                STD_INST ITUTION[]  temp = ser vices.USER _SITES_GET _ALL_VISNS _BY_USER(C URRENT_USE R, CURRENT _REGISTRY_ ID, USER_I D);
  989                if (temp  != null)
  990                    retu rn temp.To List<STD_I NSTITUTION >();
  991                return n ull;
  992           }
  993  
  994           pu blic stati c List<STD _INSTITUTI ON> USER_S ITES_GET_A LL_FACILIT IES_BY_USE R(string C URRENT_USE R, int CUR RENT_REGIS TRY_ID, in t USER_ID)
  995           {
  996                STD_INST ITUTION[]  temp = ser vices.USER _SITES_GET _ALL_FACIL ITIES_BY_U SER(CURREN T_USER, CU RRENT_REGI STRY_ID, U SER_ID);
  997                if (temp  != null)
  998                    retu rn temp.To List<STD_I NSTITUTION >();
  999                return n ull;
  1000           }
  1001  
  1002           #e ndregion
  1003  
  1004           #r egion STD_ MENU_ITEMS
  1005  
  1006           pu blic stati c STD_MENU _ITEMS STD _MENU_ITEM S_GET(stri ng CURRENT _USER, int  CURRENT_R EGISTRY_ID , int id)
  1007           {
  1008                return s ervices.ST D_MENU_ITE MS_GET(CUR RENT_USER,  CURRENT_R EGISTRY_ID , id);
  1009           }
  1010  
  1011           pu blic stati c int STD_ MENU_ITEMS _SAVE(stri ng CURRENT _USER, int  CURRENT_R EGISTRY_ID , STD_MENU _ITEMS obj Save)
  1012           {
  1013                return s ervices.ST D_MENU_ITE MS_SAVE(CU RRENT_USER , CURRENT_ REGISTRY_I D, objSave );
  1014           }
  1015  
  1016           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)
  1017           {
  1018                return s ervices.ST D_MENU_ITE MS_DELETE( CURRENT_US ER, CURREN T_REGISTRY _ID, id);
  1019           }
  1020  
  1021           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)
  1022           {
  1023                STD_MENU _ITEMS[] t emp = serv ices.STD_M ENU_ITEMS_ GET_ALL_BY _REGISTRY( CURRENT_US ER, CURREN T_REGISTRY _ID);
  1024                if (temp  != null)
  1025                    retu rn temp.To List<STD_M ENU_ITEMS> ();
  1026                return n ull;
  1027           }
  1028  
  1029           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)
  1030           {
  1031                List<STD _MENU_ITEM S> temp =  STD_MENU_I TEMS_GET_A LL_BY_REGI STRY(CURRE NT_USER, C URRENT_REG ISTRY_ID);
  1032                if (temp  != null & & STD_ROLE _ID > 0)
  1033                {
  1034                    temp  = temp.Wh ere(w => w .STD_ROLE_ ID == STD_ ROLE_ID).T oList();
  1035                }
  1036  
  1037                return t emp;
  1038           }
  1039  
  1040           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)
  1041           {
  1042                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);
  1043  
  1044                if (objR eturn != n ull)
  1045                {
  1046                    if ( objReturn  != null &&  objReturn .Count !=  0)
  1047                    {
  1048                         if (!strin g.IsNullOr Empty(SEAR CH_COLUMN)  && !strin g.IsNullOr Empty(SEAR CH_TEXT))
  1049                         {
  1050                             if (SE ARCH_COLUM N.Contains ("."))
  1051                             {
  1052                                 st ring[] pro ps = SEARC H_COLUMN.S plit('.');
  1053                                 if  (props !=  null && p rops.Count () == 2)
  1054                                 {
  1055                                      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>();
  1056                                 }
  1057                             }
  1058                             else
  1059                             {
  1060                                 ob jReturn =  objReturn. Where(w =>  w.GetType ().GetProp erty(SEARC H_COLUMN). GetValue(w ) != null) .ToList<ST D_MENU_ITE MS>();
  1061                                 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>() ;
  1062                             }
  1063                         }
  1064                         if (!strin g.IsNullOr Empty(SORT _EXPRESSIO N))
  1065                         {
  1066                             if (SO RT_EXPRESS ION.Length  >= 4 && S ORT_EXPRES SION.Subst ring(SORT_ EXPRESSION .Length -  4, 4).ToUp per() == " DESC")
  1067                             {
  1068                                 SO RT_EXPRESS ION = SORT _EXPRESSIO N.Substrin g(0, SORT_ EXPRESSION .Length -  5);
  1069  
  1070                                 if  (SORT_EXP RESSION.Co ntains("." ))
  1071                                 {
  1072                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  1073                                      if (prop s != null  && props.C ount() ==  2)
  1074                                      {
  1075                                          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>() ;
  1076                                      }
  1077                                      else if  (props !=  null && pr ops.Count( ) == 3)
  1078                                      {
  1079                                      }
  1080                                 }
  1081                                 el se
  1082                                 {
  1083                                      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>();
  1084                                 }
  1085                             }
  1086                             else i f (SORT_EX PRESSION.L ength >= 3  && SORT_E XPRESSION. Substring( SORT_EXPRE SSION.Leng th - 3, 3) .ToUpper()  == "ASC")
  1087                             {
  1088                                 SO RT_EXPRESS ION = SORT _EXPRESSIO N.Substrin g(0, SORT_ EXPRESSION .Length -  4);
  1089                                 if  (SORT_EXP RESSION.Co ntains("." ))
  1090                                 {
  1091                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  1092                                      if (prop s != null  && props.C ount() ==  2)
  1093                                      {
  1094                                          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>() ;
  1095                                      }
  1096                                      else if  (props !=  null && pr ops.Count( ) == 3)
  1097                                      {
  1098                                      }
  1099                                 }
  1100                                 el se
  1101                                 {
  1102                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<ST D_MENU_ITE MS>();
  1103                                 }
  1104                             }
  1105                             else
  1106                             {
  1107                                 if  (SORT_EXP RESSION.Co ntains("." ))
  1108                                 {
  1109                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  1110                                      if (prop s != null  && props.C ount() ==  2)
  1111                                      {
  1112                                          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>() ;
  1113                                      }
  1114                                      else if  (props !=  null && pr ops.Count( ) == 3)
  1115                                      {
  1116                                      }
  1117                                 }
  1118                                 el se
  1119                                 {
  1120                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<ST D_MENU_ITE MS>();
  1121                                 }
  1122                             }
  1123                         }
  1124                    }
  1125                }
  1126  
  1127                return o bjReturn;
  1128           }
  1129  
  1130           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)
  1131           {
  1132                List<STD _WEB_PAGES > objRetur n = STD_WE B_PAGES_GE T_ALL(CURR ENT_USER,  CURRENT_RE GISTRY_ID) ;
  1133  
  1134                if (objR eturn != n ull)
  1135                {
  1136                    if ( objReturn  != null &&  objReturn .Count !=  0)
  1137                    {
  1138                         if (!strin g.IsNullOr Empty(SEAR CH_COLUMN)  && !strin g.IsNullOr Empty(SEAR CH_TEXT))
  1139                         {
  1140                             if (SE ARCH_COLUM N.Contains ("."))
  1141                             {
  1142                                 st ring[] pro ps = SEARC H_COLUMN.S plit('.');
  1143                                 if  (props !=  null && p rops.Count () == 2)
  1144                                 {
  1145                                      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>();
  1146                                 }
  1147                                 el se
  1148                                 {
  1149                                      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>();
  1150                                      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 >();
  1151                                 }
  1152                             }
  1153                             else
  1154                             {
  1155                                 ob jReturn =  objReturn. Where(w =>  w.GetType ().GetProp erty(SEARC H_COLUMN). GetValue(w ) != null) .ToList<ST D_WEB_PAGE S>();
  1156                                 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>();
  1157                             }
  1158                         }
  1159                         if (!strin g.IsNullOr Empty(SORT _EXPRESSIO N))
  1160                         {
  1161                             if (SO RT_EXPRESS ION.Length  > 3)
  1162                             {
  1163                                 if  (SORT_EXP RESSION.Le ngth >= 4  && SORT_EX PRESSION.S ubstring(S ORT_EXPRES SION.Lengt h - 4, 4). ToUpper()  == "DESC")
  1164                                 {
  1165                                      SORT_EXP RESSION =  SORT_EXPRE SSION.Subs tring(0, S ORT_EXPRES SION.Lengt h - 5);
  1166  
  1167                                      if (SORT _EXPRESSIO N.Contains ("."))
  1168                                      {
  1169                                          stri ng[] props  = SORT_EX PRESSION.S plit('.');
  1170                                          if ( props != n ull && pro ps.Count()  == 2)
  1171                                          {
  1172                                               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 >();
  1173                                          }
  1174                                      }
  1175                                      else
  1176                                          objR eturn = ob jReturn.Or derByDesce nding(s =>  s.GetType ().GetProp erty(SORT_ EXPRESSION ).GetValue (s)).ToLis t<STD_WEB_ PAGES>();
  1177                                 }
  1178                                 el se
  1179                                 {
  1180                                      if (SORT _EXPRESSIO N.Contains ("."))
  1181                                      {
  1182                                          stri ng[] props  = SORT_EX PRESSION.S plit('.');
  1183                                          if ( props != n ull && pro ps.Count()  == 2)
  1184                                          {
  1185                                               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 >();
  1186                                          }
  1187                                      }
  1188                                      else
  1189                                      {
  1190                                          objR eturn = ob jReturn.Or derBy(s =>  s.GetType ().GetProp erty(SORT_ EXPRESSION ).GetValue (s)).ToLis t<STD_WEB_ PAGES>();
  1191                                      }
  1192                                 }
  1193                             }
  1194                             else
  1195                             {
  1196                                 if  (SORT_EXP RESSION.Co ntains("." ))
  1197                                 {
  1198                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  1199                                      if (prop s != null  && props.C ount() ==  2)
  1200                                      {
  1201                                          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>();
  1202                                      }
  1203                                 }
  1204                                 el se
  1205                                 {
  1206                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<ST D_WEB_PAGE S>();
  1207                                 }
  1208                             }
  1209                         }
  1210                    }
  1211                }
  1212                return o bjReturn;
  1213           }
  1214  
  1215           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)
  1216           {
  1217                CrsMenu  crsMenu =  null;
  1218  
  1219                STD_MENU _ITEMS[] t emp = serv ices.STD_M ENU_ITEMS_ GET_MENU(C URRENT_USE R, CURRENT _REGISTRY_ ID, PATH);
  1220                if (temp  != null)
  1221                {
  1222                    List <CrsMenuIt em> menuIt ems = new  List<CrsMe nuItem>();
  1223  
  1224                    fore ach (STD_M ENU_ITEMS  item in te mp)
  1225                    {
  1226                         if (item.M ENU_PAGE ! = null)
  1227                             menuIt ems.Add(ne w CrsMenuI tem(item.M ENU_PAGE.D ISPLAY_TEX T, item.ME NU_PAGE.UR L));
  1228                    }
  1229  
  1230                    crsM enu = new  CrsMenu(me nuItems);
  1231                }
  1232  
  1233                return c rsMenu;
  1234           }
  1235  
  1236           #e ndregion
  1237  
  1238           #r egion STD_ QUESTION
  1239  
  1240           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)
  1241           {
  1242                return s ervices.ST D_QUESTION _GET(CURRE NT_USER, C URRENT_REG ISTRY_ID,  id);
  1243           }
  1244  
  1245           pu blic stati c int STD_ QUESTION_S AVE(string  CURRENT_U SER, int C URRENT_REG ISTRY_ID,  STD_QUESTI ON objSave )
  1246           {
  1247                return s ervices.ST D_QUESTION _SAVE(CURR ENT_USER,  CURRENT_RE GISTRY_ID,  objSave);
  1248           }
  1249  
  1250           pu blic stati c Boolean  STD_QUESTI ON_DELETE( string CUR RENT_USER,  int CURRE NT_REGISTR Y_ID, int  id)
  1251           {
  1252                return s ervices.ST D_QUESTION _DELETE(CU RRENT_USER , CURRENT_ REGISTRY_I D, id);
  1253           }
  1254  
  1255           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 )
  1256           {
  1257                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);
  1258                if (temp  != null)
  1259                    retu rn temp.To List<STD_Q UESTION>() ;
  1260                return n ull;
  1261           }
  1262  
  1263           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)
  1264           {
  1265                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);
  1266                if (objR eturn != n ull)
  1267                {
  1268                    if ( objReturn  != null &&  objReturn .Count !=  0)
  1269                    {
  1270                         if (!strin g.IsNullOr Empty(SEAR CH_COLUMN)  && !strin g.IsNullOr Empty(SEAR CH_TEXT))
  1271                         {
  1272                             if (SE ARCH_COLUM N.Contains ("."))
  1273                             {
  1274                                 st ring[] pro ps = SEARC H_COLUMN.S plit('.');
  1275                                 if  (props !=  null && p rops.Count () == 2)
  1276                                 {
  1277                                      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>();
  1278                                 }
  1279                             }
  1280                             else
  1281                             {
  1282                                 ob jReturn =  objReturn. Where(w =>  w.GetType ().GetProp erty(SEARC H_COLUMN). GetValue(w ) != null) .ToList<ST D_QUESTION >();
  1283                                 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>();
  1284                             }
  1285                         }
  1286                         if (!strin g.IsNullOr Empty(SORT _EXPRESSIO N))
  1287                         {
  1288                             if (SO RT_EXPRESS ION.Length  >= 4 && S ORT_EXPRES SION.Subst ring(SORT_ EXPRESSION .Length -  4, 4).ToUp per() == " DESC")
  1289                             {
  1290                                 SO RT_EXPRESS ION = SORT _EXPRESSIO N.Substrin g(0, SORT_ EXPRESSION .Length -  5);
  1291  
  1292                                 if  (SORT_EXP RESSION.Co ntains("." ))
  1293                                 {
  1294                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  1295                                      if (prop s != null  && props.C ount() ==  2)
  1296                                      {
  1297                                          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>();
  1298                                      }
  1299                                      else if  (props !=  null && pr ops.Count( ) == 3)
  1300                                      {
  1301                                      }
  1302                                 }
  1303                                 el se
  1304                                 {
  1305                                      objRetur n = objRet urn.OrderB yDescendin g(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<ST D_QUESTION >();
  1306                                 }
  1307                             }
  1308                             else i f (SORT_EX PRESSION.L ength >= 3  && SORT_E XPRESSION. Substring( SORT_EXPRE SSION.Leng th - 3, 3) .ToUpper()  == "ASC")
  1309                             {
  1310                                 SO RT_EXPRESS ION = SORT _EXPRESSIO N.Substrin g(0, SORT_ EXPRESSION .Length -  4);
  1311                                 if  (SORT_EXP RESSION.Co ntains("." ))
  1312                                 {
  1313                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  1314                                      if (prop s != null  && props.C ount() ==  2)
  1315                                      {
  1316                                          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>();
  1317                                      }
  1318                                      else if  (props !=  null && pr ops.Count( ) == 3)
  1319                                      {
  1320                                      }
  1321                                 }
  1322                                 el se
  1323                                 {
  1324                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<ST D_QUESTION >();
  1325                                 }
  1326                             }
  1327                             else
  1328                             {
  1329                                 if  (SORT_EXP RESSION.Co ntains("." ))
  1330                                 {
  1331                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  1332                                      if (prop s != null  && props.C ount() ==  2)
  1333                                      {
  1334                                          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>();
  1335                                      }
  1336                                      else if  (props !=  null && pr ops.Count( ) == 3)
  1337                                      {
  1338                                      }
  1339                                 }
  1340                                 el se
  1341                                 {
  1342                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<ST D_QUESTION >();
  1343                                 }
  1344                             }
  1345                         }
  1346                    }
  1347                }
  1348  
  1349                return o bjReturn;
  1350           }
  1351  
  1352           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)
  1353           {
  1354                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);
  1355           }
  1356  
  1357           #e ndregion
  1358  
  1359           #r egion STD_ QUESTION_C HOICE
  1360  
  1361           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)
  1362           {
  1363                return s ervices.ST D_QUESTION _CHOICE_GE T(CURRENT_ USER, CURR ENT_REGIST RY_ID, id) ;
  1364           }
  1365  
  1366           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)
  1367           {
  1368                return s ervices.ST D_QUESTION _CHOICE_SA VE(CURRENT _USER, CUR RENT_REGIS TRY_ID, ob jSave);
  1369           }
  1370  
  1371           pu blic stati c Boolean  STD_QUESTI ON_CHOICE_ DELETE(str ing CURREN T_USER, in t CURRENT_ REGISTRY_I D, int id)
  1372           {
  1373                return s ervices.ST D_QUESTION _CHOICE_DE LETE(CURRE NT_USER, C URRENT_REG ISTRY_ID,  id);
  1374           }
  1375  
  1376           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)
  1377           {
  1378                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 );
  1379                if (temp  != null)
  1380                    retu rn temp.To List<STD_Q UESTION_CH OICE>();
  1381                return n ull;
  1382           }
  1383  
  1384           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)
  1385           {
  1386                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 );
  1387  
  1388                if (objR eturn != n ull)
  1389                {
  1390                    if ( objReturn  != null &&  objReturn .Count !=  0)
  1391                    {
  1392                         if (!strin g.IsNullOr Empty(SEAR CH_COLUMN)  && !strin g.IsNullOr Empty(SEAR CH_TEXT))
  1393                         {
  1394                             if (SE ARCH_COLUM N.Contains ("."))
  1395                             {
  1396                                 st ring[] pro ps = SEARC H_COLUMN.S plit('.');
  1397                                 if  (props !=  null && p rops.Count () == 2)
  1398                                 {
  1399                                      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> ();
  1400                                 }
  1401                             }
  1402                             else
  1403                             {
  1404                                 ob jReturn =  objReturn. Where(w =>  w.GetType ().GetProp erty(SEARC H_COLUMN). GetValue(w ) != null) .ToList<ST D_QUESTION _CHOICE>() ;
  1405                                 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>();
  1406                             }
  1407                         }
  1408                         if (!strin g.IsNullOr Empty(SORT _EXPRESSIO N))
  1409                         {
  1410                             if (SO RT_EXPRESS ION.Length  >= 4 && S ORT_EXPRES SION.Subst ring(SORT_ EXPRESSION .Length -  4, 4).ToUp per() == " DESC")
  1411                             {
  1412                                 SO RT_EXPRESS ION = SORT _EXPRESSIO N.Substrin g(0, SORT_ EXPRESSION .Length -  5);
  1413  
  1414                                 if  (SORT_EXP RESSION.Co ntains("." ))
  1415                                 {
  1416                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  1417                                      if (prop s != null  && props.C ount() ==  2)
  1418                                      {
  1419                                          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>();
  1420                                      }
  1421                                      else if  (props !=  null && pr ops.Count( ) == 3)
  1422                                      {
  1423                                      }
  1424                                 }
  1425                                 el se
  1426                                 {
  1427                                      objRetur n = objRet urn.OrderB yDescendin g(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<ST D_QUESTION _CHOICE>() ;
  1428                                 }
  1429                             }
  1430                             else i f (SORT_EX PRESSION.L ength >= 3  && SORT_E XPRESSION. Substring( SORT_EXPRE SSION.Leng th - 3, 3) .ToUpper()  == "ASC")
  1431                             {
  1432                                 SO RT_EXPRESS ION = SORT _EXPRESSIO N.Substrin g(0, SORT_ EXPRESSION .Length -  4);
  1433                                 if  (SORT_EXP RESSION.Co ntains("." ))
  1434                                 {
  1435                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  1436                                      if (prop s != null  && props.C ount() ==  2)
  1437                                      {
  1438                                          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>();
  1439                                      }
  1440                                      else if  (props !=  null && pr ops.Count( ) == 3)
  1441                                      {
  1442                                      }
  1443                                 }
  1444                                 el se
  1445                                 {
  1446                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<ST D_QUESTION _CHOICE>() ;
  1447                                 }
  1448                             }
  1449                             else
  1450                             {
  1451                                 if  (SORT_EXP RESSION.Co ntains("." ))
  1452                                 {
  1453                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  1454                                      if (prop s != null  && props.C ount() ==  2)
  1455                                      {
  1456                                          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>();
  1457                                      }
  1458                                      else if  (props !=  null && pr ops.Count( ) == 3)
  1459                                      {
  1460                                      }
  1461                                 }
  1462                                 el se
  1463                                 {
  1464                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<ST D_QUESTION _CHOICE>() ;
  1465                                 }
  1466                             }
  1467                         }
  1468                    }
  1469                }
  1470  
  1471                return o bjReturn;
  1472           }
  1473  
  1474           #e ndregion
  1475  
  1476           #r egion STD_ REFERRALST S
  1477  
  1478           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)
  1479           {
  1480                return s ervices.ST D_REFERRAL STS_GET_BY _CODE(CURR ENT_USER,  CURRENT_RE GISTRY_ID,  CODE);
  1481           }
  1482  
  1483           #e ndregion
  1484  
  1485           #r egion STD_ REG_UDFs
  1486  
  1487           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)
  1488           {
  1489                return s ervices.ST D_REG_UDFs _GET(CURRE NT_USER, C URRENT_REG ISTRY_ID,  id);
  1490           }
  1491  
  1492           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 )
  1493           {
  1494                return s ervices.ST D_REG_UDFs _SAVE(CURR ENT_USER,  CURRENT_RE GISTRY_ID,  objSave);
  1495           }
  1496  
  1497           pu blic stati c Boolean  STD_REG_UD Fs_DELETE( string CUR RENT_USER,  int CURRE NT_REGISTR Y_ID, int  id)
  1498           {
  1499                return s ervices.ST D_REG_UDFs _DELETE(CU RRENT_USER , CURRENT_ REGISTRY_I D, id);
  1500           }
  1501  
  1502           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)
  1503           {
  1504                STD_REG_ UDFs[] tem p = servic es.STD_REG _UDFs_GET_ ALL_BY_REG ISTRY(CURR ENT_USER,  CURRENT_RE GISTRY_ID) ;
  1505                if (temp  != null)
  1506                    retu rn temp.To List<STD_R EG_UDFs>() ;
  1507                return n ull;
  1508           }
  1509  
  1510           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)
  1511           {
  1512                List<STD _REG_UDFs>  objReturn  = STD_REG _UDFs_GET_ ALL_BY_REG ISTRY(CURR ENT_USER,  CURRENT_RE GISTRY_ID) ;
  1513                if (objR eturn != n ull)
  1514                {
  1515                    if ( objReturn  != null &&  objReturn .Count !=  0)
  1516                    {
  1517                         if (!strin g.IsNullOr Empty(SEAR CH_COLUMN)  && !strin g.IsNullOr Empty(SEAR CH_TEXT))
  1518                         {
  1519                             if (SE ARCH_COLUM N.Contains ("."))
  1520                             {
  1521                                 st ring[] pro ps = SEARC H_COLUMN.S plit('.');
  1522                                 if  (props !=  null && p rops.Count () == 2)
  1523                                 {
  1524                                      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>();
  1525                                 }
  1526                             }
  1527                             else
  1528                             {
  1529                                 ob jReturn =  objReturn. Where(w =>  w.GetType ().GetProp erty(SEARC H_COLUMN). GetValue(w ) != null) .ToList<ST D_REG_UDFs >();
  1530                                 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>();
  1531                             }
  1532                         }
  1533                         if (!strin g.IsNullOr Empty(SORT _EXPRESSIO N))
  1534                         {
  1535                             if (SO RT_EXPRESS ION.Length  >= 4 && S ORT_EXPRES SION.Subst ring(SORT_ EXPRESSION .Length -  4, 4).ToUp per() == " DESC")
  1536                             {
  1537                                 SO RT_EXPRESS ION = SORT _EXPRESSIO N.Substrin g(0, SORT_ EXPRESSION .Length -  5);
  1538  
  1539                                 if  (SORT_EXP RESSION.Co ntains("." ))
  1540                                 {
  1541                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  1542                                      if (prop s != null  && props.C ount() ==  2)
  1543                                      {
  1544                                          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>();
  1545                                      }
  1546                                      else if  (props !=  null && pr ops.Count( ) == 3)
  1547                                      {
  1548                                      }
  1549                                 }
  1550                                 el se
  1551                                 {
  1552                                      objRetur n = objRet urn.OrderB yDescendin g(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<ST D_REG_UDFs >();
  1553                                 }
  1554                             }
  1555                             else i f (SORT_EX PRESSION.L ength >= 3  && SORT_E XPRESSION. Substring( SORT_EXPRE SSION.Leng th - 3, 3) .ToUpper()  == "ASC")
  1556                             {
  1557                                 SO RT_EXPRESS ION = SORT _EXPRESSIO N.Substrin g(0, SORT_ EXPRESSION .Length -  4);
  1558                                 if  (SORT_EXP RESSION.Co ntains("." ))
  1559                                 {
  1560                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  1561                                      if (prop s != null  && props.C ount() ==  2)
  1562                                      {
  1563                                          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>();
  1564                                      }
  1565                                      else if  (props !=  null && pr ops.Count( ) == 3)
  1566                                      {
  1567                                      }
  1568                                 }
  1569                                 el se
  1570                                 {
  1571                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<ST D_REG_UDFs >();
  1572                                 }
  1573                             }
  1574                             else
  1575                             {
  1576                                 if  (SORT_EXP RESSION.Co ntains("." ))
  1577                                 {
  1578                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  1579                                      if (prop s != null  && props.C ount() ==  2)
  1580                                      {
  1581                                          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>();
  1582                                      }
  1583                                      else if  (props !=  null && pr ops.Count( ) == 3)
  1584                                      {
  1585                                      }
  1586                                 }
  1587                                 el se
  1588                                 {
  1589                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<ST D_REG_UDFs >();
  1590                                 }
  1591                             }
  1592                         }
  1593                    }
  1594                }
  1595  
  1596                return o bjReturn;
  1597           }
  1598  
  1599           #e ndregion
  1600  
  1601           #r egion STD_ REGISTRY
  1602  
  1603           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)
  1604           {
  1605                return s ervices.ST D_REGISTRY _GET(CURRE NT_USER, C URRENT_REG ISTRY_ID,  id);
  1606           }
  1607  
  1608           pu blic stati c int STD_ REGISTRY_S AVE(string  CURRENT_U SER, int C URRENT_REG ISTRY_ID,  STD_REGIST RY objSave )
  1609           {
  1610                return s ervices.ST D_REGISTRY _SAVE(CURR ENT_USER,  CURRENT_RE GISTRY_ID,  objSave);
  1611           }
  1612  
  1613           pu blic stati c Boolean  STD_REGIST RY_DELETE( string CUR RENT_USER,  int CURRE NT_REGISTR Y_ID, int  id)
  1614           {
  1615                return s ervices.ST D_REGISTRY _DELETE(CU RRENT_USER , CURRENT_ REGISTRY_I D, id);
  1616           }
  1617  
  1618           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)
  1619           {
  1620                return s ervices.ST D_REGISTRY _GET_COMPL ETE(CURREN T_USER, CU RRENT_REGI STRY_ID, I D);
  1621           }
  1622  
  1623           pu blic stati c STD_REGI STRY STD_R EGISTRY_GE T_SYSTEM()
  1624           {
  1625                return s ervices.ST D_REGISTRY _GET_SYSTE M();
  1626           }
  1627  
  1628           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)
  1629           {
  1630                STD_REGI STRY[] tem p = servic es.STD_REG ISTRY_GET_ ALL_BY_USE R(CURRENT_ USER, CURR ENT_REGIST RY_ID);
  1631                if (temp  != null)
  1632                    retu rn temp.To List<STD_R EGISTRY>() ;
  1633                return n ull;
  1634           }
  1635  
  1636           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 )
  1637           {
  1638                List<STD _REGISTRY>  objReturn  = STD_REG ISTRY_GET_ ALL_BY_USE R(CURRENT_ USER, CURR ENT_REGIST RY_ID);
  1639                if (objR eturn != n ull)
  1640                {
  1641                    if ( objReturn  != null &&  objReturn .Count !=  0)
  1642                    {
  1643                         if (!strin g.IsNullOr Empty(SEAR CH_COLUMN)  && !strin g.IsNullOr Empty(SEAR CH_TEXT))
  1644                         {
  1645                             if (SE ARCH_COLUM N.Contains ("."))
  1646                             {
  1647                                 st ring[] pro ps = SEARC H_COLUMN.S plit('.');
  1648                                 if  (props !=  null && p rops.Count () == 2)
  1649                                 {
  1650                                      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>();
  1651                                 }
  1652                             }
  1653                             else
  1654                             {
  1655                                 ob jReturn =  objReturn. Where(w =>  w.GetType ().GetProp erty(SEARC H_COLUMN). GetValue(w ) != null) .ToList<ST D_REGISTRY >();
  1656                                 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>();
  1657                             }
  1658                         }
  1659                         if (!strin g.IsNullOr Empty(SORT _EXPRESSIO N))
  1660                         {
  1661                             if (SO RT_EXPRESS ION.Length  >= 4 && S ORT_EXPRES SION.Subst ring(SORT_ EXPRESSION .Length -  4, 4).ToUp per() == " DESC")
  1662                             {
  1663                                 SO RT_EXPRESS ION = SORT _EXPRESSIO N.Substrin g(0, SORT_ EXPRESSION .Length -  5);
  1664  
  1665                                 if  (SORT_EXP RESSION.Co ntains("." ))
  1666                                 {
  1667                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  1668                                      if (prop s != null  && props.C ount() ==  2)
  1669                                      {
  1670                                          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>();
  1671                                      }
  1672                                      else if  (props !=  null && pr ops.Count( ) == 3)
  1673                                      {
  1674                                      }
  1675                                 }
  1676                                 el se
  1677                                 {
  1678                                      objRetur n = objRet urn.OrderB yDescendin g(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<ST D_REGISTRY >();
  1679                                 }
  1680                             }
  1681                             else i f (SORT_EX PRESSION.L ength >= 3  && SORT_E XPRESSION. Substring( SORT_EXPRE SSION.Leng th - 3, 3) .ToUpper()  == "ASC")
  1682                             {
  1683                                 SO RT_EXPRESS ION = SORT _EXPRESSIO N.Substrin g(0, SORT_ EXPRESSION .Length -  4);
  1684                                 if  (SORT_EXP RESSION.Co ntains("." ))
  1685                                 {
  1686                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  1687                                      if (prop s != null  && props.C ount() ==  2)
  1688                                      {
  1689                                          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>();
  1690                                      }
  1691                                      else if  (props !=  null && pr ops.Count( ) == 3)
  1692                                      {
  1693                                      }
  1694                                 }
  1695                                 el se
  1696                                 {
  1697                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<ST D_REGISTRY >();
  1698                                 }
  1699                             }
  1700                             else
  1701                             {
  1702                                 if  (SORT_EXP RESSION.Co ntains("." ))
  1703                                 {
  1704                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  1705                                      if (prop s != null  && props.C ount() ==  2)
  1706                                      {
  1707                                          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>();
  1708                                      }
  1709                                      else if  (props !=  null && pr ops.Count( ) == 3)
  1710                                      {
  1711                                      }
  1712                                 }
  1713                                 el se
  1714                                 {
  1715                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<ST D_REGISTRY >();
  1716                                 }
  1717                             }
  1718                         }
  1719                    }
  1720                }
  1721  
  1722                return o bjReturn;
  1723           }
  1724  
  1725           pu blic stati c List<STD _REGISTRY>  STD_REGIS TRY_GET_AL L_NON_SYST EM()
  1726           {
  1727                STD_REGI STRY[] tem p = servic es.STD_REG ISTRY_GET_ ALL_NON_SY STEM();
  1728                if (temp  != null)
  1729                    retu rn temp.To List<STD_R EGISTRY>() ;
  1730                return n ull;
  1731           }
  1732  
  1733           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)
  1734           {
  1735                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);
  1736                if (temp  != null)
  1737                    retu rn temp.To List<STD_R EGISTRY>() ;
  1738                return n ull;
  1739           }
  1740  
  1741           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)
  1742           {
  1743                List<STD _REGISTRY>  objReturn  = STD_REG ISTRY_GET_ ALL_NON_SY STEM_BY_US ER(CURRENT _USER, CUR RENT_REGIS TRY_ID);
  1744                if (objR eturn != n ull)
  1745                {
  1746                    if ( objReturn  != null &&  objReturn .Count !=  0)
  1747                    {
  1748                         if (!strin g.IsNullOr Empty(SEAR CH_COLUMN)  && !strin g.IsNullOr Empty(SEAR CH_TEXT))
  1749                         {
  1750                             if (SE ARCH_COLUM N.Contains ("."))
  1751                             {
  1752                                 st ring[] pro ps = SEARC H_COLUMN.S plit('.');
  1753                                 if  (props !=  null && p rops.Count () == 2)
  1754                                 {
  1755                                      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>();
  1756                                 }
  1757                             }
  1758                             else
  1759                             {
  1760                                 ob jReturn =  objReturn. Where(w =>  w.GetType ().GetProp erty(SEARC H_COLUMN). GetValue(w ) != null) .ToList<ST D_REGISTRY >();
  1761                                 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>();
  1762                             }
  1763                         }
  1764                         if (!strin g.IsNullOr Empty(SORT _EXPRESSIO N))
  1765                         {
  1766                             if (SO RT_EXPRESS ION.Length  >= 4 && S ORT_EXPRES SION.Subst ring(SORT_ EXPRESSION .Length -  4, 4).ToUp per() == " DESC")
  1767                             {
  1768                                 SO RT_EXPRESS ION = SORT _EXPRESSIO N.Substrin g(0, SORT_ EXPRESSION .Length -  5);
  1769  
  1770                                 if  (SORT_EXP RESSION.Co ntains("." ))
  1771                                 {
  1772                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  1773                                      if (prop s != null  && props.C ount() ==  2)
  1774                                      {
  1775                                          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>();
  1776                                      }
  1777                                 }
  1778                                 el se
  1779                                      objRetur n = objRet urn.OrderB yDescendin g(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<ST D_REGISTRY >();
  1780                             }
  1781                             else
  1782                             {
  1783                                 if  (SORT_EXP RESSION.Co ntains("." ))
  1784                                 {
  1785                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  1786                                      if (prop s != null  && props.C ount() ==  2)
  1787                                      {
  1788                                          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>();
  1789                                      }
  1790                                 }
  1791                                 el se
  1792                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<ST D_REGISTRY >();
  1793                             }
  1794                         }
  1795                    }
  1796                }
  1797                return o bjReturn;
  1798           }
  1799  
  1800           #e ndregion
  1801  
  1802           #r egion STD_ REGISTRY_C ODES
  1803           #e ndregion
  1804  
  1805           #r egion STD_ REGISTRY_C OHORT_TYPE S
  1806           #e ndregion
  1807  
  1808           #r egion STD_ REGISTRY_C ORE_TYPES
  1809           #e ndregion
  1810  
  1811           #r egion STD_ ROLE
  1812  
  1813           pu blic stati c STD_ROLE  STD_ROLE_ GET(string  CURRENT_U SER, int C URRENT_REG ISTRY_ID,  int id)
  1814           {
  1815                return s ervices.ST D_ROLE_GET (CURRENT_U SER, CURRE NT_REGISTR Y_ID, id);
  1816           }
  1817  
  1818           pu blic stati c List<STD _ROLE> STD _ROLE_GET_ ALL_SYSTEM _ROLES(str ing CURREN T_USER, in t CURRENT_ REGISTRY_I D)
  1819           {
  1820                STD_ROLE [] temp =  services.S TD_ROLE_GE T_ALL_SYST EM_ROLES(C URRENT_USE R, CURRENT _REGISTRY_ ID);
  1821                if (temp  != null)
  1822                    retu rn temp.To List<STD_R OLE>();
  1823                return n ull;
  1824           }
  1825  
  1826           pu blic stati c List<STD _ROLE> STD _ROLE_GET_ ALL_REGIST RY_ROLES(s tring CURR ENT_USER,  int CURREN T_REGISTRY _ID)
  1827           {
  1828                STD_ROLE [] temp =  services.S TD_ROLE_GE T_ALL_REGI STRY_ROLES (CURRENT_U SER, CURRE NT_REGISTR Y_ID);
  1829                if (temp  != null)
  1830                    retu rn temp.To List<STD_R OLE>();
  1831                return n ull;
  1832           }
  1833  
  1834           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)
  1835           {
  1836                List<STD _ROLE> obj Return = S TD_ROLE_GE T_ALL_REGI STRY_ROLES (CURRENT_U SER, CURRE NT_REGISTR Y_ID);
  1837                if (objR eturn != n ull)
  1838                {
  1839                    if ( objReturn  != null &&  objReturn .Count !=  0)
  1840                    {
  1841                         if (!strin g.IsNullOr Empty(SEAR CH_COLUMN)  && !strin g.IsNullOr Empty(SEAR CH_TEXT))
  1842                         {
  1843                             if (SE ARCH_COLUM N.Contains ("."))
  1844                             {
  1845                                 st ring[] pro ps = SEARC H_COLUMN.S plit('.');
  1846                                 if  (props !=  null && p rops.Count () == 2)
  1847                                 {
  1848                                      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>( );
  1849                                 }
  1850                             }
  1851                             else
  1852                             {
  1853                                 ob jReturn =  objReturn. Where(w =>  w.GetType ().GetProp erty(SEARC H_COLUMN). GetValue(w ) != null) .ToList<ST D_ROLE>();
  1854                                 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>();
  1855                             }
  1856                         }
  1857                         if (!strin g.IsNullOr Empty(SORT _EXPRESSIO N))
  1858                         {
  1859                             if (SO RT_EXPRESS ION.Length  >= 4 && S ORT_EXPRES SION.Subst ring(SORT_ EXPRESSION .Length -  4, 4).ToUp per() == " DESC")
  1860                             {
  1861                                 SO RT_EXPRESS ION = SORT _EXPRESSIO N.Substrin g(0, SORT_ EXPRESSION .Length -  5);
  1862  
  1863                                 if  (SORT_EXP RESSION.Co ntains("." ))
  1864                                 {
  1865                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  1866                                      if (prop s != null  && props.C ount() ==  2)
  1867                                      {
  1868                                          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>();
  1869                                      }
  1870                                      else if  (props !=  null && pr ops.Count( ) == 3)
  1871                                      {
  1872                                      }
  1873                                 }
  1874                                 el se
  1875                                 {
  1876                                      objRetur n = objRet urn.OrderB yDescendin g(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<ST D_ROLE>();
  1877                                 }
  1878                             }
  1879                             else i f (SORT_EX PRESSION.L ength >= 3  && SORT_E XPRESSION. Substring( SORT_EXPRE SSION.Leng th - 3, 3) .ToUpper()  == "ASC")
  1880                             {
  1881                                 SO RT_EXPRESS ION = SORT _EXPRESSIO N.Substrin g(0, SORT_ EXPRESSION .Length -  4);
  1882                                 if  (SORT_EXP RESSION.Co ntains("." ))
  1883                                 {
  1884                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  1885                                      if (prop s != null  && props.C ount() ==  2)
  1886                                      {
  1887                                          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>();
  1888                                      }
  1889                                      else if  (props !=  null && pr ops.Count( ) == 3)
  1890                                      {
  1891                                      }
  1892                                 }
  1893                                 el se
  1894                                 {
  1895                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<ST D_ROLE>();
  1896                                 }
  1897                             }
  1898                             else
  1899                             {
  1900                                 if  (SORT_EXP RESSION.Co ntains("." ))
  1901                                 {
  1902                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  1903                                      if (prop s != null  && props.C ount() ==  2)
  1904                                      {
  1905                                          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>();
  1906                                      }
  1907                                      else if  (props !=  null && pr ops.Count( ) == 3)
  1908                                      {
  1909                                      }
  1910                                 }
  1911                                 el se
  1912                                 {
  1913                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<ST D_ROLE>();
  1914                                 }
  1915                             }
  1916                         }
  1917                    }
  1918                }
  1919  
  1920                return o bjReturn;
  1921           }
  1922  
  1923           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)
  1924           {
  1925                STD_ROLE [] temp =  services.S TD_ROLE_GE T_ALL_BY_U SER_REGIST RY(CURRENT _USER, CUR RENT_REGIS TRY_ID);
  1926                if (temp  != null)
  1927                    retu rn temp.To List<STD_R OLE>();
  1928                return n ull;
  1929           }
  1930  
  1931           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)
  1932           {
  1933                List<STD _ROLE> obj Return = S TD_ROLE_GE T_ALL_BY_U SER_REGIST RY(CURRENT _USER, CUR RENT_REGIS TRY_ID);
  1934                if (objR eturn != n ull)
  1935                {
  1936                    if ( objReturn  != null &&  objReturn .Count !=  0)
  1937                    {
  1938                         if (!strin g.IsNullOr Empty(SEAR CH_COLUMN)  && !strin g.IsNullOr Empty(SEAR CH_TEXT))
  1939                         {
  1940                             if (SE ARCH_COLUM N.Contains ("."))
  1941                             {
  1942                                 st ring[] pro ps = SEARC H_COLUMN.S plit('.');
  1943                                 if  (props !=  null && p rops.Count () == 2)
  1944                                 {
  1945                                      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>( );
  1946                                 }
  1947                             }
  1948                             else
  1949                             {
  1950                                 ob jReturn =  objReturn. Where(w =>  w.GetType ().GetProp erty(SEARC H_COLUMN). GetValue(w ) != null) .ToList<ST D_ROLE>();
  1951                                 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>();
  1952                             }
  1953                         }
  1954                         if (!strin g.IsNullOr Empty(SORT _EXPRESSIO N))
  1955                         {
  1956                             if (SO RT_EXPRESS ION.Length  >= 4 && S ORT_EXPRES SION.Subst ring(SORT_ EXPRESSION .Length -  4, 4).ToUp per() == " DESC")
  1957                             {
  1958                                 SO RT_EXPRESS ION = SORT _EXPRESSIO N.Substrin g(0, SORT_ EXPRESSION .Length -  5);
  1959  
  1960                                 if  (SORT_EXP RESSION.Co ntains("." ))
  1961                                 {
  1962                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  1963                                      if (prop s != null  && props.C ount() ==  2)
  1964                                      {
  1965                                          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>();
  1966                                      }
  1967                                 }
  1968                                 el se
  1969                                      objRetur n = objRet urn.OrderB yDescendin g(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<ST D_ROLE>();
  1970                             }
  1971                             else
  1972                             {
  1973                                 if  (SORT_EXP RESSION.Co ntains("." ))
  1974                                 {
  1975                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  1976                                      if (prop s != null  && props.C ount() ==  2)
  1977                                      {
  1978                                          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>();
  1979                                      }
  1980                                 }
  1981                                 el se
  1982                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<ST D_ROLE>();
  1983                             }
  1984                         }
  1985                    }
  1986                }
  1987                return o bjReturn;
  1988           }
  1989  
  1990           #e ndregion
  1991  
  1992           #r egion STD_ SERVICE_OC CUPATION
  1993           #e ndregion
  1994  
  1995           #r egion STD_ STATE
  1996           #e ndregion
  1997  
  1998           #r egion STD_ SURVEY_SEC TION
  1999           #e ndregion
  2000  
  2001           #r egion STD_ SURVEY_SUB _SECTION
  2002           #e ndregion
  2003  
  2004           #r egion STD_ SURVEY_TYP E
  2005  
  2006           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 )
  2007           {
  2008                return s ervices.ST D_SURVEY_T YPE_GET(CU RRENT_USER , CURRENT_ REGISTRY_I D, id);
  2009           }
  2010  
  2011           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)
  2012           {
  2013                return s ervices.ST D_SURVEY_T YPE_SAVE(C URRENT_USE R, CURRENT _REGISTRY_ ID, objSav e);
  2014           }
  2015  
  2016           pu blic stati c Boolean  STD_SURVEY _TYPE_DELE TE(string  CURRENT_US ER, int CU RRENT_REGI STRY_ID, i nt id)
  2017           {
  2018                return s ervices.ST D_SURVEY_T YPE_DELETE (CURRENT_U SER, CURRE NT_REGISTR Y_ID, id);
  2019           }
  2020  
  2021           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)
  2022           {
  2023                STD_SURV EY_TYPE[]  temp = ser vices.STD_ SURVEY_TYP E_GET_ALL_ BY_REGISTR Y(CURRENT_ USER, CURR ENT_REGIST RY_ID);
  2024                if (temp  != null)
  2025                    retu rn temp.To List<STD_S URVEY_TYPE >();
  2026                return n ull;
  2027           }
  2028  
  2029           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 )
  2030           {
  2031                List<STD _SURVEY_TY PE> objRet urn = STD_ SURVEY_TYP E_GET_ALL_ BY_REGISTR Y(CURRENT_ USER, CURR ENT_REGIST RY_ID);
  2032                if (objR eturn != n ull)
  2033                {
  2034                    if ( objReturn  != null &&  objReturn .Count !=  0)
  2035                    {
  2036                         if (!strin g.IsNullOr Empty(SEAR CH_COLUMN)  && !strin g.IsNullOr Empty(SEAR CH_TEXT))
  2037                         {
  2038                             if (SE ARCH_COLUM N.Contains ("."))
  2039                             {
  2040                                 st ring[] pro ps = SEARC H_COLUMN.S plit('.');
  2041                                 if  (props !=  null && p rops.Count () == 2)
  2042                                 {
  2043                                      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>();
  2044                                 }
  2045                             }
  2046                             else
  2047                             {
  2048                                 ob jReturn =  objReturn. Where(w =>  w.GetType ().GetProp erty(SEARC H_COLUMN). GetValue(w ) != null) .ToList<ST D_SURVEY_T YPE>();
  2049                                 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>( );
  2050                             }
  2051                         }
  2052                         if (!strin g.IsNullOr Empty(SORT _EXPRESSIO N))
  2053                         {
  2054                             if (SO RT_EXPRESS ION.Length  >= 4 && S ORT_EXPRES SION.Subst ring(SORT_ EXPRESSION .Length -  4, 4).ToUp per() == " DESC")
  2055                             {
  2056                                 SO RT_EXPRESS ION = SORT _EXPRESSIO N.Substrin g(0, SORT_ EXPRESSION .Length -  5);
  2057  
  2058                                 if  (SORT_EXP RESSION.Co ntains("." ))
  2059                                 {
  2060                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  2061                                      if (prop s != null  && props.C ount() ==  2)
  2062                                      {
  2063                                          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>( );
  2064                                      }
  2065                                      else if  (props !=  null && pr ops.Count( ) == 3)
  2066                                      {
  2067                                      }
  2068                                 }
  2069                                 el se
  2070                                 {
  2071                                      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>();
  2072                                 }
  2073                             }
  2074                             else i f (SORT_EX PRESSION.L ength >= 3  && SORT_E XPRESSION. Substring( SORT_EXPRE SSION.Leng th - 3, 3) .ToUpper()  == "ASC")
  2075                             {
  2076                                 SO RT_EXPRESS ION = SORT _EXPRESSIO N.Substrin g(0, SORT_ EXPRESSION .Length -  4);
  2077                                 if  (SORT_EXP RESSION.Co ntains("." ))
  2078                                 {
  2079                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  2080                                      if (prop s != null  && props.C ount() ==  2)
  2081                                      {
  2082                                          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>( );
  2083                                      }
  2084                                      else if  (props !=  null && pr ops.Count( ) == 3)
  2085                                      {
  2086                                      }
  2087                                 }
  2088                                 el se
  2089                                 {
  2090                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<ST D_SURVEY_T YPE>();
  2091                                 }
  2092                             }
  2093                             else
  2094                             {
  2095                                 if  (SORT_EXP RESSION.Co ntains("." ))
  2096                                 {
  2097                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  2098                                      if (prop s != null  && props.C ount() ==  2)
  2099                                      {
  2100                                          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>( );
  2101                                      }
  2102                                      else if  (props !=  null && pr ops.Count( ) == 3)
  2103                                      {
  2104                                      }
  2105                                 }
  2106                                 el se
  2107                                 {
  2108                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<ST D_SURVEY_T YPE>();
  2109                                 }
  2110                             }
  2111                         }
  2112                    }
  2113                }
  2114  
  2115                return o bjReturn;
  2116           }
  2117  
  2118           #e ndregion
  2119  
  2120           #r egion STD_ USER_ACTIV ITY_TYPE
  2121           #e ndregion
  2122  
  2123           #r egion STD_ WEB_PAGES
  2124  
  2125           pu blic stati c STD_WEB_ PAGES STD_ WEB_PAGES_ GET(string  CURRENT_U SER, int C URRENT_REG ISTRY_ID,  int id)
  2126           {
  2127                return s ervices.ST D_WEB_PAGE S_GET(CURR ENT_USER,  CURRENT_RE GISTRY_ID,  id);
  2128           }
  2129  
  2130           pu blic stati c List<STD _WEB_PAGES > STD_WEB_ PAGES_GET_ ALL(string  CURRENT_U SER, int C URRENT_REG ISTRY_ID)
  2131           {
  2132                STD_WEB_ PAGES[] te mp = servi ces.STD_WE B_PAGES_GE T_ALL(CURR ENT_USER,  CURRENT_RE GISTRY_ID) ;
  2133                if (temp  != null)
  2134                    retu rn temp.To List<STD_W EB_PAGES>( );
  2135                return n ull;
  2136           }
  2137  
  2138           pu blic stati c int STD_ WEB_PAGES_ SAVE(strin g CURRENT_ USER, int  CURRENT_RE GISTRY_ID,  STD_WEB_P AGES objSa ve)
  2139           {
  2140                return s ervices.ST D_WEB_PAGE S_SAVE(CUR RENT_USER,  CURRENT_R EGISTRY_ID , objSave) ;
  2141           }
  2142  
  2143           pu blic stati c Boolean  STD_WEB_PA GES_DELETE (string CU RRENT_USER , int CURR ENT_REGIST RY_ID, int  id)
  2144           {
  2145                return s ervices.ST D_WEB_PAGE S_DELETE(C URRENT_USE R, CURRENT _REGISTRY_ ID, id);
  2146           }
  2147  
  2148           #e ndregion
  2149  
  2150           #r egion STD_ WKFACTIVIT YSTS
  2151  
  2152           pu blic stati c STD_WKFA CTIVITYSTS  STD_WKFAC TIVITYSTS_ GET(string  CURRENT_U SER, int C URRENT_REG ISTRY_ID,  int id)
  2153           {
  2154                return s ervices.ST D_WKFACTIV ITYSTS_GET (CURRENT_U SER, CURRE NT_REGISTR Y_ID, id);
  2155           }
  2156  
  2157           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)
  2158           {
  2159                return s ervices.ST D_WKFACTIV ITYSTS_GET _BY_CODE(C URRENT_USE R, CURRENT _REGISTRY_ ID, CODE);
  2160           }
  2161  
  2162           #e ndregion
  2163  
  2164           #r egion STD_ WKFACTIVIT YTYPE
  2165  
  2166           pu blic stati c STD_WKFA CTIVITYTYP E STD_WKFA CTIVITYTYP E_GET(stri ng CURRENT _USER, int  CURRENT_R EGISTRY_ID , int id)
  2167           {
  2168                return s ervices.ST D_WKFACTIV ITYTYPE_GE T(CURRENT_ USER, CURR ENT_REGIST RY_ID, id) ;
  2169           }
  2170  
  2171           pu blic stati c int STD_ WKFACTIVIT YTYPE_SAVE (string CU RRENT_USER , int CURR ENT_REGIST RY_ID, STD _WKFACTIVI TYTYPE obj Save)
  2172           {
  2173                return s ervices.ST D_WKFACTIV ITYTYPE_SA VE(CURRENT _USER, CUR RENT_REGIS TRY_ID, ob jSave);
  2174           }
  2175  
  2176           pu blic stati c Boolean  STD_WKFACT IVITYTYPE_ DELETE(str ing CURREN T_USER, in t CURRENT_ REGISTRY_I D, int id)
  2177           {
  2178                return s ervices.ST D_WKFACTIV ITYTYPE_DE LETE(CURRE NT_USER, C URRENT_REG ISTRY_ID,  id);
  2179           }
  2180  
  2181           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)
  2182           {
  2183                STD_WKFA CTIVITYTYP E[] temp =  services. STD_WKFACT IVITYTYPE_ GET_ALL_BY _REGISTRY( CURRENT_US ER, CURREN T_REGISTRY _ID);
  2184                if (temp  != null)
  2185                    retu rn temp.To List<STD_W KFACTIVITY TYPE>();
  2186                return n ull;
  2187           }
  2188  
  2189           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)
  2190           {
  2191                List<STD _WKFACTIVI TYTYPE> ob jReturn =  STD_WKFACT IVITYTYPE_ GET_ALL_BY _REGISTRY( CURRENT_US ER, CURREN T_REGISTRY _ID);
  2192                if (objR eturn != n ull)
  2193                {
  2194                    if ( objReturn  != null &&  objReturn .Count !=  0)
  2195                    {
  2196                         if (!strin g.IsNullOr Empty(SEAR CH_COLUMN)  && !strin g.IsNullOr Empty(SEAR CH_TEXT))
  2197                         {
  2198                             if (SE ARCH_COLUM N.Contains ("."))
  2199                             {
  2200                                 st ring[] pro ps = SEARC H_COLUMN.S plit('.');
  2201                                 if  (props !=  null && p rops.Count () == 2)
  2202                                 {
  2203                                      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> ();
  2204                                 }
  2205                             }
  2206                             else
  2207                             {
  2208                                 ob jReturn =  objReturn. Where(w =>  w.GetType ().GetProp erty(SEARC H_COLUMN). GetValue(w ) != null) .ToList<ST D_WKFACTIV ITYTYPE>() ;
  2209                                 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>();
  2210                             }
  2211                         }
  2212                         if (!strin g.IsNullOr Empty(SORT _EXPRESSIO N))
  2213                         {
  2214                             if (SO RT_EXPRESS ION.Length  >= 4 && S ORT_EXPRES SION.Subst ring(SORT_ EXPRESSION .Length -  4, 4).ToUp per() == " DESC")
  2215                             {
  2216                                 SO RT_EXPRESS ION = SORT _EXPRESSIO N.Substrin g(0, SORT_ EXPRESSION .Length -  5);
  2217  
  2218                                 if  (SORT_EXP RESSION.Co ntains("." ))
  2219                                 {
  2220                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  2221                                      if (prop s != null  && props.C ount() ==  2)
  2222                                      {
  2223                                          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>();
  2224                                      }
  2225                                      else if  (props !=  null && pr ops.Count( ) == 3)
  2226                                      {
  2227                                      }
  2228                                 }
  2229                                 el se
  2230                                 {
  2231                                      objRetur n = objRet urn.OrderB yDescendin g(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<ST D_WKFACTIV ITYTYPE>() ;
  2232                                 }
  2233                             }
  2234                             else i f (SORT_EX PRESSION.L ength >= 3  && SORT_E XPRESSION. Substring( SORT_EXPRE SSION.Leng th - 3, 3) .ToUpper()  == "ASC")
  2235                             {
  2236                                 SO RT_EXPRESS ION = SORT _EXPRESSIO N.Substrin g(0, SORT_ EXPRESSION .Length -  4);
  2237                                 if  (SORT_EXP RESSION.Co ntains("." ))
  2238                                 {
  2239                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  2240                                      if (prop s != null  && props.C ount() ==  2)
  2241                                      {
  2242                                          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>();
  2243                                      }
  2244                                      else if  (props !=  null && pr ops.Count( ) == 3)
  2245                                      {
  2246                                      }
  2247                                 }
  2248                                 el se
  2249                                 {
  2250                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<ST D_WKFACTIV ITYTYPE>() ;
  2251                                 }
  2252                             }
  2253                             else
  2254                             {
  2255                                 if  (SORT_EXP RESSION.Co ntains("." ))
  2256                                 {
  2257                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  2258                                      if (prop s != null  && props.C ount() ==  2)
  2259                                      {
  2260                                          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>();
  2261                                      }
  2262                                      else if  (props !=  null && pr ops.Count( ) == 3)
  2263                                      {
  2264                                      }
  2265                                 }
  2266                                 el se
  2267                                 {
  2268                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<ST D_WKFACTIV ITYTYPE>() ;
  2269                                 }
  2270                             }
  2271                         }
  2272                    }
  2273                }
  2274  
  2275                return o bjReturn;
  2276           }
  2277  
  2278           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)
  2279           {
  2280                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);
  2281                if (temp  != null)
  2282                    retu rn temp.To List<STD_W KFACTIVITY TYPE>();
  2283                return n ull;
  2284           }
  2285  
  2286           #e ndregion
  2287  
  2288           #r egion STD_ WKFCASESTS
  2289  
  2290           pu blic stati c STD_WKFC ASESTS STD _WKFCASEST S_GET(stri ng CURRENT _USER, int  CURRENT_R EGISTRY_ID , int id)
  2291           {
  2292                return s ervices.ST D_WKFCASES TS_GET(CUR RENT_USER,  CURRENT_R EGISTRY_ID , id);
  2293           }
  2294  
  2295           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)
  2296           {
  2297                return s ervices.ST D_WKFCASES TS_GET_BY_ CODE(CURRE NT_USER, C URRENT_REG ISTRY_ID,  CODE);
  2298           }
  2299  
  2300           #e ndregion
  2301  
  2302           #r egion STD_ WKFCASETYP E
  2303  
  2304           pu blic stati c STD_WKFC ASETYPE ST D_WKFCASET YPE_GET(st ring CURRE NT_USER, i nt CURRENT _REGISTRY_ ID, int id )
  2305           {
  2306                return s ervices.ST D_WKFCASET YPE_GET(CU RRENT_USER , CURRENT_ REGISTRY_I D, id);
  2307           }
  2308  
  2309           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)
  2310           {
  2311                return s ervices.ST D_WKFCASET YPE_SAVE(C URRENT_USE R, CURRENT _REGISTRY_ ID, objSav e);
  2312           }
  2313  
  2314           pu blic stati c Boolean  STD_WKFCAS ETYPE_DELE TE(string  CURRENT_US ER, int CU RRENT_REGI STRY_ID, i nt id)
  2315           {
  2316                return s ervices.ST D_WKFCASET YPE_DELETE (CURRENT_U SER, CURRE NT_REGISTR Y_ID, id);
  2317           }
  2318  
  2319           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)
  2320           {
  2321                STD_WKFC ASETYPE[]  temp = ser vices.STD_ WKFCASETYP E_GET_ALL_ BY_REGISTR Y(CURRENT_ USER, CURR ENT_REGIST RY_ID);
  2322                if (temp  != null)
  2323                    retu rn temp.To List<STD_W KFCASETYPE >();
  2324                return n ull;
  2325           }
  2326  
  2327           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 )
  2328           {
  2329                List<STD _WKFCASETY PE> objRet urn = STD_ WKFCASETYP E_GET_ALL_ BY_REGISTR Y(CURRENT_ USER, CURR ENT_REGIST RY_ID);
  2330                if (objR eturn != n ull)
  2331                {
  2332                    if ( objReturn  != null &&  objReturn .Count !=  0)
  2333                    {
  2334                         if (!strin g.IsNullOr Empty(SEAR CH_COLUMN)  && !strin g.IsNullOr Empty(SEAR CH_TEXT))
  2335                         {
  2336                             if (SE ARCH_COLUM N.Contains ("."))
  2337                             {
  2338                                 st ring[] pro ps = SEARC H_COLUMN.S plit('.');
  2339                                 if  (props !=  null && p rops.Count () == 2)
  2340                                 {
  2341                                      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>();
  2342                                 }
  2343                             }
  2344                             else
  2345                             {
  2346                                 ob jReturn =  objReturn. Where(w =>  w.GetType ().GetProp erty(SEARC H_COLUMN). GetValue(w ) != null) .ToList<ST D_WKFCASET YPE>();
  2347                                 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>( );
  2348                             }
  2349                         }
  2350                         if (!strin g.IsNullOr Empty(SORT _EXPRESSIO N))
  2351                         {
  2352                             if (SO RT_EXPRESS ION.Length  >= 4 && S ORT_EXPRES SION.Subst ring(SORT_ EXPRESSION .Length -  4, 4).ToUp per() == " DESC")
  2353                             {
  2354                                 SO RT_EXPRESS ION = SORT _EXPRESSIO N.Substrin g(0, SORT_ EXPRESSION .Length -  5);
  2355  
  2356                                 if  (SORT_EXP RESSION.Co ntains("." ))
  2357                                 {
  2358                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  2359                                      if (prop s != null  && props.C ount() ==  2)
  2360                                      {
  2361                                          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>( );
  2362                                      }
  2363                                      else if  (props !=  null && pr ops.Count( ) == 3)
  2364                                      {
  2365                                      }
  2366                                 }
  2367                                 el se
  2368                                 {
  2369                                      objRetur n = objRet urn.OrderB yDescendin g(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<ST D_WKFCASET YPE>();
  2370                                 }
  2371                             }
  2372                             else i f (SORT_EX PRESSION.L ength >= 3  && SORT_E XPRESSION. Substring( SORT_EXPRE SSION.Leng th - 3, 3) .ToUpper()  == "ASC")
  2373                             {
  2374                                 SO RT_EXPRESS ION = SORT _EXPRESSIO N.Substrin g(0, SORT_ EXPRESSION .Length -  4);
  2375                                 if  (SORT_EXP RESSION.Co ntains("." ))
  2376                                 {
  2377                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  2378                                      if (prop s != null  && props.C ount() ==  2)
  2379                                      {
  2380                                          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>( );
  2381                                      }
  2382                                      else if  (props !=  null && pr ops.Count( ) == 3)
  2383                                      {
  2384                                      }
  2385                                 }
  2386                                 el se
  2387                                 {
  2388                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<ST D_WKFCASET YPE>();
  2389                                 }
  2390                             }
  2391                             else
  2392                             {
  2393                                 if  (SORT_EXP RESSION.Co ntains("." ))
  2394                                 {
  2395                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  2396                                      if (prop s != null  && props.C ount() ==  2)
  2397                                      {
  2398                                          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>( );
  2399                                      }
  2400                                      else if  (props !=  null && pr ops.Count( ) == 3)
  2401                                      {
  2402                                      }
  2403                                 }
  2404                                 el se
  2405                                 {
  2406                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<ST D_WKFCASET YPE>();
  2407                                 }
  2408                             }
  2409                         }
  2410                    }
  2411                }
  2412  
  2413                return o bjReturn;
  2414           }
  2415  
  2416           #e ndregion
  2417  
  2418           #r egion SURV EY_NOTES
  2419           #e ndregion
  2420  
  2421           #r egion SURV EY_RESULTS
  2422  
  2423           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)
  2424           {
  2425                SURVEY_R ESULTS[] t emp = serv ices.SURVE Y_RESULTS_ GET_ALL_BY _SURVEY(CU RRENT_USER , CURRENT_ REGISTRY_I D, SURVEY_ ID);
  2426                if (temp  != null)
  2427                    retu rn temp.To List<SURVE Y_RESULTS> ();
  2428                return n ull;
  2429           }
  2430  
  2431           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)
  2432           {
  2433                SURVEY_R ESULTS[] t emp = RESU LTS.ToArra y();
  2434                return s ervices.SU RVEY_RESUL TS_SAVE_AL L(CURRENT_ USER, CURR ENT_REGIST RY_ID, tem p);
  2435           }
  2436  
  2437           #e ndregion
  2438  
  2439           #r egion SURV EYS
  2440  
  2441           pu blic stati c SURVEYS  SURVEYS_GE T(string C URRENT_USE R, int CUR RENT_REGIS TRY_ID, in t id)
  2442           {
  2443                return s ervices.SU RVEYS_GET( CURRENT_US ER, CURREN T_REGISTRY _ID, id);
  2444           }
  2445  
  2446           pu blic stati c int SURV EYS_SAVE(s tring CURR ENT_USER,  int CURREN T_REGISTRY _ID, SURVE YS objSave )
  2447           {
  2448                return s ervices.SU RVEYS_SAVE (CURRENT_U SER, CURRE NT_REGISTR Y_ID, objS ave);
  2449           }
  2450  
  2451           pu blic stati c Boolean  SURVEYS_DE LETE(strin g CURRENT_ USER, int  CURRENT_RE GISTRY_ID,  int id)
  2452           {
  2453                return s ervices.SU RVEYS_DELE TE(CURRENT _USER, CUR RENT_REGIS TRY_ID, id );
  2454           }
  2455  
  2456           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)
  2457           {
  2458                return s ervices.SU RVEYS_GET_ FOR_SURVEY (CURRENT_U SER, CURRE NT_REGISTR Y_ID, SURV EYS_ID);
  2459           }
  2460  
  2461           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)
  2462           {
  2463                SURVEYS[ ] temp = s ervices.SU RVEYS_GET_ ALL_BY_REG ISTRY(CURR ENT_USER,  CURRENT_RE GISTRY_ID) ;
  2464                if (temp  != null)
  2465                    retu rn temp.To List<SURVE YS>();
  2466                return n ull;
  2467           }
  2468  
  2469           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 )
  2470           {
  2471                List<SUR VEYS> objR eturn = SU RVEYS_GET_ ALL_BY_REG ISTRY(CURR ENT_USER,  CURRENT_RE GISTRY_ID) ;
  2472                if (objR eturn != n ull)
  2473                {
  2474                    if ( PATIENT_ID  > 0)
  2475                    {
  2476                         objReturn  = objRetur n.Where(x  => x.PATIE NT_ID == P ATIENT_ID) .ToList();
  2477                    }
  2478                    if ( objReturn  != null &&  objReturn .Count !=  0)
  2479                    {
  2480                         if (!strin g.IsNullOr Empty(SEAR CH_COLUMN)  && !strin g.IsNullOr Empty(SEAR CH_TEXT))
  2481                         {
  2482                             if (SE ARCH_COLUM N.Contains ("."))
  2483                             {
  2484                                 st ring[] pro ps = SEARC H_COLUMN.S plit('.');
  2485                                 if  (props !=  null && p rops.Count () == 2)
  2486                                 {
  2487                                      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>() ;
  2488                                 }
  2489                             }
  2490                             else
  2491                             {
  2492                                 ob jReturn =  objReturn. Where(w =>  w.GetType ().GetProp erty(SEARC H_COLUMN). GetValue(w ) != null) .ToList<SU RVEYS>();
  2493                                 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 >();
  2494                             }
  2495                         }
  2496                         if (!strin g.IsNullOr Empty(SORT _EXPRESSIO N))
  2497                         {
  2498                             if (SO RT_EXPRESS ION.Length  >= 4 && S ORT_EXPRES SION.Subst ring(SORT_ EXPRESSION .Length -  4, 4).ToUp per() == " DESC")
  2499                             {
  2500                                 SO RT_EXPRESS ION = SORT _EXPRESSIO N.Substrin g(0, SORT_ EXPRESSION .Length -  5);
  2501  
  2502                                 if  (SORT_EXP RESSION.Co ntains("." ))
  2503                                 {
  2504                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  2505                                      if (prop s != null  && props.C ount() ==  2)
  2506                                      {
  2507                                          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 >();
  2508                                      }
  2509                                      else if  (props !=  null && pr ops.Count( ) == 3)
  2510                                      {
  2511                                      }
  2512                                 }
  2513                                 el se
  2514                                 {
  2515                                      objRetur n = objRet urn.OrderB yDescendin g(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<SU RVEYS>();
  2516                                 }
  2517                             }
  2518                             else i f (SORT_EX PRESSION.L ength >= 3  && SORT_E XPRESSION. Substring( SORT_EXPRE SSION.Leng th - 3, 3) .ToUpper()  == "ASC")
  2519                             {
  2520                                 SO RT_EXPRESS ION = SORT _EXPRESSIO N.Substrin g(0, SORT_ EXPRESSION .Length -  4);
  2521                                 if  (SORT_EXP RESSION.Co ntains("." ))
  2522                                 {
  2523                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  2524                                      if (prop s != null  && props.C ount() ==  2)
  2525                                      {
  2526                                          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 >();
  2527                                      }
  2528                                      else if  (props !=  null && pr ops.Count( ) == 3)
  2529                                      {
  2530                                      }
  2531                                 }
  2532                                 el se
  2533                                 {
  2534                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<SU RVEYS>();
  2535                                 }
  2536                             }
  2537                             else
  2538                             {
  2539                                 if  (SORT_EXP RESSION.Co ntains("." ))
  2540                                 {
  2541                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  2542                                      if (prop s != null  && props.C ount() ==  2)
  2543                                      {
  2544                                          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 >();
  2545                                      }
  2546                                      else if  (props !=  null && pr ops.Count( ) == 3)
  2547                                      {
  2548                                      }
  2549                                 }
  2550                                 el se
  2551                                 {
  2552                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<SU RVEYS>();
  2553                                 }
  2554                             }
  2555                         }
  2556                    }
  2557                }
  2558  
  2559                return o bjReturn;
  2560           }
  2561  
  2562           #e ndregion
  2563  
  2564           #r egion USER _ACTIVITY_ LOG
  2565           #e ndregion
  2566  
  2567           #r egion USER _ROLES
  2568  
  2569           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)
  2570           {
  2571                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);
  2572           }
  2573  
  2574           pu blic stati c USER_ROL ES USER_RO LES_GET_BY _USER_ROLE (string Us ername, st ring RoleN ame)
  2575           {
  2576                return s ervices.US ER_ROLES_G ET_BY_USER _ROLE(User name, Role Name);
  2577           }
  2578  
  2579           pu blic stati c string[]  USER_ROLE S_GET_ROLE S(string U sername)
  2580           {
  2581                return s ervices.US ER_ROLES_G ET_ROLES(U sername);
  2582           }
  2583  
  2584           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)
  2585           {
  2586                USER_ROL ES[] temp  = services .USER_ROLE S_GET_ALL_ BY_USER(CU RRENT_USER , CURRENT_ REGISTRY_I D, USER_ID );
  2587                if (temp  != null)
  2588                    retu rn temp.To List<USER_ ROLES>();
  2589                return n ull;
  2590           }
  2591  
  2592           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 )
  2593           {
  2594                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);
  2595           }
  2596  
  2597           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 )
  2598           {
  2599                if (USER _ROLES ==  null)
  2600                    retu rn false;
  2601  
  2602                USER_ROL ES[] temp  = USER_ROL ES.ToArray ();
  2603                return s ervices.US ER_ROLES_S AVE_ALL(CU RRENT_USER , CURRENT_ REGISTRY_I D, temp);
  2604           }
  2605  
  2606           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)
  2607           {
  2608                string[]  temp = se rvices.USE R_ROLES_GE T_BY_REGIS TRYID_USER NAME(CURRE NT_USER, R EGISTRY_ID );
  2609                if (temp  != null)
  2610                {
  2611                    List <string> r oleList =  temp.ToLis t();
  2612                    if ( roleList ! = null)
  2613                    {
  2614                         foreach (s tring role  in roleLi st)
  2615                         {
  2616                             if (ro le.ToUpper () == "CRS ADMIN" ||  role.ToUpp er() == "C RSUPD" ||  role.ToUpp er() == "C RSREAD")
  2617                                 re turn true;
  2618  
  2619                             if (ro le.ToUpper () == "REG ADMIN" ||  role.ToUpp er() == "R EGUPD" ||  role.ToUpp er() == "R EGREAD")
  2620                                 re turn true;
  2621                         }
  2622                    }
  2623                }
  2624  
  2625                return f alse;
  2626           }
  2627  
  2628           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)
  2629           {
  2630                string[]  temp = se rvices.USE R_ROLES_GE T_BY_REGIS TRYID_USER NAME(CURRE NT_USER, C URRENT_REG ISTRY_ID);
  2631                if (temp  != null)
  2632                {
  2633                    List <string> r oleList =  temp.ToLis t();
  2634                    bool  isAdmin =  false;
  2635                    bool  canEdit =  false;
  2636                    bool  hasRead =  false;
  2637                    User Session us erSession  = (UserSes sion)HttpC ontext.Cur rent.Sessi on["UserSe ssion"];
  2638                    if ( userSessio n == null)  userSessi on = new U serSession ();
  2639  
  2640                    if ( roleList ! = null)
  2641                    {
  2642                         for (int i  = 0; i <  roleList.C ount; i++)
  2643                         {
  2644                             if (ro leList[i]. ToUpper()  == "CRSADM IN" || rol eList[i].T oUpper() = = "REGADMI N")
  2645                             {
  2646                                 if  (roleList [i].ToUppe r() == "CR SADMIN") {  userSessi on.IsSyste mAdministr ator = tru e; }
  2647                                 if  (roleList [i].ToUppe r() == "RE GADMIN") {  userSessi on.IsRegis tryAdminis trator = t rue; }
  2648                                 is Admin = tr ue;
  2649                                 br eak;
  2650                             }
  2651                         }
  2652                         //Admins s upercede t he followi ng roles -  why check  for them  if user is  admin
  2653                         if (isAdmi n == false )
  2654                         {
  2655                             for (i nt i = 0;  i < roleLi st.Count;  i++)
  2656                             {
  2657                                 if  (roleList [i].ToUppe r() == "CR SUPD" || r oleList[i] .ToUpper()  == "REGUP D")
  2658                                 {
  2659                                      canEdit  = true;
  2660                                      break;
  2661                                 }
  2662                                 if  (roleList [i].ToUppe r() == "CR SREAD" ||  roleList[i ].ToUpper( ) == "REGR EAD")
  2663                                 {
  2664                                      hasRead  = true;
  2665                                      break;
  2666                                 }
  2667                             }
  2668                         }
  2669                         /* 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 */
  2670                         if (isAdmi n)
  2671                         {
  2672                             return  false;
  2673                         }
  2674                         if (canEdi t)
  2675                         {
  2676                             return  false;
  2677                         }
  2678                         if (hasRea d)
  2679                         {
  2680                             return  true;
  2681                         }
  2682                    }
  2683                    else
  2684                    {
  2685                         return tru e;
  2686                    }
  2687                }
  2688                return t rue;
  2689           }
  2690  
  2691           #e ndregion
  2692  
  2693           #r egion USER S
  2694  
  2695           pu blic stati c USERS US ERS_GET(st ring CURRE NT_USER, i nt CURRENT _REGISTRY_ ID, int id )
  2696           {
  2697                return s ervices.US ERS_GET(CU RRENT_USER , CURRENT_ REGISTRY_I D, id);
  2698           }
  2699  
  2700           pu blic stati c List<USE RS> USERS_ GET_ALL(st ring CURRE NT_USER, i nt CURRENT _REGISTRY_ ID)
  2701           {
  2702                USERS[]  temp = ser vices.USER S_GET_ALL( CURRENT_US ER, CURREN T_REGISTRY _ID);
  2703                if (temp  != null)
  2704                    retu rn temp.To List<USERS >();
  2705                return n ull;
  2706           }
  2707  
  2708           pu blic stati c int USER S_SAVE(str ing CURREN T_USER, in t CURRENT_ REGISTRY_I D, USERS o bjSave)
  2709           {
  2710                return s ervices.US ERS_SAVE(C URRENT_USE R, CURRENT _REGISTRY_ ID, objSav e);
  2711           }
  2712  
  2713           pu blic stati c Boolean  USERS_DELE TE(string  CURRENT_US ER, int CU RRENT_REGI STRY_ID, i nt id)
  2714           {
  2715                return s ervices.US ERS_DELETE (CURRENT_U SER, CURRE NT_REGISTR Y_ID, id);
  2716           }
  2717  
  2718           pu blic stati c DomainNa mes USERS_ LOAD_FROM_ AD()
  2719           {
  2720                return s ervices.US ERS_LOAD_F ROM_AD();
  2721           }
  2722  
  2723           pu blic stati c List<Dom ainUser> U SERS_GET_A LL_BY_AD(D omainNames  domainNam es, string  searchStr ing)
  2724           {
  2725                DomainUs er[] temp  = services .USERS_GET _ALL_BY_AD (domainNam es, search String);
  2726                if (temp  != null)
  2727                    retu rn temp.To List<Domai nUser>();
  2728                return n ull;
  2729           }
  2730  
  2731           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)
  2732           {
  2733                List<Dom ainUser> o bjReturn =  USERS_GET _ALL_BY_AD (domainNam es, search String);
  2734                if (objR eturn != n ull)
  2735                {
  2736                    if ( objReturn  != null &&  objReturn .Count !=  0)
  2737                    {
  2738                         if (!strin g.IsNullOr Empty(SEAR CH_COLUMN)  && !strin g.IsNullOr Empty(SEAR CH_TEXT))
  2739                         {
  2740                             if (SE ARCH_COLUM N.Contains ("."))
  2741                             {
  2742                                 st ring[] pro ps = SEARC H_COLUMN.S plit('.');
  2743                                 if  (props !=  null && p rops.Count () == 2)
  2744                                 {
  2745                                      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 >();
  2746                                 }
  2747                             }
  2748                             else
  2749                             {
  2750                                 ob jReturn =  objReturn. Where(w =>  w.GetType ().GetProp erty(SEARC H_COLUMN). GetValue(w ) != null) .ToList<Do mainUser>( );
  2751                                 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>();
  2752                             }
  2753                         }
  2754                         if (!strin g.IsNullOr Empty(SORT _EXPRESSIO N))
  2755                         {
  2756                             if (SO RT_EXPRESS ION.Length  >= 4 && S ORT_EXPRES SION.Subst ring(SORT_ EXPRESSION .Length -  4, 4).ToUp per() == " DESC")
  2757                             {
  2758                                 SO RT_EXPRESS ION = SORT _EXPRESSIO N.Substrin g(0, SORT_ EXPRESSION .Length -  5);
  2759  
  2760                                 if  (SORT_EXP RESSION.Co ntains("." ))
  2761                                 {
  2762                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  2763                                      if (prop s != null  && props.C ount() ==  2)
  2764                                      {
  2765                                          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>();
  2766                                      }
  2767                                      else if  (props !=  null && pr ops.Count( ) == 3)
  2768                                      {
  2769                                      }
  2770                                 }
  2771                                 el se
  2772                                 {
  2773                                      objRetur n = objRet urn.OrderB yDescendin g(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<Do mainUser>( );
  2774                                 }
  2775                             }
  2776                             else i f (SORT_EX PRESSION.L ength >= 3  && SORT_E XPRESSION. Substring( SORT_EXPRE SSION.Leng th - 3, 3) .ToUpper()  == "ASC")
  2777                             {
  2778                                 SO RT_EXPRESS ION = SORT _EXPRESSIO N.Substrin g(0, SORT_ EXPRESSION .Length -  4);
  2779                                 if  (SORT_EXP RESSION.Co ntains("." ))
  2780                                 {
  2781                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  2782                                      if (prop s != null  && props.C ount() ==  2)
  2783                                      {
  2784                                          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>();
  2785                                      }
  2786                                      else if  (props !=  null && pr ops.Count( ) == 3)
  2787                                      {
  2788                                      }
  2789                                 }
  2790                                 el se
  2791                                 {
  2792                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<Do mainUser>( );
  2793                                 }
  2794                             }
  2795                             else
  2796                             {
  2797                                 if  (SORT_EXP RESSION.Co ntains("." ))
  2798                                 {
  2799                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  2800                                      if (prop s != null  && props.C ount() ==  2)
  2801                                      {
  2802                                          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>();
  2803                                      }
  2804                                      else if  (props !=  null && pr ops.Count( ) == 3)
  2805                                      {
  2806                                      }
  2807                                 }
  2808                                 el se
  2809                                 {
  2810                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<Do mainUser>( );
  2811                                 }
  2812                             }
  2813                         }
  2814                    }
  2815                }
  2816  
  2817                return o bjReturn;
  2818           }
  2819  
  2820           pu blic stati c USERS US ERS_GET_BY _NAME(stri ng CURRENT _USER, int  CURRENT_R EGISTRY_ID , string u sername)
  2821           {
  2822                return s ervices.US ERS_GET_BY _NAME(CURR ENT_USER,  CURRENT_RE GISTRY_ID,  username) ;
  2823           }
  2824  
  2825           pu blic stati c List<USE RS> USERS_ GET_ALL_BY _USER(stri ng CURRENT _USER, int  CURRENT_R EGISTRY_ID )
  2826           {
  2827                USERS[]  temp = ser vices.USER S_GET_ALL_ BY_USER(CU RRENT_USER , CURRENT_ REGISTRY_I D);
  2828                if (temp  != null)
  2829                    retu rn temp.To List<USERS >();
  2830                return n ull;
  2831           }
  2832  
  2833           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)
  2834           {
  2835                List<USE RS> objRet urn = USER S_GET_ALL_ BY_USER(CU RRENT_USER , CURRENT_ REGISTRY_I D);
  2836                if (objR eturn != n ull)
  2837                {
  2838                    if ( objReturn  != null &&  objReturn .Count !=  0)
  2839                    {
  2840                         if (!strin g.IsNullOr Empty(SEAR CH_COLUMN)  && !strin g.IsNullOr Empty(SEAR CH_TEXT))
  2841                         {
  2842                             if (SE ARCH_COLUM N.Contains ("."))
  2843                             {
  2844                                 st ring[] pro ps = SEARC H_COLUMN.S plit('.');
  2845                                 if  (props !=  null && p rops.Count () == 2)
  2846                                 {
  2847                                      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>();
  2848                                 }
  2849                             }
  2850                             else
  2851                             {
  2852                                 ob jReturn =  objReturn. Where(w =>  w.GetType ().GetProp erty(SEARC H_COLUMN). GetValue(w ) != null) .ToList<US ERS>();
  2853                                 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>( );
  2854                             }
  2855                         }
  2856                         if (!strin g.IsNullOr Empty(SORT _EXPRESSIO N))
  2857                         {
  2858                             if (SO RT_EXPRESS ION.Length  >= 4 && S ORT_EXPRES SION.Subst ring(SORT_ EXPRESSION .Length -  4, 4).ToUp per() == " DESC")
  2859                             {
  2860                                 SO RT_EXPRESS ION = SORT _EXPRESSIO N.Substrin g(0, SORT_ EXPRESSION .Length -  5);
  2861  
  2862                                 if  (SORT_EXP RESSION.Co ntains("." ))
  2863                                 {
  2864                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  2865                                      if (prop s != null  && props.C ount() ==  2)
  2866                                      {
  2867                                          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>( );
  2868                                      }
  2869                                      else if  (props !=  null && pr ops.Count( ) == 3)
  2870                                      {
  2871                                      }
  2872                                 }
  2873                                 el se
  2874                                 {
  2875                                      objRetur n = objRet urn.OrderB yDescendin g(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<US ERS>();
  2876                                 }
  2877                             }
  2878                             else i f (SORT_EX PRESSION.L ength >= 3  && SORT_E XPRESSION. Substring( SORT_EXPRE SSION.Leng th - 3, 3) .ToUpper()  == "ASC")
  2879                             {
  2880                                 SO RT_EXPRESS ION = SORT _EXPRESSIO N.Substrin g(0, SORT_ EXPRESSION .Length -  4);
  2881                                 if  (SORT_EXP RESSION.Co ntains("." ))
  2882                                 {
  2883                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  2884                                      if (prop s != null  && props.C ount() ==  2)
  2885                                      {
  2886                                          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>( );
  2887                                      }
  2888                                      else if  (props !=  null && pr ops.Count( ) == 3)
  2889                                      {
  2890                                      }
  2891                                 }
  2892                                 el se
  2893                                 {
  2894                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<US ERS>();
  2895                                 }
  2896                             }
  2897                             else
  2898                             {
  2899                                 if  (SORT_EXP RESSION.Co ntains("." ))
  2900                                 {
  2901                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  2902                                      if (prop s != null  && props.C ount() ==  2)
  2903                                      {
  2904                                          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>( );
  2905                                      }
  2906                                      else if  (props !=  null && pr ops.Count( ) == 3)
  2907                                      {
  2908                                      }
  2909                                 }
  2910                                 el se
  2911                                 {
  2912                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<US ERS>();
  2913                                 }
  2914                             }
  2915                         }
  2916                    }
  2917                }
  2918  
  2919                return o bjReturn;
  2920           }
  2921  
  2922           pu blic stati c bool USE RS_DEFAULT _REGISTRY( string CUR RENT_USER,  int CURRE NT_REGISTR Y_ID, bool  IS_DEFAUL T)
  2923           {
  2924                return s ervices.US ERS_DEFAUL T_REGISTRY (CURRENT_U SER, CURRE NT_REGISTR Y_ID, IS_D EFAULT);
  2925           }
  2926  
  2927           #e ndregion 
  2928  
  2929           #r egion AHOB PR USERS
  2930           pu blic AHOBP R_USER AHO BPR_USER_G ET(string  CURRENT_US ER, int CU RRENT_REGI STRY_ID, i nt id)
  2931           {
  2932                AHOBPR_U SER sAhobp rUser = se rvices.AHO BPRUSERS_G ET(CURRENT _USER, CUR RENT_REGIS TRY_ID, id );
  2933                USERS sU ser = serv ices.USERS _GET(CURRE NT_USER, C URRENT_REG ISTRY_ID,  id);
  2934                sAhobprU ser.USER =  sUser;
  2935  
  2936                return s AhobprUser ;
  2937           }
  2938  
  2939           pu blic int A HOBPRUSERS _SAVE(stri ng CURRENT _USER, int  CURRENT_R EGISTRY_ID , AHOBPR_U SER objSav e)
  2940           {
  2941                int i =  0;
  2942                int j =  0;
  2943  
  2944                // Save  both the U ser and AH OBPR User  entry
  2945                if (objS ave.USER ! = null)
  2946                {
  2947                    i =  USERS_SAVE (CURRENT_U SER, CURRE NT_REGISTR Y_ID, objS ave.USER);
  2948                }
  2949  
  2950                j = serv ices.AHOBP RUSERS_SAV E(CURRENT_ USER, CURR ENT_REGIST RY_ID, obj Save);
  2951  
  2952                if (i <=  0 || j <=  0)
  2953                {
  2954                    retu rn -1;
  2955                }
  2956                else
  2957                {
  2958                    retu rn j;
  2959                }
  2960           }
  2961  
  2962           pu blic int S aveUserSta teFilter(s tring iden tity, int  registryId , USER_STA TES_FILTER  objSave)
  2963           {
  2964                int i =  services.S aveUserSta teFilter(i dentity, r egistryId,  objSave);
  2965  
  2966                return i ;
  2967           }
  2968  
  2969           pu blic USER_ STATES_FIL TER GetUse rStateFilt er(string  identity,  int regist ryId, int  id)
  2970           {
  2971                USER_STA TES_FILTER  usf = ser vices.GetS tatesFilte r(identity , registry Id, id);
  2972  
  2973                return u sf;
  2974           }
  2975           #e ndregion
  2976  
  2977           #r egion WKF_ CASE
  2978  
  2979           pu blic stati c WKF_CASE  WKF_CASE_ GET(string  CURRENT_U SER, int C URRENT_REG ISTRY_ID,  int id)
  2980           {
  2981                return s ervices.WK F_CASE_GET (CURRENT_U SER, CURRE NT_REGISTR Y_ID, id);
  2982           }
  2983  
  2984           pu blic stati c WKF_CASE  WKF_CASE_ GET_BY_ACT IVITY(stri ng CURRENT _USER, int  CURRENT_R EGISTRY_ID , int WKF_ CASE_ACTIV ITY_ID)
  2985           {
  2986                return s ervices.WK F_CASE_GET _BY_ACTIVI TY(CURRENT _USER, CUR RENT_REGIS TRY_ID, WK F_CASE_ACT IVITY_ID);
  2987           }
  2988  
  2989           pu blic stati c int WKF_ CASE_SAVE( string CUR RENT_USER,  int CURRE NT_REGISTR Y_ID, WKF_ CASE objSa ve)
  2990           {
  2991                return s ervices.WK F_CASE_SAV E(CURRENT_ USER, CURR ENT_REGIST RY_ID, obj Save);
  2992           }
  2993  
  2994           pu blic stati c Boolean  WKF_CASE_D ELETE(stri ng CURRENT _USER, int  CURRENT_R EGISTRY_ID , int id)
  2995           {
  2996                return s ervices.WK F_CASE_DEL ETE(CURREN T_USER, CU RRENT_REGI STRY_ID, i d);
  2997           }
  2998  
  2999           pu blic stati c List<WKF _CASE> WKF _CASE_GET_ ALL_BY_REG ISTRY(stri ng CURRENT _USER, int  CURRENT_R EGISTRY_ID )
  3000           {
  3001                WKF_CASE [] temp =  services.W KF_CASE_GE T_ALL_BY_R EGISTRY(CU RRENT_USER , CURRENT_ REGISTRY_I D);
  3002                if (temp  != null)
  3003                    retu rn temp.To List<WKF_C ASE>();
  3004                return n ull;
  3005           }
  3006  
  3007           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)
  3008           {
  3009                List<WKF _CASE> obj Return = W KF_CASE_GE T_ALL_BY_R EGISTRY(CU RRENT_USER , CURRENT_ REGISTRY_I D);
  3010                if (objR eturn != n ull)
  3011                {
  3012                    if ( PATIENT_ID  > 0)
  3013                    {
  3014                         objReturn  = objRetur n.Where(x  => x.PATIE NT_ID == P ATIENT_ID) .ToList();
  3015                    }
  3016                    if ( objReturn  != null &&  objReturn .Count !=  0)
  3017                    {
  3018                         if (!strin g.IsNullOr Empty(SEAR CH_COLUMN)  && !strin g.IsNullOr Empty(SEAR CH_TEXT))
  3019                         {
  3020                             if (SE ARCH_COLUM N.Contains ("."))
  3021                             {
  3022                                 st ring[] pro ps = SEARC H_COLUMN.S plit('.');
  3023                                 if  (props !=  null && p rops.Count () == 2)
  3024                                 {
  3025                                      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>( );
  3026                                 }
  3027                             }
  3028                             else
  3029                             {
  3030                                 ob jReturn =  objReturn. Where(w =>  w.GetType ().GetProp erty(SEARC H_COLUMN). GetValue(w ) != null) .ToList<WK F_CASE>();
  3031                                 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>();
  3032                             }
  3033                         }
  3034                         if (!strin g.IsNullOr Empty(SORT _EXPRESSIO N))
  3035                         {
  3036                             if (SO RT_EXPRESS ION.Length  >= 4 && S ORT_EXPRES SION.Subst ring(SORT_ EXPRESSION .Length -  4, 4).ToUp per() == " DESC")
  3037                             {
  3038                                 SO RT_EXPRESS ION = SORT _EXPRESSIO N.Substrin g(0, SORT_ EXPRESSION .Length -  5);
  3039  
  3040                                 if  (SORT_EXP RESSION.Co ntains("." ))
  3041                                 {
  3042                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  3043                                      if (prop s != null  && props.C ount() ==  2)
  3044                                      {
  3045                                          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>();
  3046                                      }
  3047                                      else if  (props !=  null && pr ops.Count( ) == 3)
  3048                                      {
  3049                                      }
  3050                                 }
  3051                                 el se
  3052                                 {
  3053                                      objRetur n = objRet urn.OrderB yDescendin g(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<WK F_CASE>();
  3054                                 }
  3055                             }
  3056                             else i f (SORT_EX PRESSION.L ength >= 3  && SORT_E XPRESSION. Substring( SORT_EXPRE SSION.Leng th - 3, 3) .ToUpper()  == "ASC")
  3057                             {
  3058                                 SO RT_EXPRESS ION = SORT _EXPRESSIO N.Substrin g(0, SORT_ EXPRESSION .Length -  4);
  3059                                 if  (SORT_EXP RESSION.Co ntains("." ))
  3060                                 {
  3061                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  3062                                      if (prop s != null  && props.C ount() ==  2)
  3063                                      {
  3064                                          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>();
  3065                                      }
  3066                                      else if  (props !=  null && pr ops.Count( ) == 3)
  3067                                      {
  3068                                      }
  3069                                 }
  3070                                 el se
  3071                                 {
  3072                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<WK F_CASE>();
  3073                                 }
  3074                             }
  3075                             else
  3076                             {
  3077                                 if  (SORT_EXP RESSION.Co ntains("." ))
  3078                                 {
  3079                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  3080                                      if (prop s != null  && props.C ount() ==  2)
  3081                                      {
  3082                                          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>();
  3083                                      }
  3084                                      else if  (props !=  null && pr ops.Count( ) == 3)
  3085                                      {
  3086                                      }
  3087                                 }
  3088                                 el se
  3089                                 {
  3090                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<WK F_CASE>();
  3091                                 }
  3092                             }
  3093                         }
  3094                    }
  3095                }
  3096  
  3097                return o bjReturn;
  3098           }
  3099  
  3100           pu blic stati c List<WKF _CASE> WKF _CASE_GET_ ALL_BY_REF ERRAL(stri ng CURRENT _USER, int  CURRENT_R EGISTRY_ID , int REFE RRAL_ID)
  3101           {
  3102                WKF_CASE [] temp =  services.W KF_CASE_GE T_ALL_BY_R EFERRAL(CU RRENT_USER , CURRENT_ REGISTRY_I D, REFERRA L_ID);
  3103                if (temp  != null)
  3104                    retu rn temp.To List<WKF_C ASE>();
  3105                return n ull;
  3106           }
  3107  
  3108           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)
  3109           {
  3110                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);
  3111           }
  3112  
  3113           pu blic stati c List<Lab KitOrderPa tientsBO>  LabKitOrde rs_GET_ALL (string CU RRENT_USER , int CURR ENT_REGIST RY_ID, Int 32 STD_INS TITUTION_I D, Int32 S TD_WKFCASE TYPE_ID)
  3114           {
  3115                LabKitOr derPatient sBO[] temp  = service s.LabKitOr ders_GET_A LL(CURRENT _USER, CUR RENT_REGIS TRY_ID, ST D_INSTITUT ION_ID, ST D_WKFCASET YPE_ID);
  3116                if (temp  != null)
  3117                    retu rn temp.To List<LabKi tOrderPati entsBO>();
  3118                return n ull;
  3119           }
  3120  
  3121           pu blic stati c List<Lab KitOrderPa tientsBO>  GetNewLabK itOrders(s tring CURR ENT_USER,  int CURREN T_REGISTRY _ID, Int32  instId, I nt32 kitTy peId)
  3122           {
  3123                List<Lab KitOrderPa tientsBO>  temp = Lab KitOrders_ GET_ALL(CU RRENT_USER , CURRENT_ REGISTRY_I D, instId,  kitTypeId );
  3124                if (temp  != null)
  3125                {
  3126                    //te mp = temp. Where(k =>  k.StatusI d == 4).To List();
  3127                    //if  (!string. IsNullOrEm pty(lastNa me))
  3128                    //     temp = t emp.Where( k => k.Pat ientName.C ontains(la stName)).T oList();
  3129  
  3130                    //if  (!string. IsNullOrEm pty(facili tyId))
  3131                    //{
  3132                    //     int id =  0;
  3133                    //     if (int. TryParse(f acilityId,  out id))
  3134                    //     {
  3135                    //         temp  = temp.Wh ere(k => k .InstId ==  id).ToLis t();
  3136                    //     }
  3137                    //}
  3138                    retu rn temp;
  3139                }
  3140                return n ull;
  3141           }
  3142  
  3143           pu blic stati c List<Lab KitOrderPa tientsBO>  GetNewLabK itOrders(s tring CURR ENT_USER,  int CURREN T_REGISTRY _ID, Int32  instId, I nt32 kitTy peId, int  startRow,  string sor t, int max Rows)
  3144           {
  3145                List<Lab KitOrderPa tientsBO>  temp = Get NewLabKitO rders(CURR ENT_USER,  CURRENT_RE GISTRY_ID,  instId, k itTypeId);
  3146                if (temp  != null)
  3147                    retu rn temp.Sk ip(startRo w).Take(ma xRows).ToL ist();
  3148                //return  temp.Orde rBy(sort). Skip(start Row).Take( maxRows).T oList();
  3149                return n ull;
  3150           }
  3151  
  3152           pu blic stati c int GetN ewLabKitOr dersCount( string CUR RENT_USER,  int CURRE NT_REGISTR Y_ID, Int3 2 instId,  Int32 kitT ypeId)
  3153           {
  3154                List<Lab KitOrderPa tientsBO>  temp = Get NewLabKitO rders(CURR ENT_USER,  CURRENT_RE GISTRY_ID,  instId, k itTypeId);
  3155                if (temp  != null)
  3156                    retu rn temp.Co unt();
  3157                return 0 ;
  3158           }
  3159  
  3160           pu blic stati c List<Lab KitOrderGr oup> KitOr derGroups_ GET_ALL(st ring CURRE NT_USER, i nt CURRENT _REGISTRY_ ID)
  3161           {
  3162                LabKitOr derGroup[]  temp = se rvices.Kit OrderGroup s_GET_ALL( CURRENT_US ER, CURREN T_REGISTRY _ID);
  3163                if (temp  != null)
  3164                    retu rn temp.To List<LabKi tOrderGrou p>();
  3165                return n ull;
  3166           }
  3167  
  3168           pu blic stati c List<Lab KitOrderGr oup> GetPa tientsForN ewKitOrder s(string C URRENT_USE R, int CUR RENT_REGIS TRY_ID, st ring lastN ame, strin g facility Id)
  3169           {
  3170                List<Lab KitOrderGr oup> temp  = KitOrder Groups_GET _ALL(CURRE NT_USER, C URRENT_REG ISTRY_ID);
  3171                if (!str ing.IsNull OrEmpty(la stName))
  3172                {
  3173                    temp  = temp.Wh ere(w => w .Patient ! = null).To List();
  3174                    temp  = temp.Wh ere(w => A rray.Exist s(w.Patien t, s => s. ToUpper(). Contains(l astName.To Upper()))) .ToList();
  3175                }
  3176                else if  (!string.I sNullOrEmp ty(facilit yId))
  3177                {
  3178                    temp  = temp.Wh ere(w => w .Instituti onId != nu ll).ToList ();
  3179                    temp  = temp.Wh ere(w => w .Instituti onId.ToStr ing() == f acilityId) .ToList();
  3180                }
  3181                return t emp;
  3182           }
  3183  
  3184           pu blic stati c List<Lab KitOrderGr oup> GetPa tientsForN ewKitOrder s(string C URRENT_USE R, int CUR RENT_REGIS TRY_ID, st ring lastN ame, strin g facility Id, int st artRow, st ring sort,  int maxRo ws)
  3185           {
  3186                List<Lab KitOrderGr oup> temp  = GetPatie ntsForNewK itOrders(C URRENT_USE R, CURRENT _REGISTRY_ ID, lastNa me, facili tyId);
  3187                if (!str ing.IsNull OrEmpty(so rt))
  3188                {
  3189                    temp  = temp.So rtBy<LabKi tOrderGrou p>(sort).T oList();
  3190                }
  3191                temp = t emp.Skip(s tartRow).T ake(maxRow s).ToList( );
  3192  
  3193                return t emp;
  3194           }
  3195  
  3196           pu blic stati c int GetP atientsFor NewKitOrde rsCount(st ring CURRE NT_USER, i nt CURRENT _REGISTRY_ ID, string  lastName,  string fa cilityId)
  3197           {
  3198                List<Lab KitOrderGr oup> temp  = GetPatie ntsForNewK itOrders(C URRENT_USE R, CURRENT _REGISTRY_ ID, lastNa me, facili tyId);
  3199                if (temp  != null)
  3200                    retu rn temp.Co unt();
  3201                return 0 ;
  3202           }
  3203  
  3204           #e ndregion
  3205  
  3206           #r egion WKF_ CASE_ACTIV ITY
  3207  
  3208           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)
  3209           {
  3210                return s ervices.WK F_CASE_ACT IVITY_GET( CURRENT_US ER, CURREN T_REGISTRY _ID, id);
  3211           }
  3212  
  3213           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 )
  3214           {
  3215                return s ervices.WK F_CASE_ACT IVITY_SAVE (CURRENT_U SER, CURRE NT_REGISTR Y_ID, objS ave);
  3216           }
  3217  
  3218           pu blic stati c int WKF_ CASE_ACTIV ITY_SAVEAL L(string C URRENT_USE R, int CUR RENT_REGIS TRY_ID, Li st<WKF_CAS E_ACTIVITY > objSave)
  3219           {
  3220                WKF_CASE _ACTIVITY[ ] temp = ( objSave !=  null ? ob jSave.ToAr ray() : nu ll);
  3221                return s ervices.WK F_CASE_ACT IVITY_SAVE ALL(CURREN T_USER, CU RRENT_REGI STRY_ID, t emp);
  3222           }
  3223  
  3224           pu blic stati c Boolean  WKF_CASE_A CTIVITY_DE LETE(strin g CURRENT_ USER, int  CURRENT_RE GISTRY_ID,  int id)
  3225           {
  3226                return s ervices.WK F_CASE_ACT IVITY_DELE TE(CURRENT _USER, CUR RENT_REGIS TRY_ID, id );
  3227           }
  3228  
  3229           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)
  3230           {
  3231                WKF_CASE _ACTIVITY[ ] temp = s ervices.WK F_CASE_ACT IVITY_GET_ ALL_BY_REG ISTRY(CURR ENT_USER,  CURRENT_RE GISTRY_ID) ;
  3232                if (temp  != null)
  3233                    retu rn temp.To List<WKF_C ASE_ACTIVI TY>();
  3234                return n ull;
  3235           }
  3236  
  3237           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)
  3238           {
  3239                List<WKF _CASE_ACTI VITY> objR eturn = WK F_CASE_ACT IVITY_GET_ ALL_BY_REG ISTRY(CURR ENT_USER,  CURRENT_RE GISTRY_ID) ;
  3240                if (objR eturn != n ull && obj Return.Cou nt != 0)
  3241                {
  3242                    if ( !string.Is NullOrEmpt y(SEARCH_C OLUMN) &&  !string.Is NullOrEmpt y(SEARCH_T EXT))
  3243                    {
  3244                         if (SEARCH _COLUMN.Co ntains("." ))
  3245                         {
  3246                             string [] props =  SEARCH_CO LUMN.Split ('.');
  3247                             if (pr ops != nul l && props .Count() = = 2)
  3248                             {
  3249                                 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>();
  3250                             }
  3251                             else i f (props ! = null &&  props.Coun t() == 3)
  3252                             {
  3253                                 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> ();
  3254                             }
  3255                         }
  3256                         else
  3257                         {
  3258                             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>();
  3259                             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>();
  3260                         }
  3261                    }
  3262                    if ( !string.Is NullOrEmpt y(SORT_EXP RESSION))
  3263                    {
  3264                         if (SORT_E XPRESSION. Length >=  4 && SORT_ EXPRESSION .Substring (SORT_EXPR ESSION.Len gth - 4, 4 ).ToUpper( ) == "DESC ")
  3265                         {
  3266                             SORT_E XPRESSION  = SORT_EXP RESSION.Su bstring(0,  SORT_EXPR ESSION.Len gth - 5);
  3267  
  3268                             if (SO RT_EXPRESS ION.Contai ns("."))
  3269                             {
  3270                                 st ring[] pro ps = SORT_ EXPRESSION .Split('.' );
  3271                                 if  (props !=  null && p rops.Count () == 2)
  3272                                 {
  3273                                      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>();
  3274                                 }
  3275                                 el se if (pro ps != null  && props. Count() ==  3)
  3276                                 {
  3277                                      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>();
  3278                                 }
  3279                             }
  3280                             else
  3281                             {
  3282                                 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>();
  3283                             }
  3284                         }
  3285                         else if (S ORT_EXPRES SION.Lengt h >= 3 &&  SORT_EXPRE SSION.Subs tring(SORT _EXPRESSIO N.Length -  3, 3).ToU pper() ==  "ASC")
  3286                         {
  3287                             SORT_E XPRESSION  = SORT_EXP RESSION.Su bstring(0,  SORT_EXPR ESSION.Len gth - 4);
  3288                             if (SO RT_EXPRESS ION.Contai ns("."))
  3289                             {
  3290                                 st ring[] pro ps = SORT_ EXPRESSION .Split('.' );
  3291                                 if  (props !=  null && p rops.Count () == 2)
  3292                                 {
  3293                                      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>();
  3294                                 }
  3295                                 el se if (pro ps != null  && props. Count() ==  3)
  3296                                 {
  3297                                      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>();
  3298                                 }
  3299                             }
  3300                             else
  3301                             {
  3302                                 ob jReturn =  objReturn. OrderBy(s  => s.GetTy pe().GetPr operty(SOR T_EXPRESSI ON).GetVal ue(s)).ToL ist<WKF_CA SE_ACTIVIT Y>();
  3303                             }
  3304                         }
  3305                         else
  3306                         {
  3307                             if (SO RT_EXPRESS ION.Contai ns("."))
  3308                             {
  3309                                 st ring[] pro ps = SORT_ EXPRESSION .Split('.' );
  3310                                 if  (props !=  null && p rops.Count () == 2)
  3311                                 {
  3312                                      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>();
  3313                                 }
  3314                                 el se if (pro ps != null  && props. Count() ==  3)
  3315                                 {
  3316                                      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>();
  3317                                 }
  3318                             }
  3319                             else
  3320                             {
  3321                                 ob jReturn =  objReturn. OrderBy(s  => s.GetTy pe().GetPr operty(SOR T_EXPRESSI ON).GetVal ue(s)).ToL ist<WKF_CA SE_ACTIVIT Y>();
  3322                             }
  3323                         }
  3324                    }
  3325                }
  3326  
  3327                return o bjReturn;
  3328           }
  3329  
  3330           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)
  3331           {
  3332                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);
  3333                if (temp  != null)
  3334                    retu rn temp.To List<WKF_C ASE_ACTIVI TY>();
  3335                return n ull;
  3336           }
  3337  
  3338           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)
  3339           {
  3340                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);
  3341                if (objR eturn != n ull && obj Return.Cou nt != 0)
  3342                {
  3343                    if ( !string.Is NullOrEmpt y(SEARCH_C OLUMN) &&  !string.Is NullOrEmpt y(SEARCH_T EXT))
  3344                    {
  3345                         if (SEARCH _COLUMN.Co ntains("." ))
  3346                         {
  3347                             string [] props =  SEARCH_CO LUMN.Split ('.');
  3348                             if (pr ops != nul l && props .Count() = = 2)
  3349                             {
  3350                                 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>();
  3351                             }
  3352                             else i f (props ! = null &&  props.Coun t() == 3)
  3353                             {
  3354                                 //  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>();
  3355                             }
  3356                         }
  3357                         else
  3358                         {
  3359                             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>();
  3360                             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>();
  3361                         }
  3362                    }
  3363                    if ( !string.Is NullOrEmpt y(SORT_EXP RESSION))
  3364                    {
  3365                         if (SORT_E XPRESSION. Length >=  4 && SORT_ EXPRESSION .Substring (SORT_EXPR ESSION.Len gth - 4, 4 ).ToUpper( ) == "DESC ")
  3366                         {
  3367                             SORT_E XPRESSION  = SORT_EXP RESSION.Su bstring(0,  SORT_EXPR ESSION.Len gth - 5);
  3368  
  3369                             if (SO RT_EXPRESS ION.Contai ns("."))
  3370                             {
  3371                                 st ring[] pro ps = SORT_ EXPRESSION .Split('.' );
  3372                                 if  (props !=  null && p rops.Count () == 2)
  3373                                 {
  3374                                      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>();
  3375                                 }
  3376                                 el se if (pro ps != null  && props. Count() ==  3)
  3377                                 {
  3378                                      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>() ;
  3379                                 }
  3380                             }
  3381                             else
  3382                             {
  3383                                 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>();
  3384                             }
  3385                         }
  3386                         else if (S ORT_EXPRES SION.Lengt h >= 3 &&  SORT_EXPRE SSION.Subs tring(SORT _EXPRESSIO N.Length -  3, 3).ToU pper() ==  "ASC")
  3387                         {
  3388                             SORT_E XPRESSION  = SORT_EXP RESSION.Su bstring(0,  SORT_EXPR ESSION.Len gth - 4);
  3389                             if (SO RT_EXPRESS ION.Contai ns("."))
  3390                             {
  3391                                 st ring[] pro ps = SORT_ EXPRESSION .Split('.' );
  3392                                 if  (props !=  null && p rops.Count () == 2)
  3393                                 {
  3394                                      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>();
  3395                                 }
  3396                                 el se if (pro ps != null  && props. Count() ==  3)
  3397                                 {
  3398                                 }
  3399                             }
  3400                             else
  3401                             {
  3402                                 ob jReturn =  objReturn. OrderBy(s  => s.GetTy pe().GetPr operty(SOR T_EXPRESSI ON).GetVal ue(s)).ToL ist<WKF_CA SE_ACTIVIT Y>();
  3403                             }
  3404                         }
  3405                         else
  3406                         {
  3407                             if (SO RT_EXPRESS ION.Contai ns("."))
  3408                             {
  3409                                 st ring[] pro ps = SORT_ EXPRESSION .Split('.' );
  3410                                 if  (props !=  null && p rops.Count () == 2)
  3411                                 {
  3412                                      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>();
  3413                                 }
  3414                                 el se if (pro ps != null  && props. Count() ==  3)
  3415                                 {
  3416                                      // 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>();
  3417                                      //   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>();
  3418                                 }
  3419                             }
  3420                             else
  3421                             {
  3422                                 ob jReturn =  objReturn. OrderBy(s  => s.GetTy pe().GetPr operty(SOR T_EXPRESSI ON).GetVal ue(s)).ToL ist<WKF_CA SE_ACTIVIT Y>();
  3423                             }
  3424                         }
  3425                    }
  3426                }
  3427  
  3428                return o bjReturn;
  3429           }
  3430  
  3431           pu blic stati c List<Lab OrderBySta tus> WKF_C ASE_ACTIVI TY_GET_ALL _BY_STATUS (string CU RRENT_USER , int CURR ENT_REGIST RY_ID, int  STD_WKFAC TIVITYSTS_ ID)
  3432           {
  3433                LabOrder ByStatus[]  temp = se rvices.WKF _CASE_ACTI VITY_GET_A LL_BY_STAT US(CURRENT _USER, CUR RENT_REGIS TRY_ID, ST D_WKFACTIV ITYSTS_ID) ;
  3434                if (temp  != null)
  3435                    retu rn temp.To List<LabOr derByStatu s>();
  3436                return n ull;
  3437           }
  3438  
  3439           pu blic stati c List<Lab OrderBySta tus> Selec tByStatus( string CUR RENT_USER,  int CURRE NT_REGISTR Y_ID, stri ng searchC riteria, s tring sear chValue, i nt id)
  3440           {
  3441                List<Lab OrderBySta tus> objRe turn = Sel ectByStatu s(CURRENT_ USER, CURR ENT_REGIST RY_ID, sea rchCriteri a, searchV alue, id,  0, "", -1) ;
  3442  
  3443                return o bjReturn;
  3444           }
  3445  
  3446           pu blic stati c List<Lab OrderBySta tus> Selec tByStatus( string CUR RENT_USER,  int CURRE NT_REGISTR Y_ID, stri ng searchC riteria, s tring sear chValue, i nt id, int  startRow,  string so rt, int ma xRows)
  3447           {
  3448                List<Lab OrderBySta tus> objRe turn = WKF _CASE_ACTI VITY_GET_A LL_BY_STAT US(CURRENT _USER, CUR RENT_REGIS TRY_ID, id );
  3449  
  3450                if (!str ing.IsNull OrEmpty(se archCriter ia) && !st ring.IsNul lOrEmpty(s earchValue ))
  3451                {
  3452                    if ( searchCrit eria.Conta ins("."))
  3453                    {
  3454                         string[] p rops = sea rchCriteri a.Split('. ');
  3455                         if (props  != null &&  props.Cou nt() == 2)
  3456                         {
  3457                             if (ob jReturn.An 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))  != null))
  3458                             {
  3459                                 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 hValue.ToL ower())).T oList();
  3460                             }
  3461                             else
  3462                             {
  3463                                 ob jReturn =  new List<L abOrderByS tatus>();
  3464                             }
  3465                         }
  3466                    }
  3467                    else
  3468                    {
  3469                         objReturn  = objRetur n.Where(w  => w.GetTy pe().GetPr operty(sea rchCriteri a).GetValu e(w) != nu ll).ToList ();
  3470                         objReturn  = objRetur n.Where(w  => w.GetTy pe().GetPr operty(sea rchCriteri a).GetValu e(w).ToStr ing().ToLo wer().Cont ains(searc hValue.ToL ower())).T oList();
  3471                    }
  3472                }
  3473  
  3474                if (!str ing.IsNull OrEmpty(so rt))
  3475                {
  3476                    objR eturn = ob jReturn.So rtBy<LabOr derByStatu s>(sort).T oList();
  3477                }
  3478  
  3479                if (maxR ows != -1)
  3480                {
  3481                    objR eturn = ob jReturn.Sk ip(startRo w).Take(ma xRows).ToL ist();
  3482                }
  3483  
  3484                return o bjReturn;
  3485           }
  3486  
  3487           pu blic stati c int Sele ctByStatus Count(stri ng CURRENT _USER, int  CURRENT_R EGISTRY_ID , string s earchCrite ria, strin g searchVa lue, int i d)
  3488           {
  3489                int objR eturn = 0;
  3490                List<Lab OrderBySta tus> temp  = SelectBy Status(CUR RENT_USER,  CURRENT_R EGISTRY_ID , searchCr iteria, se archValue,  id);
  3491                if (temp  != null)
  3492                    objR eturn = te mp.Count() ;
  3493                return o bjReturn;
  3494           }
  3495  
  3496           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)
  3497           {
  3498                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);
  3499           }
  3500  
  3501           pu blic stati c List<Kit Orders> Ki tOrders_GE T_ALL(stri ng CURRENT _USER, int  CURRENT_R EGISTRY_ID )
  3502           {
  3503                KitOrder s[] temp =  services. KitOrders_ GET_ALL(CU RRENT_USER , CURRENT_ REGISTRY_I D);
  3504                if (temp  != null)
  3505                    retu rn temp.To List<KitOr ders>();
  3506                return n ull;
  3507           }
  3508  
  3509           pu blic stati c List<Kit Orders> Ge tOrderedKi tOrders(st ring CURRE NT_USER, i nt CURRENT _REGISTRY_ ID, string  lastName,  string fa cilityId)
  3510           {
  3511                List<Kit Orders> te mp = KitOr ders_GET_A LL(CURRENT _USER, CUR RENT_REGIS TRY_ID);
  3512                if (temp  != null)
  3513                {
  3514                    temp  = temp.Wh ere(k => k .StatusId  == 4).ToLi st();
  3515                    if ( !string.Is NullOrEmpt y(lastName ))
  3516                         temp = tem p.Where(k  => k.Patie ntName.ToU pper().Con tains(last Name.ToUpp er())).ToL ist();
  3517  
  3518                    if ( !string.Is NullOrEmpt y(facility Id))
  3519                    {
  3520                         int id = 0 ;
  3521                         if (int.Tr yParse(fac ilityId, o ut id))
  3522                         {
  3523                             temp =  temp.Wher e(k => k.I nstId == i d).ToList( );
  3524                         }
  3525                    }
  3526                    retu rn temp;
  3527                }
  3528                return n ull;
  3529           }
  3530  
  3531           pu blic stati c List<Kit Orders> Ge tOrderedKi tOrders(st ring CURRE NT_USER, i nt CURRENT _REGISTRY_ ID, string  lastName,  string fa cilityId,  int startR ow, string  sort, int  maxRows)
  3532           {
  3533                List<Kit Orders> te mp = GetOr deredKitOr ders(CURRE NT_USER, C URRENT_REG ISTRY_ID,  lastName,  facilityId );
  3534  
  3535                if (temp  != null)
  3536                {
  3537                    if ( string.IsN ullOrEmpty (sort))
  3538                         sort = "Wk fCaseId de sc";
  3539  
  3540                    if ( sort.Lengt h >= 4 &&  sort.Subst ring(sort. Length - 4 , 4).ToUpp er() == "D ESC")
  3541                    {
  3542                         sort = sor t.Substrin g(0, sort. Length - 5 );
  3543  
  3544                         if (sort.C ontains(". "))
  3545                         {
  3546                             string [] props =  sort.Spli t('.');
  3547                             if (pr ops != nul l && props .Count() = = 2)
  3548                             {
  3549                                 te mp = temp. OrderByDes cending(s  => s.GetTy pe().GetPr operty(pro ps[0]).Get Value(s).G etType().G etProperty (props[1]) .GetValue( s.GetType( ).GetPrope rty(props[ 0]).GetVal ue(s))).To List();
  3550                             }
  3551                         }
  3552                         else
  3553                             temp =  temp.Orde rByDescend ing(s => s .GetType() .GetProper ty(sort).G etValue(s) ).ToList() ;
  3554                    }
  3555                    else
  3556                    {
  3557                         if (sort.C ontains(". "))
  3558                         {
  3559                             string [] props =  sort.Spli t('.');
  3560                             if (pr ops != nul l && props .Count() = = 2)
  3561                             {
  3562                                 te mp = temp. OrderBy(s  => s.GetTy pe().GetPr operty(pro ps[0]).Get Value(s).G etType().G etProperty (props[1]) .GetValue( s.GetType( ).GetPrope rty(props[ 0]).GetVal ue(s))).To List();
  3563                             }
  3564                         }
  3565                         else
  3566                             temp =  temp.Orde rBy(s => s .GetType() .GetProper ty(sort).G etValue(s) ).ToList() ;
  3567                    }
  3568  
  3569                    retu rn temp.Sk ip(startRo w).Take(ma xRows).ToL ist();
  3570                }
  3571  
  3572                return n ull;
  3573           }
  3574  
  3575           pu blic stati c int GetO rderedKitO rdersCount (string CU RRENT_USER , int CURR ENT_REGIST RY_ID, str ing lastNa me, string  facilityI d)
  3576           {
  3577                List<Kit Orders> te mp = GetOr deredKitOr ders(CURRE NT_USER, C URRENT_REG ISTRY_ID,  lastName,  facilityId );
  3578                if (temp  != null)
  3579                    retu rn temp.Co unt();
  3580                return 0 ;
  3581           }
  3582  
  3583           pu blic stati c List<Kit Orders> Ge tLabKitsRe turned(str ing CURREN T_USER, in t CURRENT_ REGISTRY_I D, string  lastName,  string fac ilityId)
  3584           {
  3585                List<Kit Orders> te mp = KitOr ders_GET_A LL(CURRENT _USER, CUR RENT_REGIS TRY_ID);
  3586                if (temp  != null)
  3587                {
  3588                    temp  = temp.Wh ere(k => k .StatusId  == 5).ToLi st();
  3589                    if ( !string.Is NullOrEmpt y(lastName ))
  3590                         temp = tem p.Where(k  => k.Patie ntName.ToU pper().Con tains(last Name.ToUpp er())).ToL ist();
  3591  
  3592                    if ( !string.Is NullOrEmpt y(facility Id))
  3593                    {
  3594                         int id = 0 ;
  3595                         if (int.Tr yParse(fac ilityId, o ut id))
  3596                         {
  3597                             temp =  temp.Wher e(k => k.I nstId == i d).ToList( );
  3598                         }
  3599                    }
  3600                    retu rn temp;
  3601                }
  3602                return n ull;
  3603           }
  3604  
  3605           pu blic stati c List<Kit Orders> Ge tLabKitsRe turned(str ing CURREN T_USER, in t CURRENT_ REGISTRY_I D, string  lastName,  string fac ilityId, i nt startRo w, string  sort, int  maxRows)
  3606           {
  3607                List<Kit Orders> te mp = GetLa bKitsRetur ned(CURREN T_USER, CU RRENT_REGI STRY_ID, l astName, f acilityId) ;
  3608  
  3609                if (temp  != null)
  3610                {
  3611                    if ( string.IsN ullOrEmpty (sort))
  3612                         sort = "Wk fCaseId de sc";
  3613  
  3614                    if ( sort.Lengt h >= 4 &&  sort.Subst ring(sort. Length - 4 , 4).ToUpp er() == "D ESC")
  3615                    {
  3616                         sort = sor t.Substrin g(0, sort. Length - 5 );
  3617  
  3618                         if (sort.C ontains(". "))
  3619                         {
  3620                             string [] props =  sort.Spli t('.');
  3621                             if (pr ops != nul l && props .Count() = = 2)
  3622                             {
  3623                                 te mp = temp. OrderByDes cending(s  => s.GetTy pe().GetPr operty(pro ps[0]).Get Value(s).G etType().G etProperty (props[1]) .GetValue( s.GetType( ).GetPrope rty(props[ 0]).GetVal ue(s))).To List();
  3624                             }
  3625                         }
  3626                         else
  3627                             temp =  temp.Orde rByDescend ing(s => s .GetType() .GetProper ty(sort).G etValue(s) ).ToList() ;
  3628                    }
  3629                    else
  3630                    {
  3631                         if (sort.C ontains(". "))
  3632                         {
  3633                             string [] props =  sort.Spli t('.');
  3634                             if (pr ops != nul l && props .Count() = = 2)
  3635                             {
  3636                                 te mp = temp. OrderBy(s  => s.GetTy pe().GetPr operty(pro ps[0]).Get Value(s).G etType().G etProperty (props[1]) .GetValue( s.GetType( ).GetPrope rty(props[ 0]).GetVal ue(s))).To List();
  3637                             }
  3638                         }
  3639                         else
  3640                             temp =  temp.Orde rBy(s => s .GetType() .GetProper ty(sort).G etValue(s) ).ToList() ;
  3641                    }
  3642  
  3643                    retu rn temp.Sk ip(startRo w).Take(ma xRows).ToL ist();
  3644                }
  3645  
  3646                return n ull;
  3647           }
  3648  
  3649           pu blic stati c int GetL abKitsRetu rnedCount( string CUR RENT_USER,  int CURRE NT_REGISTR Y_ID, stri ng lastNam e, string  facilityId )
  3650           {
  3651                List<Kit Orders> te mp = GetLa bKitsRetur ned(CURREN T_USER, CU RRENT_REGI STRY_ID, l astName, f acilityId) ;
  3652                if (temp  != null)
  3653                    retu rn temp.Co unt();
  3654                return 0 ;
  3655           }
  3656  
  3657           pu blic stati c List<Kit Orders> Ge tLabKitsCa nceled(str ing CURREN T_USER, in t CURRENT_ REGISTRY_I D, string  lastName,  string fac ilityId)
  3658           {
  3659                List<Kit Orders> te mp = KitOr ders_GET_A LL(CURRENT _USER, CUR RENT_REGIS TRY_ID);
  3660                if (temp  != null)
  3661                {
  3662                    temp  = temp.Wh ere(k => k .StatusId  == 3).ToLi st();
  3663                    if ( !string.Is NullOrEmpt y(lastName ))
  3664                         temp = tem p.Where(k  => k.Patie ntName.ToU pper().Con tains(last Name.ToUpp er())).ToL ist();
  3665  
  3666                    if ( !string.Is NullOrEmpt y(facility Id))
  3667                    {
  3668                         int id = 0 ;
  3669                         if (int.Tr yParse(fac ilityId, o ut id))
  3670                         {
  3671                             temp =  temp.Wher e(k => k.I nstId == i d).ToList( );
  3672                         }
  3673                    }
  3674                    retu rn temp;
  3675                }
  3676                return n ull;
  3677           }
  3678  
  3679           pu blic stati c List<Kit Orders> Ge tLabKitsCa nceled(str ing CURREN T_USER, in t CURRENT_ REGISTRY_I D, string  lastName,  string fac ilityId, i nt startRo w, string  sort, int  maxRows)
  3680           {
  3681                List<Kit Orders> te mp = GetLa bKitsCance led(CURREN T_USER, CU RRENT_REGI STRY_ID, l astName, f acilityId) ;
  3682  
  3683                if (temp  != null)
  3684                {
  3685                    if ( string.IsN ullOrEmpty (sort))
  3686                         sort = "Wk fCaseId de sc";
  3687  
  3688                    if ( sort.Lengt h >= 4 &&  sort.Subst ring(sort. Length - 4 , 4).ToUpp er() == "D ESC")
  3689                    {
  3690                         sort = sor t.Substrin g(0, sort. Length - 5 );
  3691  
  3692                         if (sort.C ontains(". "))
  3693                         {
  3694                             string [] props =  sort.Spli t('.');
  3695                             if (pr ops != nul l && props .Count() = = 2)
  3696                             {
  3697                                 te mp = temp. OrderByDes cending(s  => s.GetTy pe().GetPr operty(pro ps[0]).Get Value(s).G etType().G etProperty (props[1]) .GetValue( s.GetType( ).GetPrope rty(props[ 0]).GetVal ue(s))).To List();
  3698                             }
  3699                         }
  3700                         else
  3701                             temp =  temp.Orde rByDescend ing(s => s .GetType() .GetProper ty(sort).G etValue(s) ).ToList() ;
  3702                    }
  3703                    else
  3704                    {
  3705                         if (sort.C ontains(". "))
  3706                         {
  3707                             string [] props =  sort.Spli t('.');
  3708                             if (pr ops != nul l && props .Count() = = 2)
  3709                             {
  3710                                 te mp = temp. OrderBy(s  => s.GetTy pe().GetPr operty(pro ps[0]).Get Value(s).G etType().G etProperty (props[1]) .GetValue( s.GetType( ).GetPrope rty(props[ 0]).GetVal ue(s))).To List();
  3711                             }
  3712                         }
  3713                         else
  3714                             temp =  temp.Orde rBy(s => s .GetType() .GetProper ty(sort).G etValue(s) ).ToList() ;
  3715                    }
  3716  
  3717                    retu rn temp.Sk ip(startRo w).Take(ma xRows).ToL ist();
  3718                }
  3719  
  3720                return n ull;
  3721           }
  3722  
  3723           pu blic stati c int GetL abKitsCanc eledCount( string CUR RENT_USER,  int CURRE NT_REGISTR Y_ID, stri ng lastNam e, string  facilityId )
  3724           {
  3725                List<Kit Orders> te mp = GetLa bKitsCance led(CURREN T_USER, CU RRENT_REGI STRY_ID, l astName, f acilityId) ;
  3726                if (temp  != null)
  3727                    retu rn temp.Co unt();
  3728                return 0 ;
  3729           }
  3730  
  3731           pu blic stati c List<Key ValuePair< int, strin g>> GetOrd erStatusBy ActivityID (string CU RRENT_USER , int CURR ENT_REGIST RY_ID, int  activityI d)
  3732           {
  3733                List<Key ValuePair< int, strin g>> objRet urn = new  List<KeyVa luePair<in t, string> >();
  3734  
  3735                WKF_CASE _ACTIVITY  activity =  WKF_CASE_ ACTIVITY_G ET(CURRENT _USER, CUR RENT_REGIS TRY_ID, ac tivityId);
  3736                if (acti vity != nu ll)
  3737                {
  3738                    objR eturn.Add( new KeyVal uePair<int , string>( activity.W KF_CASE_ID , activity .STD_WKFAC TIVITYSTS. NAME));
  3739                }
  3740  
  3741                return o bjReturn;
  3742           }
  3743  
  3744           pu blic stati c LabOrder Patient Ge tPatientBy ActivityId (string CU RRENT_USER , int CURR ENT_REGIST RY_ID, int  activityI d)
  3745           {
  3746                return s ervices.La bOrderPati ent_GET(CU RRENT_USER , CURRENT_ REGISTRY_I D, activit yId);
  3747           }
  3748  
  3749           pu blic stati c List<Lab Result> La bResult_GE T_NEW(stri ng CURRENT _USER, int  CURRENT_R EGISTRY_ID , int acti vityStatus Id)
  3750           {
  3751                LabResul t[] temp =  services. LabResult_ GET_NEW(CU RRENT_USER , CURRENT_ REGISTRY_I D, activit yStatusId) ;
  3752                if (temp  != null)
  3753                    retu rn temp.To List<LabRe sult>();
  3754                return n ull;
  3755           }
  3756  
  3757           pu blic stati c List<Lab Result> Ge tNewLabRes ults(strin g CURRENT_ USER, int  CURRENT_RE GISTRY_ID,  int id, s tring sear chValue)
  3758           {
  3759                List<Lab Result> te mp = LabRe sult_GET_N EW(CURRENT _USER, CUR RENT_REGIS TRY_ID, id );
  3760                if (temp  != null)
  3761                {
  3762                    if ( !string.Is NullOrEmpt y(searchVa lue))
  3763                         temp = tem p.Where(t  => t.Patie ntName.ToU pper().Con tains(sear chValue.To Upper())). ToList();
  3764                }
  3765                return t emp;
  3766           }
  3767  
  3768           pu blic stati c List<Lab Result> Ge tNewLabRes ults(strin g CURRENT_ USER, int  CURRENT_RE GISTRY_ID,  int id, s tring sear chValue, i nt startRo w, string  sort, int  maxRows)
  3769           {
  3770                List<Lab Result> te mp = LabRe sult_GET_N EW(CURRENT _USER, CUR RENT_REGIS TRY_ID, id );
  3771                if (temp  != null)
  3772                {
  3773                    if ( !string.Is NullOrEmpt y(searchVa lue))
  3774                         temp = tem p.Where(t  => t.Patie ntName.ToU pper().Con tains(sear chValue.To Upper())). ToList();
  3775  
  3776                    if ( string.IsN ullOrEmpty (sort))
  3777                         sort = "Ca seId desc" ;
  3778  
  3779                    if ( sort.Lengt h >= 4 &&  sort.Subst ring(sort. Length - 4 , 4).ToUpp er() == "D ESC")
  3780                    {
  3781                         sort = sor t.Substrin g(0, sort. Length - 5 );
  3782  
  3783                         if (sort.C ontains(". "))
  3784                         {
  3785                             string [] props =  sort.Spli t('.');
  3786                             if (pr ops != nul l && props .Count() = = 2)
  3787                             {
  3788                                 te mp = temp. OrderByDes cending(s  => s.GetTy pe().GetPr operty(pro ps[0]).Get Value(s).G etType().G etProperty (props[1]) .GetValue( s.GetType( ).GetPrope rty(props[ 0]).GetVal ue(s))).To List();
  3789                             }
  3790                         }
  3791                         else
  3792                             temp =  temp.Orde rByDescend ing(s => s .GetType() .GetProper ty(sort).G etValue(s) ).ToList() ;
  3793                    }
  3794                    else
  3795                    {
  3796                         if (sort.C ontains(". "))
  3797                         {
  3798                             string [] props =  sort.Spli t('.');
  3799                             if (pr ops != nul l && props .Count() = = 2)
  3800                             {
  3801                                 te mp = temp. OrderBy(s  => s.GetTy pe().GetPr operty(pro ps[0]).Get Value(s).G etType().G etProperty (props[1]) .GetValue( s.GetType( ).GetPrope rty(props[ 0]).GetVal ue(s))).To List();
  3802                             }
  3803                         }
  3804                         else
  3805                             temp =  temp.Orde rBy(s => s .GetType() .GetProper ty(sort).G etValue(s) ).ToList() ;
  3806                    }
  3807  
  3808                    temp  = temp.Sk ip(startRo w).Take(ma xRows).ToL ist();
  3809                }
  3810  
  3811                return t emp;
  3812           }
  3813  
  3814           pu blic stati c int GetN ewLabResul tsCount(st ring CURRE NT_USER, i nt CURRENT _REGISTRY_ ID, int id , string s earchValue )
  3815           {
  3816                List<Lab Result> te mp = GetNe wLabResult s(CURRENT_ USER, CURR ENT_REGIST RY_ID, id,  searchVal ue);
  3817                if (temp  != null)
  3818                    retu rn temp.Co unt();
  3819                return 0 ;
  3820           }
  3821  
  3822           pu blic stati c List<Key ValuePair< int, strin g>> GetIns itutionLis t(string C URRENT_USE R, int CUR RENT_REGIS TRY_ID)
  3823           {
  3824                List<Key ValuePair< int, strin g>> objRet urn = new  List<KeyVa luePair<in t, string> >();
  3825  
  3826                List<STD _INSTITUTI ON> instLi st = STD_I NSTITUTION _GET_ALL(C URRENT_USE R, CURRENT _REGISTRY_ ID);
  3827                if (inst List != nu ll)
  3828                {
  3829                    objR eturn = in stList.Whe re(inst =>  inst.VISN _ID != nul l).OrderBy (o => o.ST ATIONNUMBE R).Select( s => new K eyValuePai r<int, str ing>(s.ID,  "(" + s.S TATIONNUMB ER + ") "  + s.NAME.R eplace("\" ", ""))).T oList();
  3830                }
  3831                else
  3832                    objR eturn = ne w List<Key ValuePair< int, strin g>>();
  3833  
  3834                return o bjReturn;
  3835           }
  3836  
  3837           pu blic stati c List<STD _INSTITUTI ON> GetVIS NOnlyList( string CUR RENT_USER,  int CURRE NT_REGISTR Y_ID)
  3838           {
  3839                List<STD _INSTITUTI ON> instLi st = STD_I NSTITUTION _GET_ALL(C URRENT_USE R, CURRENT _REGISTRY_ ID);
  3840                if (inst List != nu ll)
  3841                {
  3842                    inst List = ins tList.Wher e(inst =>  inst.STD_F ACILITYTYP E_ID == 10 09241).Ord erBy(o =>  o.ID).ToLi st();
  3843                }
  3844                else
  3845                    inst List = new  List<STD_ INSTITUTIO N>();
  3846  
  3847                return i nstList;
  3848           }
  3849  
  3850           #e ndregion
  3851  
  3852           #r egion WKF_ CASE_ASSIG NMENT
  3853           #e ndregion
  3854  
  3855           #r egion WKF_ CASE_COMME NTS
  3856           #e ndregion
  3857  
  3858           #r egion LOGS
  3859  
  3860           pu blic stati c void Log Details(Lo gDetails l ogDetails)
  3861           {
  3862                services .LOG_DETAI LS(logDeta ils);
  3863           }
  3864  
  3865           pu blic stati c void Log Timing(Log Details lo gDetails)
  3866           {
  3867                services .LOG_TIMIN G(logDetai ls);
  3868           }
  3869  
  3870           pu blic stati c void Log Informatio n(string m essage, st ring proce ssName, st ring usern ame, int r egistryId)
  3871           {
  3872                services .LOG_INFOR MATION(mes sage, proc essName, u sername, r egistryId) ;
  3873           }
  3874  
  3875           pu blic stati c void Log Error(stri ng message , string p rocessName , string u sername, i nt registr yId)
  3876           {
  3877                services .LOG_ERROR (message,  processNam e, usernam e, registr yId);
  3878           }
  3879  
  3880           #e ndregion
  3881  
  3882           #r egion REPO RTS
  3883  
  3884           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)
  3885           {
  3886                ReportIt em[] temp  = services .REPORTS_G ET_ALL_BY_ USER_REGIS TRY(CURREN T_USER, CU RRENT_REGI STRY_ID);
  3887                if (temp  != null)
  3888                    retu rn temp.To List<Repor tItem>();
  3889                return n ull;
  3890           }
  3891  
  3892           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)
  3893           {
  3894                List<Rep ortItem> o bjReturn =  REPORTS_G ET_ALL_BY_ USER_REGIS TRY(CURREN T_USER, CU RRENT_REGI STRY_ID);
  3895                if (objR eturn != n ull)
  3896                {
  3897                    if ( objReturn  != null &&  objReturn .Count !=  0)
  3898                    {
  3899                         if (!strin g.IsNullOr Empty(SEAR CH_COLUMN)  && !strin g.IsNullOr Empty(SEAR CH_TEXT))
  3900                         {
  3901                             if (SE ARCH_COLUM N.Contains ("."))
  3902                             {
  3903                                 st ring[] pro ps = SEARC H_COLUMN.S plit('.');
  3904                                 if  (props !=  null && p rops.Count () == 2)
  3905                                 {
  3906                                      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 >();
  3907                                 }
  3908                             }
  3909                             else
  3910                             {
  3911                                 ob jReturn =  objReturn. Where(w =>  w.GetType ().GetProp erty(SEARC H_COLUMN). GetValue(w ) != null) .ToList<Re portItem>( );
  3912                                 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>();
  3913                             }
  3914                         }
  3915                         if (!strin g.IsNullOr Empty(SORT _EXPRESSIO N))
  3916                         {
  3917                             if (SO RT_EXPRESS ION.Length  >= 4 && S ORT_EXPRES SION.Subst ring(SORT_ EXPRESSION .Length -  4, 4).ToUp per() == " DESC")
  3918                             {
  3919                                 SO RT_EXPRESS ION = SORT _EXPRESSIO N.Substrin g(0, SORT_ EXPRESSION .Length -  5);
  3920  
  3921                                 if  (SORT_EXP RESSION.Co ntains("." ))
  3922                                 {
  3923                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  3924                                      if (prop s != null  && props.C ount() ==  2)
  3925                                      {
  3926                                          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>();
  3927                                      }
  3928                                      else if  (props !=  null && pr ops.Count( ) == 3)
  3929                                      {
  3930                                      }
  3931                                 }
  3932                                 el se
  3933                                 {
  3934                                      objRetur n = objRet urn.OrderB yDescendin g(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<Re portItem>( );
  3935                                 }
  3936                             }
  3937                             else i f (SORT_EX PRESSION.L ength >= 3  && SORT_E XPRESSION. Substring( SORT_EXPRE SSION.Leng th - 3, 3) .ToUpper()  == "ASC")
  3938                             {
  3939                                 SO RT_EXPRESS ION = SORT _EXPRESSIO N.Substrin g(0, SORT_ EXPRESSION .Length -  4);
  3940                                 if  (SORT_EXP RESSION.Co ntains("." ))
  3941                                 {
  3942                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  3943                                      if (prop s != null  && props.C ount() ==  2)
  3944                                      {
  3945                                          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>();
  3946                                      }
  3947                                      else if  (props !=  null && pr ops.Count( ) == 3)
  3948                                      {
  3949                                      }
  3950                                 }
  3951                                 el se
  3952                                 {
  3953                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<Re portItem>( );
  3954                                 }
  3955                             }
  3956                             else
  3957                             {
  3958                                 if  (SORT_EXP RESSION.Co ntains("." ))
  3959                                 {
  3960                                      string[]  props = S ORT_EXPRES SION.Split ('.');
  3961                                      if (prop s != null  && props.C ount() ==  2)
  3962                                      {
  3963                                          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>();
  3964                                      }
  3965                                      else if  (props !=  null && pr ops.Count( ) == 3)
  3966                                      {
  3967                                      }
  3968                                 }
  3969                                 el se
  3970                                 {
  3971                                      objRetur n = objRet urn.OrderB y(s => s.G etType().G etProperty (SORT_EXPR ESSION).Ge tValue(s)) .ToList<Re portItem>( );
  3972                                 }
  3973                             }
  3974                         }
  3975                    }
  3976                }
  3977  
  3978                return o bjReturn;
  3979           }
  3980  
  3981           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)
  3982           {
  3983                ReportIt em[] temp  = services .REPORTS_G ET_ALL_BY_ REGISTRY(C URRENT_USE R, CURRENT _REGISTRY_ ID);
  3984                if (temp  != null)
  3985                    retu rn temp.To List<Repor tItem>();
  3986                return n ull;
  3987           }
  3988  
  3989           pu blic stati c List<Rep ortItem> R EPORTS_GET _ALL_SYSTE M(string C URRENT_USE R, int CUR RENT_REGIS TRY_ID)
  3990           {
  3991                ReportIt em[] temp  = services .REPORTS_G ET_ALL_SYS TEM(CURREN T_USER, CU RRENT_REGI STRY_ID);
  3992                if (temp  != null)
  3993                    retu rn temp.To List<Repor tItem>();
  3994                return n ull;
  3995           }
  3996  
  3997           pu blic stati c List<Rep ortItem> R EPORTS_GET _ALL_BY_US ER(string  CURRENT_US ER, int CU RRENT_REGI STRY_ID)
  3998           {
  3999                ReportIt em[] temp  = services .REPORTS_G ET_ALL_BY_ USER(CURRE NT_USER, C URRENT_REG ISTRY_ID);
  4000                if (temp  != null)
  4001                    retu rn temp.To List<Repor tItem>();
  4002                return n ull;
  4003           }
  4004  
  4005           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 )
  4006           {
  4007                return s ervices.RE PORTS_UPDA TE_ITEM_PR OPERTIES(C URRENT_USE R, CURRENT _REGISTRY_ ID, ITEM_P ATH, DESCR IPTION);
  4008           }
  4009  
  4010           #e ndregion
  4011  
  4012           #r egion APPS ETTINGS
  4013  
  4014           pu blic stati c AppSetti ngs APPSET TINGS_GET( string ide ntity, int  registryI d)
  4015           {
  4016                return s ervices.AP PSETTINGS_ GET(identi ty, regist ryId);
  4017           }
  4018  
  4019           pu blic stati c bool APP SETTINGS_S AVE(string  identity,  int regis tryId, App Settings a ppSettings )
  4020           {
  4021                return s ervices.AP PSETTINGS_ SAVE(ident ity, regis tryId, app Settings);
  4022           }
  4023  
  4024           pu blic stati c void APP SETTINGS_S AVE_TO_CON FIG(AppSet tings appS ettings)
  4025           {
  4026                try
  4027                {
  4028                    serv ices.APPSE TTINGS_SAV E_TO_CONFI G(appSetti ngs);
  4029                }
  4030                catch // (Exception  ex)
  4031                {
  4032                    //Do  nothing,  error has  already be en logged
  4033                }
  4034           }
  4035  
  4036           pu blic stati c string R EPORTS_GET _SERVER_UR L()
  4037           {
  4038                return s ervices.RE PORTS_GET_ SERVER_URL ();
  4039           }
  4040  
  4041           pu blic stati c string R EPORTS_GET _BUILDER_U RL()
  4042           {
  4043                return s ervices.RE PORTS_GET_ BUILDER_UR L();
  4044           }
  4045  
  4046           pu blic stati c int GET_ SQL_COMMAN D_TIMEOUT( )
  4047           {
  4048                return s ervices.GE T_SQL_COMM AND_TIMEOU T();
  4049           }
  4050  
  4051           #e ndregion
  4052  
  4053           #r egion MVI
  4054  
  4055           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 )
  4056           {
  4057                //Moved  MVI functi onality to  it's own  service en dpoint, 
  4058                //will n eed to add  a new ser vice refer ence if MV I function ality is n eeded in t he GUI
  4059                //return  services. PRPA_IN201 305UV02(CU RRENT_USER , CURRENT_ REGISTRY_I D, CURRENT _PATIENT_I D, MVI_TYP E_ID);
  4060                return f alse;
  4061           }
  4062  
  4063           pu blic stati c bool PRP A_IN201309 UV02(strin g CURRENT_ USER, int  CURRENT_RE GISTRY_ID,  int CURRE NT_PATIENT _ID)
  4064           {
  4065                //Moved  MVI functi onality to  it's own  service en dpoint, 
  4066                //will n eed to add  a new ser vice refer ence if MV I function ality is n eeded in t he GUI
  4067                //return  services. PRPA_IN201 309UV02(CU RRENT_USER , CURRENT_ REGISTRY_I D, CURRENT _PATIENT_I D);
  4068                return f alse;
  4069           }
  4070  
  4071           #e ndregion
  4072  
  4073           #r egion FRAM EWORK_DATA
  4074  
  4075           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)
  4076           {
  4077                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);
  4078                if (temp  != null)
  4079                    retu rn temp.To List<ENC_E NCOUNTER>( ).FirstOrD efault();
  4080                return n ull;
  4081           }
  4082  
  4083           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)
  4084           {
  4085                ALLERGY[ ] temp = s ervices.AL LERGY_GET_ BY_REFERRA L(CURRENT_ USER, CURR ENT_REGIST RY_ID, CUR RENT_REFER RAL_ID);
  4086                if (temp  != null)
  4087                    retu rn temp.To List<ALLER GY>().Firs tOrDefault ();
  4088                return n ull;
  4089           }
  4090  
  4091           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)
  4092           {
  4093                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 );
  4094                if (temp  != null)
  4095                    retu rn temp.To List<A06_A UDIOMETRIC _EXAM_DATA _509850_9> ().FirstOr Default();
  4096                return n ull;
  4097           }
  4098  
  4099           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)
  4100           {
  4101                CONSULT[ ] temp = s ervices.CO NSULT_GET_ BY_REFERRA L(CURRENT_ USER, CURR ENT_REGIST RY_ID, CUR RENT_REFER RAL_ID);
  4102                if (temp  != null)
  4103                    retu rn temp.To List<CONSU LT>().Firs tOrDefault ();
  4104                return n ull;
  4105           }
  4106  
  4107           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)
  4108           {
  4109                EDISLOG[ ] temp = s ervices.ED ISLOG_GET_ BY_REFERRA L(CURRENT_ USER, CURR ENT_REGIST RY_ID, CUR RENT_REFER RAL_ID);
  4110                if (temp  != null)
  4111                    retu rn temp.To List<EDISL OG>().Firs tOrDefault ();
  4112                return n ull;
  4113           }
  4114  
  4115           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)
  4116           {
  4117                IMMUNIZA TION[] tem p = servic es.IMMUNIZ ATION_GET_ BY_REFERRA L(CURRENT_ USER, CURR ENT_REGIST RY_ID, CUR RENT_REFER RAL_ID);
  4118                if (temp  != null)
  4119                    retu rn temp.To List<IMMUN IZATION>() .FirstOrDe fault();
  4120                return n ull;
  4121           }
  4122  
  4123           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)
  4124           {
  4125                INPAT_IN PATIENT[]  temp = ser vices.INPA T_INPATIEN T_GET_BY_R EFERRAL(CU RRENT_USER , CURRENT_ REGISTRY_I D, CURRENT _REFERRAL_ ID);
  4126                if (temp  != null)
  4127                    retu rn temp.To List<INPAT _INPATIENT >().FirstO rDefault() ;
  4128                return n ull;
  4129           }
  4130  
  4131           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)
  4132           {
  4133                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);
  4134                if (temp  != null)
  4135                    retu rn temp.To List<INPAT _CENSUS>() .FirstOrDe fault();
  4136                return n ull;
  4137           }
  4138  
  4139           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)
  4140           {
  4141                INPATIEN T_DIAGNOSI S[] temp =  services. INPATIENT_ DIAGNOSIS_ GET_BY_REF ERRAL(CURR ENT_USER,  CURRENT_RE GISTRY_ID,  CURRENT_R EFERRAL_ID );
  4142                if (temp  != null)
  4143                    retu rn temp.To List<INPAT IENT_DIAGN OSIS>().Fi rstOrDefau lt();
  4144                return n ull;
  4145           }
  4146  
  4147           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)
  4148           {
  4149                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);
  4150                if (temp  != null)
  4151                    retu rn temp.To List<CHEM_ LABCHEM>() .FirstOrDe fault();
  4152                return n ull;
  4153           }
  4154  
  4155           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)
  4156           {
  4157                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);
  4158                if (temp  != null)
  4159                    retu rn temp.To List<OUTPA T_VISIT>() .FirstOrDe fault();
  4160                return n ull;
  4161           }
  4162  
  4163           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)
  4164           {
  4165                SCONSULT _REASON[]  temp = ser vices.SCON SULT_REASO N_GET_BY_R EFERRAL(CU RRENT_USER , CURRENT_ REGISTRY_I D, CURRENT _REFERRAL_ ID);
  4166                if (temp  != null)
  4167                    retu rn temp.To List<SCONS ULT_REASON >().FirstO rDefault() ;
  4168                return n ull;
  4169           }
  4170  
  4171           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)
  4172           {
  4173                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);
  4174                if (temp  != null)
  4175                    retu rn temp.To List<PATSU B_SECONDAR YELIGIBILI TY>().Firs tOrDefault ();
  4176                return n ull;
  4177           }
  4178  
  4179           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)
  4180           {
  4181                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);
  4182                if (temp  != null)
  4183                    retu rn temp.To List<PATIE NT_ENROLLM ENT>().Fir stOrDefaul t();
  4184                return n ull;
  4185           }
  4186  
  4187           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)
  4188           {
  4189                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);
  4190                if (temp  != null)
  4191                    retu rn temp.To List<PATIE NT_ETHNICI TY>().Firs tOrDefault ();
  4192                return n ull;
  4193           }
  4194  
  4195           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)
  4196           {
  4197                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);
  4198                if (temp  != null)
  4199                    retu rn temp.To List<A06_S PATIENT_GE OCODEDADDR ESS>().Fir stOrDefaul t();
  4200                return n ull;
  4201           }
  4202  
  4203           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)
  4204           {
  4205                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);
  4206                if (temp  != null)
  4207                    retu rn temp.To List<SPATI ENT_SPATIE NTINSURANC E>().First OrDefault( );
  4208                return n ull;
  4209           }
  4210  
  4211           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)
  4212           {
  4213                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 );
  4214                if (temp  != null)
  4215                    retu rn temp.To List<MILIT ARY_SERVIC E_EPISODE> ().FirstOr Default();
  4216                return n ull;
  4217           }
  4218  
  4219           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)
  4220           {
  4221                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);
  4222                if (temp  != null)
  4223                    retu rn temp.To List<MILIT ARY_SEXUAL _TRAUMA>() .FirstOrDe fault();
  4224                return n ull;
  4225           }
  4226  
  4227           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)
  4228           {
  4229                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 );
  4230                if (temp  != null)
  4231                    retu rn temp.To List<OEFOI F_SERVICE> ().FirstOr Default();
  4232                return n ull;
  4233           }
  4234  
  4235           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)
  4236           {
  4237                PHARMACY _PATIENT[]  temp = se rvices.PHA RMACY_PATI ENT_GET_BY _REFERRAL( CURRENT_US ER, CURREN T_REGISTRY _ID, CURRE NT_REFERRA L_ID);
  4238                if (temp  != null)
  4239                    retu rn temp.To List<PHARM ACY_PATIEN T>().First OrDefault( );
  4240                return n ull;
  4241           }
  4242  
  4243           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)
  4244           {
  4245                NOSETHRO AT_RADIUMH ST[] temp  = services .NOSETHROA T_RADIUMHS T_GET_BY_R EFERRAL(CU RRENT_USER , CURRENT_ REGISTRY_I D, CURRENT _REFERRAL_ ID);
  4246                if (temp  != null)
  4247                    retu rn temp.To List<NOSET HROAT_RADI UMHST>().F irstOrDefa ult();
  4248                return n ull;
  4249           }
  4250  
  4251           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)
  4252           {
  4253                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);
  4254                if (temp  != null)
  4255                    retu rn temp.To List<SERVI CE_CONNECT ED_CONDITI ON>().Firs tOrDefault ();
  4256                return n ull;
  4257           }
  4258  
  4259           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)
  4260           {
  4261                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 );
  4262                if (temp  != null)
  4263                    retu rn temp.To List<PATSU B_VARATEDD ISABILITY> ().FirstOr Default();
  4264                return n ull;
  4265           }
  4266  
  4267           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)
  4268           {
  4269                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);
  4270                if (temp  != null)
  4271                    retu rn temp.To List<A06_P HARMACY_PA TIENT_55X_ IV_55_01>( ).FirstOrD efault();
  4272                return n ull;
  4273           }
  4274  
  4275           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)
  4276           {
  4277                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 );
  4278                if (temp  != null)
  4279                    retu rn temp.To List<A06_P HARMACY_PA TIX_UNIT_D OSE_55_06> ().FirstOr Default();
  4280                return n ull;
  4281           }
  4282  
  4283           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)
  4284           {
  4285                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 );
  4286                if (temp  != null)
  4287                    retu rn temp.To List<A06_P HARMACY_PA TX_NONVA_M EDS_55_05> ().FirstOr Default();
  4288                return n ull;
  4289           }
  4290  
  4291           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)
  4292           {
  4293                RXOUTPAT [] temp =  services.R XOUTPAT_GE T_BY_REFER RAL(CURREN T_USER, CU RRENT_REGI STRY_ID, C URRENT_REF ERRAL_ID);
  4294                if (temp  != null)
  4295                    retu rn temp.To List<RXOUT PAT>().Fir stOrDefaul t();
  4296                return n ull;
  4297           }
  4298  
  4299           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)
  4300           {
  4301                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);
  4302                if (temp  != null)
  4303                    retu rn temp.To List<OUTPA T_PROBLEML IST>().Fir stOrDefaul t();
  4304                return n ull;
  4305           }
  4306  
  4307           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)
  4308           {
  4309                TIU_TIUD OCUMENT[]  temp = ser vices.TIU_ TIUDOCUMEN T_GET_BY_R EFERRAL(CU RRENT_USER , CURRENT_ REGISTRY_I D, CURRENT _REFERRAL_ ID);
  4310                if (temp  != null)
  4311                    retu rn temp.To List<TIU_T IUDOCUMENT >().FirstO rDefault() ;
  4312                return n ull;
  4313           }
  4314  
  4315           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)
  4316           {
  4317                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);
  4318                if (temp  != null)
  4319                    retu rn temp.To List<RADIO LOGYEXAM>( ).FirstOrD efault();
  4320                return n ull;
  4321           }
  4322  
  4323           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)
  4324           {
  4325                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);
  4326                if (temp  != null)
  4327                    retu rn temp.To List<SPATI ENT_NEW>() .FirstOrDe fault();
  4328                return n ull;
  4329           }
  4330  
  4331           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)
  4332           {
  4333                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);
  4334                if (temp  != null)
  4335                    retu rn temp.To List<OUTPA T_VDIAGNOS IS>().Firs tOrDefault ();
  4336                return n ull;
  4337           }
  4338  
  4339           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)
  4340           {
  4341                VITALSIG N[] temp =  services. VITALSIGN_ GET_BY_REF ERRAL(CURR ENT_USER,  CURRENT_RE GISTRY_ID,  CURRENT_R EFERRAL_ID );
  4342                if (temp  != null)
  4343                    retu rn temp.To List<VITAL SIGN>().Fi rstOrDefau lt();
  4344                return n ull;
  4345           }
  4346  
  4347           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)
  4348           {
  4349                LabScree ning[] tem p = servic es.LABSCRE ENING_GET_ BY_REFERRA L(CURRENT_ USER, CURR ENT_REGIST RY_ID, CUR RENT_REFER RAL_ID);
  4350                if (temp  != null)
  4351                    retu rn temp.To List<LabSc reening>() .FirstOrDe fault();
  4352                return n ull;
  4353           }
  4354  
  4355           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)
  4356           {
  4357                TRACER[]  temp = se rvices.TRA CER_GET_BY _REFERRAL( CURRENT_US ER, CURREN T_REGISTRY _ID, CURRE NT_REFERRA L_ID);
  4358                if (temp  != null)
  4359                    retu rn temp.To List<TRACE R>().First OrDefault( );
  4360                return n ull;
  4361           }
  4362  
  4363           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)
  4364           {
  4365                APPT_APP OINTMENT[]  temp = se rvices.APP OINTMENTS_ GET_BY_REF ERRAL(CURR ENT_USER,  CURRENT_RE GISTRY_ID,  CURRENT_R EFERRAL_ID );
  4366                if (temp  != null)
  4367                    retu rn temp.To List<APPT_ APPOINTMEN T>().First OrDefault( );
  4368                return n ull;
  4369           }
  4370  
  4371           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 )
  4372           {
  4373                return s ervices.Ge tFrameWork Info(CURRE NT_USER, C URRENT_REG ISTRY_ID,  REFERRAL_I D, PATIENT _ID, CURRE NT_FRAMEWO RK_DATA);
  4374           }
  4375  
  4376           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)
  4377           {
  4378                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);
  4379                if (temp  != null)
  4380                    retu rn temp.To List<Table ColumnValu e>();
  4381                return n ull;
  4382           }
  4383  
  4384           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)
  4385           {
  4386                TableCol umnValue[]  temp = se rvices.REG ISTRY_FRAM EWORK_DATA _GET_ALL_B Y_REGISTRY (CURRENT_U SER, CURRE NT_REGISTR Y_ID);
  4387                if (temp  != null)
  4388                    retu rn temp.To List<Table ColumnValu e>();
  4389                return n ull;
  4390           }
  4391  
  4392           #e ndregion
  4393  
  4394           pu blic List< TOOL_QUEST ION_DTO> S earchQuest ions(strin g keyWords , string t ype, strin g status,  string sor t, int sta rtRow, int  maxRows)
  4395           {
  4396                TOOL_QUE STION_DTO[ ] temp = s ervices.Se archQuesti ons(keyWor ds, type,  status, so rt, startR ow, maxRow s, ref thi s.totalCou nt);
  4397                if (temp  != null)
  4398                {
  4399                    //to talCount =  temp.Coun t();
  4400                    retu rn temp.To List<TOOL_ QUESTION_D TO>();
  4401                }
  4402                return n ull;
  4403           }
  4404  
  4405           pu blic int S earchQuest ionsCount( string key Words, str ing type,  string sta tus, strin g sort, in t startRow , int maxR ows)
  4406           {
  4407                return t his.totalC ount;
  4408           }
  4409  
  4410           pu blic IEnum erable<TOO L_FORM_DTO > SearchFo rms(string  keyWords,  string st atus, stri ng systemW ide, strin g sort, in t startRow , int maxR ows)
  4411           {
  4412                TOOL_FOR M_DTO[] te mp = servi ces.Search Forms(keyW ords, stat us, system Wide, sort , startRow , maxRows,  ref this. totalCount );
  4413                if (temp  != null)
  4414                {
  4415                    //to talCount =  temp.Coun t();
  4416                    retu rn temp.To List<TOOL_ FORM_DTO>( );
  4417                }
  4418                return n ull;
  4419           }
  4420  
  4421           pu blic int S earchForms Count(stri ng keyWord s, string  status, st ring syste mWide, str ing sort,  int startR ow, int ma xRows)
  4422           {
  4423                return t his.totalC ount;
  4424           }
  4425  
  4426           pu blic TOOL_ FORM_DTO G etFormById (int formI d)
  4427           {
  4428                return s ervices.Ge tFormById( formId);
  4429           }
  4430  
  4431           pu blic TOOL_ QUESTION_D TO GetQues tionById(i nt questio nId)
  4432           {
  4433                return s ervices.Ge tQuestionB yId(questi onId);
  4434           }
  4435  
  4436           pu blic List< TOOL_QUEST ION_DTO> G etQuestion sByFormId( int formId )
  4437           {
  4438                return s ervices.Ge tQuestions ByFormId(f ormId).ToL ist();
  4439           }
  4440  
  4441           pu blic int A ddQuestion ToForm(str ing CURREN T_USER, in t question Id, int fo rmId)
  4442           {
  4443                return s ervices.Ad dQuestionT oForm(CURR ENT_USER,  questionId , formId);
  4444           }
  4445  
  4446           pu blic bool  RemoveQues tionFromFo rm(string  CURRENT_US ER, int qu estionId,  int formId )
  4447           {
  4448                return s ervices.Re moveQuesti onFromForm (CURRENT_U SER, quest ionId, for mId);
  4449           }
  4450  
  4451           pu blic int S aveForm(st ring curre ntUser, in t formId,  TOOL_FORM_ DTO saveFo rm)
  4452           {
  4453                return s ervices.Sa veForm(cur rentUser,  formId, sa veForm);
  4454           }
  4455  
  4456           pu blic void  SubmitFoll owUpFormTo StdTables( string cur rentUser,  int toolFo rmId)
  4457           {
  4458                services .SubmitFol lowUpFormT oStdTables (currentUs er, toolFo rmId);
  4459           }
  4460  
  4461           pu blic bool  RemoveForm (int formI d)
  4462           {
  4463                return s ervices.Re moveForm(f ormId);
  4464           }
  4465  
  4466           pu blic int S aveQuestio n(string c urrentUser , int ques tionId, TO OL_QUESTIO N_DTO save Question)
  4467           {
  4468                return s ervices.Sa veQuestion (currentUs er, questi onId, save Question);
  4469           }
  4470  
  4471           pu blic List< VIEW_LOOKU P> SelectL ookupList( string loo kupCategor y)
  4472           {
  4473                return s ervices.Se lectLookup List(looku pCategory) .ToList();
  4474           }
  4475  
  4476           pu blic bool  ActivateDe activateFo rm(string  currentUse r, int for mId)
  4477           {
  4478                return s ervices.Ac tivateDeac tivateForm (currentUs er, formId );
  4479           }
  4480  
  4481           pu blic bool  ActivateDe activateQu estion(str ing curren tUser, int  questionI d)
  4482           {
  4483                return s ervices.Ac tivateDeac tivateQues tion(curre ntUser, qu estionId);
  4484           }
  4485  
  4486           pu blic bool  RemoveQues tion(int q uestionId)
  4487           {
  4488                return s ervices.Re moveQuesti on(questio nId);
  4489           }
  4490  
  4491           pu blic stati c Int32 AU DIT_LOG_Sa ve(string  CURRENT_US ER, Int32  CURRENT_RE GISTRY_ID,  AUDIT_LOG  objSave)
  4492           {
  4493                return s ervices.AU DIT_LOG_Sa ve(CURRENT _USER, CUR RENT_REGIS TRY_ID, ob jSave);
  4494           }
  4495       }
  4496   }