Esempio n. 1
0
        /// <summary>
        /// Impostazione backcolor per la riga del datagrid:
        /// la logica è che il colore di sfondo cambia non appena
        /// si cambia l'identificativo del documento
        /// </summary>
        /// <param name="item"></param>
        private void SetItemBackColor(DataGridItem item)
        {
            int rowId;

            DocsPaWR.DocumentoFascicolazione documento = this.GetDocumento(item);

            if (this._lastRowIdCreated != documento.IdProfile)
            {
                this._lastRowIdCreated = documento.IdProfile;

                // grigion #d9d9d9  217 217 217
                // grigioa #4b4b4b  242

                if (this._rowColor == System.Drawing.Color.FromArgb(242, 242, 242))
                {
                    this._rowColor = System.Drawing.Color.FromArgb(217, 217, 217);
                }
                else
                {
                    this._rowColor = System.Drawing.Color.FromArgb(242, 242, 242);
                }
            }

            item.BackColor = this._rowColor;
        }
Esempio n. 2
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="source"></param>
 /// <param name="e"></param>
 protected void grdDocumentiFascicolazione_ItemCommand(object source, DataGridCommandEventArgs e)
 {
     if (e.CommandName == "DISCARD_DOCUMENT")
     {
         // Comando di "Scarta documento non cartaceo"
         DocsPaWR.DocumentoFascicolazione documento = this.Documenti[e.Item.ItemIndex];
         this.DiscardDocument(documento);
     }
 }
Esempio n. 3
0
        /// <summary>
        /// Impostazione handler evento onclick per il pulsante "ShowFile"
        /// </summary>
        /// <param name="item"></param>
        private void SetHandlerShowFileButton(DataGridItem item)
        {
            ImageButton btnShowFile = item.Cells[(int)GridColumnsEnum.VisualizzaFile].FindControl("btnShowFile") as ImageButton;

            if (btnShowFile != null)
            {
                DocsPaWR.DocumentoFascicolazione documento = this.GetDocumento(item);

                btnShowFile.Attributes.Add("onClick", "return ShowFile('" + documento.VersionId.ToString() + "');");
            }
        }
Esempio n. 4
0
        /// <summary>
        /// Impostazione handler evento onclick per il pulsante "VerificaFascicoli"
        /// </summary>
        /// <param name="item"></param>
        private void SetHandlerCheckFascicoliButton(DataGridItem item)
        {
            ImageButton btnCheckFascicoli = item.Cells[(int)GridColumnsEnum.PresenteAltroFascicolo].FindControl("btnCheckFascicoli") as ImageButton;

            if (btnCheckFascicoli != null)
            {
                DocsPaWR.DocumentoFascicolazione documento = this.GetDocumento(item);

                btnCheckFascicoli.Attributes.Add("onClick", "CheckFascicoli('" + documento.VersionId.ToString() + "'); return false;");
            }
        }
Esempio n. 5
0
        /// <summary>
        /// Impostazione visibilità pulsante scarta documento non cartaceo
        /// </summary>
        /// <param name="item"></param>
        private void ShowButtonScartaDocumentoNonCartaceo(DataGridItem item)
        {
            DocsPaWR.DocumentoFascicolazione documento = this.GetDocumento(item);
            ImageButton button = item.FindControl("btnDiscardDocument") as ImageButton;

            if (button != null)
            {
                // Il pulsante è visibile solo se il documento non è cartaceo
                button.Visible       = (!documento.Cartaceo);
                button.OnClientClick = "return OnClickScartaDocumento();";
            }
        }
Esempio n. 6
0
        /// <summary>
        /// Operazione di scarto di un documento non cartaceo
        /// </summary>
        /// <param name="documento"></param>
        protected void DiscardDocument(DocsPaWR.DocumentoFascicolazione documento)
        {
            if (!documento.Cartaceo)
            {
                int fascicoliScartati;
                DocsPaWR.ValidationResultInfo result = this.WebServiceInstance.FascCartaceaScartaDocumentoNonCartaceo(this.InfoUtente, this.IdSnapshot, documento, out fascicoliScartati);

                if (!result.Value)
                {
                    // Operazione non andata a buon fine, visualizzazione del messaggio di errore
                    this.ShowValidationMessage(result.BrokenRules);
                }
                else
                {
                    this.TotalRecordCount -= fascicoliScartati;

                    // Se almeno un documento è stato inserito in fascicolo cartaceo,
                    // vengono ricaricati i documenti per la pagina corrente
                    int page = this.grdDocumentiFascicolazione.CurrentPageIndex + 1;

                    if (page > 1)
                    {
                        int newPageCount = (this.TotalRecordCount / this.grdDocumentiFascicolazione.PageSize);
                        if ((this.TotalRecordCount % this.grdDocumentiFascicolazione.PageSize) > 0)
                        {
                            newPageCount++;
                        }

                        if (page > newPageCount)
                        {
                            this.grdDocumentiFascicolazione.CurrentPageIndex = newPageCount - 1;
                        }
                    }

                    this.Fetch();
                }
            }
        }
