private void BuildFiltersSearchNotifications()
 {
     Filters = new NotificationsFilters();
     Filters.TYPE_DOCUMENT      = this.rblFilterDocumentType.SelectedValue.Equals("ALL") ? string.Empty : this.rblFilterDocumentType.SelectedValue;
     Filters.DOCUMENT_ACQUIRED  = this.cbDocumentAcquired.Selected;
     Filters.DOCUMENT_SIGNED    = this.cbDocumentSigned.Selected;
     Filters.DOCUMENT_UNSIGNED  = this.cbDocumentNotSigned.Selected;
     Filters.PENDING            = this.cbWaitingAcceptance.Checked;
     Filters.DATE_EVENT_FROM    = this.txt_dateEventFrom.Text;
     Filters.DATE_EVENT_TO      = this.PlaceHolderDateEventTo.Visible ? this.txt_dateEventTo.Text : "";
     Filters.DATE_EXPIRE_FROM   = this.txt_expirationDateFrom.Text;
     Filters.DATE_EXPIRE_TO     = this.PlaceHolderExpirationDateTo.Visible ? this.txt_expirationDateTo.Text : "";
     Filters.AUTHOR_DESCRIPTION = this.txtDescrizioneCreatore.Text;
     Filters.AUTHOR_SYSTEM_ID   = this.txtCodiceCreatore.Text;
     Filters.AUTHOR_TYPE        = this.rblOwnerType.SelectedValue;
     Filters.OBJECT             = this.TxtObject.Text;
     Filters.TYPE_FILE_ACQUIRED = this.ddlTypeFileAcquired.SelectedValue;
     Filters.NOTES = this.txt_notes.Text;
 }
Beispiel #2
0
 /// <summary>
 /// Restituisce l'id dei documenti che rispettano le condizioni impostate nel filtro in input
 /// </summary>
 /// <param name="idObject"></param>
 /// <param name="filter"></param>
 /// <returns></returns>
 public static List <string> GetDocumentByNotificationsFilters(string [] idObject, NotificationsFilters filter)
 {
     try
     {
         return(docsPaWS.GetDocumentByNotificationsFilters(idObject, filter).ToList <String>());
     }
     catch (System.Exception ex)
     {
         UIManager.AdministrationManager.DiagnosticError(ex);
         return(null);
     }
 }
Beispiel #3
0
        /// <summary>
        /// Costruisce la clausula where per la query che si occupa di recuperare i system_id dei documenti rispentanti i filtri applicati
        /// </summary>
        /// <param name="idObject"></param>
        /// <param name="filter"></param>
        /// <returns></returns>
        private string BuildConditionNotificationsFilters(string[] idObject, NotificationsFilters filter)
        {
            string condition    = string.Empty;
            string listSystemId = string.Empty;
            string UserDB       = string.Empty;

            if (dbType.ToUpper() == "SQL")
            {
                UserDB = getUserDB();
            }

            condition += " (SYSTEM_ID IN(";
            if (idObject != null && idObject.Count() > 0)
            {
                int i = 0;
                foreach (string id in idObject)
                {
                    condition += id;
                    if (i < idObject.Length - 1)
                    {
                        if (i % 998 == 0 && i > 0)
                        {
                            condition += ") OR SYSTEM_ID IN (";
                        }
                        else
                        {
                            condition += ", ";
                        }
                    }
                    else
                    {
                        condition += ")";
                    }
                    i++;
                }
            }
            else
            {
                condition += ")";
            }
            condition += ") AND p.SYSTEM_ID = c.DOCNUMBER";



            //foreach (string id in idObject)
            //{
            //    listSystemId += string.IsNullOrEmpty(listSystemId) ? " '" + id + "'" : " ,'" + id + "'";
            //}
            //condition = "SYSTEM_ID IN (" + listSystemId + ") AND p.SYSTEM_ID = c.DOCNUMBER";

            #region Filter by TYPE DOCUMENT

            if (!string.IsNullOrEmpty(filter.TYPE_DOCUMENT))
            {
                if (filter.TYPE_DOCUMENT.Equals(PREDISPOSTO))
                {
                    condition += " AND p.CHA_TIPO_PROTO IN ('P', 'A', 'I') AND p.NUM_PROTO IS NULL";
                }
                else
                {
                    condition += filter.TYPE_DOCUMENT.Equals(NON_PROTOCOLLATO) ? " AND p.CHA_TIPO_PROTO='" + filter.TYPE_DOCUMENT + "'" :
                                 " AND p.CHA_TIPO_PROTO='" + filter.TYPE_DOCUMENT + "' AND p.NUM_PROTO IS NOT NULL";
                }
            }

            #endregion

            #region Filter by FILE ACQUIRED

            string fileAcquired = string.Empty;
            if (filter.DOCUMENT_ACQUIRED)
            {
                fileAcquired = " AND (c.FILE_SIZE > 0";
            }
            if (filter.DOCUMENT_SIGNED)
            {
                if (!string.IsNullOrEmpty(UserDB))
                {
                    fileAcquired += string.IsNullOrEmpty(fileAcquired) ? " AND ( " + UserDB + ".GETCHAFIRMATO(p.DOCNUMBER) = '1'" : "OR  " + UserDB + ".GETCHAFIRMATO(p.DOCNUMBER) = '1'";
                }
                else
                {
                    fileAcquired += string.IsNullOrEmpty(fileAcquired) ? " AND (GETCHAFIRMATO(p.DOCNUMBER) = '1'" : "OR GETCHAFIRMATO(p.DOCNUMBER) = '1'";
                }
            }
            if (filter.DOCUMENT_UNSIGNED)
            {
                if (!string.IsNullOrEmpty(UserDB))
                {
                    fileAcquired += string.IsNullOrEmpty(fileAcquired) ? " AND ( " + UserDB + ".GETCHAFIRMATO(p.DOCNUMBER) = '0'" : " OR " + UserDB + ".GETCHAFIRMATO(p.DOCNUMBER) = '0'";
                }
                else
                {
                    fileAcquired += string.IsNullOrEmpty(fileAcquired) ? " AND (GETCHAFIRMATO(p.DOCNUMBER) = '0'" : " OR GETCHAFIRMATO(p.DOCNUMBER) = '0'";
                }
            }
            if (!string.IsNullOrEmpty(fileAcquired))
            {
                fileAcquired += ")";
            }
            condition += fileAcquired;

            #endregion

            #region Filter by TYPE FILE ACQUIRED

            if (!string.IsNullOrEmpty(filter.TYPE_FILE_ACQUIRED))
            {
                if (!string.IsNullOrEmpty(UserDB))
                {
                    condition += " AND UPPER( " + UserDB + ".GETCHAIMG(p.DOCNUMBER)) = '" + filter.TYPE_FILE_ACQUIRED + "'";
                }
                else
                {
                    condition += " AND UPPER(GETCHAIMG(p.DOCNUMBER)) = '" + filter.TYPE_FILE_ACQUIRED + "'";
                }
            }
            #endregion

            return(condition);
        }