private List <int> GetAuthorizedFormResultIds(IFormsSql formsSql)
        {
            DataTable dtFormResults = new DataTable();

            for (int j = 0; j < SessionHelper.LoginStatus.appGroupPermissions.Count; j++)
            {
                StringBuilder stringBuilder = new StringBuilder("SELECT formResultId FROM def_FormResults");

                stringBuilder.Append(" WHERE EnterpriseID = " + SessionHelper.LoginStatus.EnterpriseID);
                if (!SessionHelper.LoginStatus.appGroupPermissions[j].authorizedGroups.Contains(0))
                {
                    stringBuilder.Append(" AND (");

                    for (int i = 0; i < SessionHelper.LoginStatus.appGroupPermissions[j].authorizedGroups.Count; i++)
                    {
                        stringBuilder.Append("GroupID = " + SessionHelper.LoginStatus.appGroupPermissions[j].authorizedGroups[i]);

                        if (i < SessionHelper.LoginStatus.appGroupPermissions[j].authorizedGroups.Count - 1)
                        {
                            stringBuilder.Append(" OR ");
                        }
                    }
                    stringBuilder.Append(")");
                }

                if (!UAS_Business_Functions.hasPermission(PermissionConstants.GROUP_WIDE, j, PermissionConstants.ASSMNTS))
                {
                    stringBuilder.Append(" AND " + " assigned = " + SessionHelper.LoginStatus.UserID);
                }

                stringBuilder.Append(" AND formStatus < " + (int)FormResults_formStatus.COMPLETED);

                String qry = stringBuilder.ToString();

                try
                {
                    SqlConnection sqlConn = new SqlConnection(formsSql.GetConnectionString());
                    sqlConn.Open();
                    SqlCommand cmd = new SqlCommand(qry, sqlConn);

                    if (j == 0)
                    {
                        dtFormResults.Load(cmd.ExecuteReader());
                    }
                    else
                    {
                        DataTable dt = new DataTable();
                        dt.Load(cmd.ExecuteReader());
                        dtFormResults.Merge(dt);
                    }
                    sqlConn.Close();
                }
                catch (Exception ex)
                {
                    Debug.WriteLine("GetAuthorizedFormResultIds: " + ex.Message);
                    return(null);
                }
            }

            List <int> formResultIds = (from fr in dtFormResults.Select()
                                        select fr.Field <int>(0)).ToList();

            return(formResultIds);
        }
        private void GetAuthorizedFormResultIds(IFormsSql formsSql, out List <int> formResultIds, out List <int?> contactIds)
        {
            DataTable dtFormResults = new DataTable();

            for (int j = 0; j < SessionHelper.LoginStatus.appGroupPermissions.Count; j++)
            {
                StringBuilder stringBuilder = new StringBuilder("SELECT formResultId, subject FROM def_FormResults");

                stringBuilder.Append(" WHERE EnterpriseID = " + SessionHelper.LoginStatus.EnterpriseID);
                if (!SessionHelper.LoginStatus.appGroupPermissions[j].authorizedGroups.Contains(0))
                {
                    stringBuilder.Append(" AND (");

                    for (int i = 0; i < SessionHelper.LoginStatus.appGroupPermissions[j].authorizedGroups.Count; i++)
                    {
                        stringBuilder.Append("GroupID = " + SessionHelper.LoginStatus.appGroupPermissions[j].authorizedGroups[i]);

                        if (i < SessionHelper.LoginStatus.appGroupPermissions[j].authorizedGroups.Count - 1)
                        {
                            stringBuilder.Append(" OR ");
                        }
                    }
                    stringBuilder.Append(")");
                }

                stringBuilder.Append(" AND assigned = " + SessionHelper.LoginStatus.UserID);
                stringBuilder.Append(" AND formStatus = " + (int)FormResults_formStatus.NEW);
                stringBuilder.Append(" AND deleted = 0");

                String qry = stringBuilder.ToString();

                try
                {
                    SqlConnection sqlConn = new SqlConnection(formsSql.GetConnectionString());
                    sqlConn.Open();
                    SqlCommand cmd = new SqlCommand(qry, sqlConn);

                    if (j == 0)
                    {
                        dtFormResults.Load(cmd.ExecuteReader());
                    }
                    else
                    {
                        DataTable dt = new DataTable();
                        dt.Load(cmd.ExecuteReader());
                        dtFormResults.Merge(dt);
                    }
                    sqlConn.Close();
                }
                catch (Exception ex)
                {
                    Debug.WriteLine("GetAuthorizedFormResultIds: " + ex.Message);
                    formResultIds = null;
                    contactIds    = null;
                    return;
                }
            }

            formResultIds = (from fr in dtFormResults.Select()
                             select fr.Field <int>(0)).ToList();

            contactIds = (from fr in dtFormResults.Select()
                          select fr.Field <int?>(1)).ToList();
        }