Esempio n. 7
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="item"></param>
        private void BindCheckDocCartaceo(DataGridItem item)
        {
            HtmlInputCheckBox chkDocumentoCartaceo = this.GetCheckDocumentoCartaceo(item);

            if (chkDocumentoCartaceo != null)
            {
                DocsPaWR.DocumentoFascicolazione documento = this.GetDocumento(item);

                chkDocumentoCartaceo.Checked = documento.Cartaceo;
                // Il check documento cartaceo è abilitato solo se il documento non è cartaceo,
                // altrimenti è disabilitato e checked
                chkDocumentoCartaceo.Disabled = chkDocumentoCartaceo.Checked;

                HtmlInputCheckBox chkInsFascCartaceo = this.GetCheckInsFascCartaceo(item);

                // Abilitazione / disabilitazione check di inserimento in cartaceo
                chkInsFascCartaceo.Disabled = (!chkDocumentoCartaceo.Checked);
                // Impostazione valore check di inserimento in cartaceo
                chkInsFascCartaceo.Checked = (documento.IdFascicolazione > 0);

                chkDocumentoCartaceo.Attributes.Add("onClick", "OnClickDocumentoCartaceo('" + chkDocumentoCartaceo.ClientID + "', '" + chkInsFascCartaceo.ClientID + "');");
            }
        }
Esempio n. 8
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="documenti"></param>
        /// <returns></returns>
        private DataSet DocumentiFascicolazioneToDataSet(List <DocsPaWR.DocumentoFascicolazione> documenti)
        {
            DataSet ds = new DataSet();

            DataTable table = new DataTable();

            table.Columns.Add("Index", typeof(int));
            table.Columns.Add("IdProfile", typeof(int));
            table.Columns.Add("DocNumber", typeof(int));
            table.Columns.Add("VersionId", typeof(int));
            table.Columns.Add("VersionLabel", typeof(string));
            table.Columns.Add("VersionNote", typeof(string));
            table.Columns.Add("DataCreazione", typeof(DateTime));
            table.Columns.Add("IdFascicolo", typeof(int));
            table.Columns.Add("CodiceFascicolo", typeof(string));
            table.Columns.Add("DescrizioneFascicolo", typeof(string));
            table.Columns.Add("FascicoloCartaceo", typeof(bool));
            table.Columns.Add("DocumentoCartaceo", typeof(bool));
            table.Columns.Add("NumeroProtocollo", typeof(int));
            table.Columns.Add("DataProtocollo", typeof(DateTime));
            table.Columns.Add("Documento", typeof(string));
            table.Columns.Add("TipoDocumento", typeof(string));
            table.Columns.Add("Versione", typeof(string));
            table.Columns.Add("Registro", typeof(string));
            table.Columns.Add("Fascicolo", typeof(string));

            ds.Tables.Add(table);

            int pageSize = this.grdDocumentiFascicolazione.PageSize;
            int startRow = 0;

            if (!this.ServerPagingEnabled)
            {
                startRow = (this.grdDocumentiFascicolazione.CurrentPageIndex * pageSize);
            }

            for (int i = startRow; (i < startRow + pageSize) && (i < documenti.Count); i++)
            {
                DocsPaWR.DocumentoFascicolazione item = documenti[i];

                DataRow row = table.NewRow();

                row["Index"]                = i;
                row["IdProfile"]            = item.IdProfile;
                row["DocNumber"]            = item.DocNumber;
                row["VersionId"]            = item.VersionId;
                row["VersionLabel"]         = item.VersionLabel;
                row["VersionNote"]          = item.VersionNote;
                row["DataCreazione"]        = item.DataCreazione;
                row["IdFascicolo"]          = item.Fascicolo.IdFascicolo;
                row["CodiceFascicolo"]      = item.Fascicolo.CodiceFascicolo;
                row["DescrizioneFascicolo"] = item.Fascicolo.DescrizioneFascicolo;
                row["FascicoloCartaceo"]    = item.Fascicolo.Cartaceo;
                row["DocumentoCartaceo"]    = item.Cartaceo;

                row["NumeroProtocollo"] = item.NumeroProtocollo;
                row["DataProtocollo"]   = item.DataProtocollo;
                row["TipoDocumento"]    = item.TipoDocumento;

                string documento = string.Empty;

                if (item.NumeroProtocollo > 0)
                {
                    documento = item.NumeroProtocollo + "<br />" +
                                item.DataProtocollo.ToString("dd/MM/yyyy");
                }
                else
                {
                    documento = item.DocNumber + "<br />" +
                                item.DataCreazione.ToString("dd/MM/yyyy");
                }
                row["Documento"] = documento;
                row["Versione"]  = item.VersionLabel.ToString();
                row["Registro"]  = item.CodiceRegistro;
                row["Fascicolo"] = item.Fascicolo.CodiceFascicolo;
                table.Rows.Add(row);
            }

            return(ds);
        }
