示例#1
0
        private void btn_ok_Click(object sender, System.EventArgs e)
        {
            string idCorr   = string.Empty;
            string idCanale = string.Empty;
            bool   acceptCanaleTutti;

            DocsPaWR.Canale           canale = new DocsPAWA.DocsPaWR.Canale();
            DocsPaWR.DocsPaWebService ws     = new DocsPAWA.DocsPaWR.DocsPaWebService();
            schedaDoc = DocumentManager.getDocumentoInLavorazione(this);
            DocsPaWR.Corrispondente[] dest   = ((DocsPAWA.DocsPaWR.ProtocolloUscita)schedaDoc.protocollo).destinatari;
            DocsPaWR.Corrispondente[] destCc = ((DocsPAWA.DocsPaWR.ProtocolloUscita)schedaDoc.protocollo).destinatariConoscenza;

            if (dataGridMezzi != null)
            {
                Canale canaleTutti = null;
                if (!ddlTutti.SelectedValue.Equals("0"))
                {
                    canaleTutti = ws.getCanaleBySystemId(ddlTutti.SelectedValue);
                }
                DataGridItemCollection items = dataGridMezzi.Items;
                if (items != null)
                {
                    //itero sui singoli item della griglia
                    foreach (DataGridItem item in items)
                    {
                        string tipoDest           = string.Empty;
                        TableCellCollection cells = item.Cells;
                        foreach (TableCell cell in cells)
                        {
                            ControlCollection controls = cell.Controls;
                            foreach (Control control in controls)
                            {
                                if (control.GetType() == typeof(Label))
                                {
                                    idCorr = ((Label)control).Text;
                                    break;
                                }

                                if (control.GetType() == typeof(DropDownList))
                                {
                                    idCanale = ((DropDownList)control).SelectedValue;
                                    break;
                                }
                            }
                        }

                        if (dest != null && dest.Length > 0)
                        {
                            acceptCanaleTutti = false;
                            foreach (DocsPaWR.Corrispondente corr in dest)
                            {
                                // se è impostato il canale tutti ed il corrispondente corrente ha visibilità del mezzo di spedizione tutti allora lo imposto
                                if (corr.systemId.Equals(idCorr) && canaleTutti != null)
                                {
                                    System.Collections.Generic.List <Mezzi> listMezziVisCorr = GetMeansDeliveryFiltered(UserManager.getCorrispondenteBySystemID(this.Page, idCorr).canalePref, idCorr);
                                    foreach (Mezzi m in listMezziVisCorr)
                                    {
                                        if (m.Descrizione.Equals(canaleTutti.descrizione) && m.Valore.Equals(canaleTutti.systemId))
                                        {
                                            acceptCanaleTutti = true;
                                            corr.canalePref   = canaleTutti;
                                            tipoDest          = "d";
                                            break;
                                        }
                                    }
                                }

                                //l'utente a selezionata blank quindi reimposto il canale di default
                                if (!acceptCanaleTutti && corr.systemId.Equals(idCorr) && (idCanale.Equals("0")))
                                {
                                    if (corr.canalePref != null && corr.canalePref.systemId != null)
                                    {
                                        canale          = UserManager.getCorrispondenteBySystemID(this.Page, idCorr).canalePref;
                                        corr.canalePref = canale;
                                        tipoDest        = "d";
                                        break;
                                    }
                                }
                                //imposto il canale selezionato dall'utente
                                else if (!acceptCanaleTutti && corr.systemId.Equals(idCorr))
                                {
                                    canale          = ws.getCanaleBySystemId(idCanale);
                                    corr.canalePref = canale;
                                    tipoDest        = "d";
                                    break;
                                }
                            }
                        }
                        if (destCc != null && destCc.Length > 0 && (!tipoDest.Equals("d")))
                        {
                            acceptCanaleTutti = false;
                            foreach (DocsPaWR.Corrispondente corr in destCc)
                            {
                                // se è impostato il canale tutti ed il corrispondente corrente ha visibilità del mezzo di spedizione tutti allora lo imposto
                                if (corr.systemId.Equals(idCorr) && canaleTutti != null)
                                {
                                    System.Collections.Generic.List <Mezzi> listMezziVisCorr = GetMeansDeliveryFiltered(UserManager.getCorrispondenteBySystemID(this.Page, idCorr).canalePref, idCorr);
                                    foreach (Mezzi m in listMezziVisCorr)
                                    {
                                        if (m.Descrizione.Equals(canaleTutti.descrizione) && m.Valore.Equals(canaleTutti.systemId))
                                        {
                                            acceptCanaleTutti = true;
                                            corr.canalePref   = canaleTutti;
                                            tipoDest          = "d";
                                            break;
                                        }
                                    }
                                }

                                //l'utente a selezionata blank quindi reimposto il canale di default
                                if (!acceptCanaleTutti && corr.systemId.Equals(idCorr) && (idCanale.Equals("0")))
                                {
                                    if (corr.canalePref != null && corr.canalePref.systemId != null)
                                    {
                                        canale          = UserManager.getCorrispondenteBySystemID(this.Page, idCorr).canalePref;
                                        corr.canalePref = canale;
                                        break;
                                    }
                                }
                                //imposto il canale selezionato dall'utente
                                else if (!acceptCanaleTutti && corr.systemId.Equals(idCorr))
                                {
                                    canale          = ws.getCanaleBySystemId(idCanale);
                                    corr.canalePref = canale;
                                    break;
                                }
                            }
                        }
                    }
                }
            }

            //Salvo le informazioni aggiornate nella sessione
            ((DocsPAWA.DocsPaWR.ProtocolloUscita)schedaDoc.protocollo).destinatari           = dest;
            ((DocsPAWA.DocsPaWR.ProtocolloUscita)schedaDoc.protocollo).destinatariConoscenza = destCc;
            DocumentManager.setDocumentoInLavorazione(this, schedaDoc);
            DocumentManager.setDocumentoSelezionato(this, schedaDoc);

            //richiama la funzione javascript che aggiorna il form chiamante
            string funct = " window.open('../documento/docProtocollo.aspx?editMode=true','IframeTabs'); ";

            funct = funct + " window.close(); ";
            Response.Write("<script> " + funct + "</script>");
        }