Esempio n. 9
0
        /// <summary>
        /// Save dei documenti selezionati
        /// </summary>
        public void Save()
        {
            DocsPaWR.ValidationResultInfo result = null;

            Control firstInvalidControl;

            result = this.ValidateData(out firstInvalidControl);

            if (result.Value)
            {
                List <DocsPaWR.DocumentoFascicolazione> dirtyDocuments = new List <DocsPaWR.DocumentoFascicolazione>();

                foreach (DataGridItem item in this.grdDocumentiFascicolazione.Items)
                {
                    HtmlInputCheckBox chkDocumentoCartaceo = this.GetCheckDocumentoCartaceo(item);
                    HtmlInputCheckBox chkInsFascCartaceo   = this.GetCheckInsFascCartaceo(item);

                    DocsPaWR.DocumentoFascicolazione documento = this.GetDocumento(item);

                    if (chkInsFascCartaceo.Checked && !documento.InsertInFascicoloCartaceo)
                    {
                        // Il documento deve essere inserito in fascicolo cartaceo
                        documento.InsertInFascicoloCartaceo = true;
                        documento.IsDirty = true;
                    }
                    else if (chkDocumentoCartaceo.Checked && !documento.Cartaceo)
                    {
                        // Il documento ha un corrispondente documento cartaceo
                        documento.Cartaceo = true;
                        documento.IsDirty  = true;
                    }

                    if (documento.IsDirty)
                    {
                        // Inserimento del documento tra quelli modificati
                        dirtyDocuments.Add(documento);
                    }
                }

                if (dirtyDocuments.Count > 0)
                {
                    DocsPaWR.DocumentoFascicolazione[] documenti = dirtyDocuments.ToArray();

                    result = this.WebServiceInstance.FascCartaceaSaveDocumentiFascicolazione(this.InfoUtente, this.IdSnapshot, ref documenti);

                    // Verifica del numero di documenti inseriti in fascicolo cartaceo
                    int countInserted = 0;
                    foreach (DocsPaWR.DocumentoFascicolazione documento in documenti)
                    {
                        if (documento.IdFascicolazione > 0)
                        {
                            countInserted++;
                        }
                    }

                    // Visualizzazione messaggi di errore
                    if (result.BrokenRules.Length > 0)
                    {
                        this.ShowValidationMessage(result.BrokenRules);
                    }

                    if (countInserted > 0)
                    {
                        // Se il numero di documenti inseriti in fascicolo cartaceo è > 0,
                        // è necessario ricaricare la lista dei documenti per la pagina dal server
                        this.TotalRecordCount -= countInserted;

                        // Se almeno un documento è stato inserito in fascicolo cartaceo,
                        // vengono ricaricati i documenti per la pagina corrente
                        int page = this.grdDocumentiFascicolazione.CurrentPageIndex + 1;

                        if (page > 1)
                        {
                            int newPageCount = (this.TotalRecordCount / this.grdDocumentiFascicolazione.PageSize);
                            if ((this.TotalRecordCount % this.grdDocumentiFascicolazione.PageSize) > 0)
                            {
                                newPageCount++;
                            }

                            if (page > newPageCount)
                            {
                                this.grdDocumentiFascicolazione.CurrentPageIndex = newPageCount - 1;
                            }
                        }
                    }

                    this.Fetch();
                }
            }
            else
            {
                this.ShowValidationMessage(result.BrokenRules);

                // impostazione del focus sul primo controllo non valido
                if (firstInvalidControl != null)
                {
                    firstInvalidControl.Focus();
                }
            }
        }