コード例 #1
0
        private void GetParamfromDB()
        {
            DataRow MR = Session["ExportRow"] as DataRow;

            if (MR == null)
            {
                return;
            }
            TitoloExp.Text = MR["Description"].ToString();
            DataAccess Conn = GetVars.GetUserConn(this);

            if (Conn == null)
            {
                return;
            }
            string filterpar = "(" +
                               "procedurename=" + QueryCreator.quotedstrvalue(MR["procedurename"], true) + ")";
            DataTable Params = Conn.RUN_SELECT("exportfunctionparam", "*", "number asc", filterpar, null, true);

            if (Params == null)
            {
                return;
            }
            Params.Columns.Add("__WebControlID", typeof(string));
            //Dataset di Sessione
            Session["Paramdata"] = Params;
            //Crea la tabella per inserire i parametri dell'utente
            CreatePrimaryTable(Params.Select(null, "number asc"));
            //Aggiunge la colonna ParamValue che mi servirà per conservare il valore inserito dall'utente
            //Params.Columns.Add("ParamValue",GetTypeFromUserFormat(Params["userformat"].ToString()));
        }
コード例 #2
0
        protected void btnok_Click(object sender, EventArgs e)
        {
            Easy_DataAccess Conn         = GetVars.GetUserConn(Page);
            bool            err          = false;
            string          idcustomuser = Conn.GetSys("idcustomuser") as string;
            object          idflowchart  = cmbruolo.SelectedValue;
            object          ndetail      = Conn.GetSys("ndetail");
            object          currdate     = Conn.GetSys("datacontabile");

            string sel = cmbruolo.SelectedValue;

            if (sel == "" || sel == null)
            {
                return;
            }

            if (sel.IndexOf("§") < 0)
            {
                return;
            }
            string [] ss = sel.Split('§');
            ndetail     = CfgFn.GetNoNullInt32(ss[1]);
            idflowchart = ss[0];
            string filter = QHS.AppAnd(QHS.CmpEq("idcustomuser", idcustomuser),
                                       QHS.CmpEq("idflowchart", idflowchart),
                                       QHS.CmpEq("ndetail", ndetail));
            object title = Conn.DO_READ_VALUE("flowchartuser", filter, "title");

            if (title == DBNull.Value)
            {
                title = Conn.DO_READ_VALUE("flowchart", QHS.CmpEq("idflowchart", idflowchart), "title");
            }

            Conn.RecalcUserEnvironment(idflowchart, ndetail);
            Conn.ReadAllGroupOperations();

            Session["SavedFlowChart"] = null;
            if (title != null)
            {
                Session["SavedFlowChart"] = title;
            }

            Response.Redirect("IndiceReport.aspx");
        }
コード例 #3
0
        void StampaCheckIn()
        {
            DataAccess Conn = GetVars.GetUserConn(this);

            if (((Conn == null) || (Conn.Open() == false)))
            {
                return;
            }

            if (Conn.GetUsr("cf") == null)
            {
                Conn.Close();
                return;
            }

            string cf = Conn.GetUsr("cf").ToString();
            //Crea un datatable con i parametri per la stampa

            DataTable T = new DataTable("tabella");

            T.Columns.Add("cf", typeof(string));
            DataRow R = T.NewRow();

            R["cf"] = cf;
            T.Rows.Add(R);
            QueryHelper QHS          = Conn.GetQueryHelper();
            DataTable   Modulereport = Conn.RUN_SELECT("report", "*", null, QHS.CmpEq("reportname", "rpt_ingressomagazzino"), null, true);

            Conn.Close();
            Session["UserPar"]         = T;
            Session["ModuleReportRow"] = Modulereport.Rows[0];
            //Session["PageToCameBack"] = this.Request.Url;

            string F = "window.open('WebPDFView.aspx');";

            if (!Page.ClientScript.IsClientScriptBlockRegistered(typeof(Page), "openwin"))
            {
                Page.ClientScript.RegisterClientScriptBlock(
                    typeof(Page), "openwin", F, true);
            }
        }
コード例 #4
0
        object DefaultForParameter(DataRow Param)
        {
            DataAccess myDA    = GetVars.GetUserConn(this);
            string     TipoDef = Param["hintkind"].ToString().ToUpper();
            DateTime   DC      = (DateTime)myDA.GetSys("datacontabile");

            switch (TipoDef)
            {
            case "STRING":                      //Other
                return(Param["hint"].ToString());

            case "1/CURRM":                       //Primo giorno del mese
                return(new DateTime(DC.Year, DC.Month, 1));

            case "LASTDAY/CURRM":                      //Ultimo giorno del mese
                return(new DateTime(DC.Year, DC.Month,
                                    DateTime.DaysInMonth(DC.Year, DC.Month)));

            case "ACCOUNTYEAR":                     //esercizio corrente
                return(myDA.GetSys("esercizio"));

            case "NOHINT":                     //nessun valore predef.
                return(DBNull.Value);

            case "1/1":                     //Primo giorno dell'anno
                return(new DateTime(DC.Year, 1, 1));

            case "31/12":                     //Ultimo giorno dell'anno
                return(new DateTime(DC.Year, 12, 31));

            case "ACCOUNTDATE":                     //Data Contabile
                return(DC);

            default:
                return(DBNull.Value);
            }
        }
コード例 #5
0
        protected void Page_Load(object sender, System.EventArgs e)
        {
            //WebLog.Log(this,"Visualizza InserisciParametri");
            DataAccess Conn = GetVars.GetUserConn(this);
            DataTable  Params;

            //labCurrUser.Text = System.Environment.UserName+" (Network= "+System.Environment.UserDomainName+")";
            if (IsPostBack)
            {
                LeggiParametri();
                //WebLog.Log(this,"Ha letto i parametri inseriti dal'utente in InserisciParametri");
            }
            else
            {
                CreaPaginaParametri();

                //Aggiunge tipo parametro
                //TableCell tCell4 = new TableCell();
                //tRow.Cells.Add(tCell4);
                //tCell4.Width = 200;
                //tCell4.Text = ConvertTypeParameter(MyRowParam["appformat"].ToString());
                //string ParamType = "ParamType" + countTxt;
                //Session[ParamType] = MyRowParam["appformat"].ToString();	//Salva il tipo di parametro in formato numerico Campus



                /////////////////Aggiunge i controlli Validator per le TextBox;
                //					TableCell tCell4 = new TableCell();
                //					tRow.Cells.Add(tCell4);
                //					RequiredFieldValidator MyValid = new RequiredFieldValidator();
                //					MyValidator[countTxt] = MyValid;
                //					MyValid.ControlToValidate = TxtName;
                //					MyValid.ErrorMessage = "Completare il campo";
                //					tCell4.Controls.Add(MyValidator[countTxt]);
            }
        }
コード例 #6
0
        protected void Page_Load(object sender, System.EventArgs e)
        {
            string  FileName;
            DataRow Rep = Session["ModuleReportRow"] as DataRow;

            if (Rep == null)
            {
                return;
            }

            string MyGuid = Session.SessionID.ToString();
            string str;

            str = DateTime.Now.ToString();
            str = str.Replace("/", "");
            str = str.Replace(".", "");
            str = str.Replace(" ", "");
            //Costruisce il nome del File (AnnoMeseGiornoOraMinutiSecondi)
            //FileName = str.Substring(4,4) + str.Substring(2,2) + str.Substring(0,2) + "h" + str.Substring(8,str.Length - 8);
            string prefix = Session["TipoUtente"] as String;

            if (prefix == "fornitore")
            {
                prefix += "-" + Session["CodiceFornitore"].ToString();
            }
            if (prefix == "responsabile")
            {
                prefix += "-" + Session["CodiceResponsabile"].ToString();
            }
            prefix = GetVars.GetUsrVar(this, "CodiceDipartimento").ToString() + "-" + prefix + "-";
            prefix = prefix.Replace("\\", "");
            prefix = prefix.Replace("/", "");
            prefix = prefix.Replace("*", "");
            prefix = prefix.Replace("?", "");
            prefix = prefix.Replace("$", "");
            prefix = prefix.Replace("%", "");


            FileName = prefix + Rep["reportname"].ToString() + "-" + System.Guid.NewGuid().ToString();

            DataTable UserPar = (DataTable)Session["UserPar"];

            if (UserPar == null)
            {
                return;
            }
            DataRow Par = UserPar.Rows[0];
            string  errmess;

            Easy_DataAccess Conn     = GetVars.GetUserConn(this);
            ReportDocument  myRptDoc = Easy_DataAccess.GetReport(Conn, Rep, Par, out errmess);

            if (myRptDoc == null)
            {
                Session["Messaggio"]       = errmess;
                Session["CloseWindow"]     = true;
                Session["UserPar"]         = null;
                Session["ModuleReportRow"] = null;

                Response.Redirect("Messaggio.aspx");
                return;
            }


            // Restituisce il percorso fisico locale della cartella ReportPDF  ex: c:\inetpub\wwwroot\.....
            string FilePath = this.MapPath("ReportPDF");

            if (!FilePath.EndsWith("\\"))
            {
                FilePath += "\\";
            }

            string filenametodelete = FilePath + prefix + "*.*";

            string  [] existingreports = System.IO.Directory.GetFiles(
                FilePath, prefix + "*.*");
            foreach (string filename in existingreports)
            {
                System.IO.File.Delete(filename);
            }

            string PDFfilePathRedir =                   //FilePath +
                                      "ReportPDF/" +
                                      FileName + ".pdf";
            string myFilePdf = ExportToPdf(myRptDoc, FileName, FilePath);

            myRptDoc.Close();
            myRptDoc.Dispose();
            if (myFilePdf == null)
            {
                string mym = "Non è stato possibile completare l'esportazione in formato PDF. \r";
                mym += "E' probabile che i parametri inseriti non siano corretti. \r";
                mym += "Qualora avesse bisogno di assistenza può contattare il servizio assistenza ";
                Session["CloseWindow"] = true;
                Session["Messaggio"]   = mym;
                Response.Redirect("Messaggio.aspx");
                return;
            }
            //Visualizza il Report in formato PDF
            //WebLog.Log(this,"Visualizza il file in formato PDF");
            Session["UserPar"]         = null;
            Session["ModuleReportRow"] = null;
            GC.Collect();
            Response.Redirect(PDFfilePathRedir);
        }
コード例 #7
0
        protected void btnOk_Click(object sender, ImageClickEventArgs e)
        {
            if (Conn == null)
            {
                return;
            }

            DateTime D;

            try {
                D = (DateTime)HelpForm.GetObjectFromString(typeof(DateTime), txtDataContabile.Text, "x.y");
            }
            catch {
                lblMessaggio.Text = "La data contabile è un campo obbligatorio.";
                return;
            }

            string codicedipartimento = null;

            if (Request != null)
            {
                codicedipartimento = Request.Params["dep"];
                if (!string.IsNullOrEmpty(codicedipartimento))
                {
                    Label3.Visible          = false;
                    cmbDipartimento.Visible = false;
                }
            }

            if (string.IsNullOrEmpty(codicedipartimento))
            {
                if (cmbDipartimento.SelectedValue != "" && cmbDipartimento.SelectedValue != null)
                {
                    codicedipartimento = cmbDipartimento.SelectedValue;
                }
            }

            if (string.IsNullOrEmpty(codicedipartimento))
            {
                lblMessaggio.Text = "E' obbligatorio scegliere un dipartimento";
            }

            //Cerco prima nella tabella contatto e poi nella tabella responsabile.
            string NomeUtente = txtNomeUtente.Text;

            //rbTipuUtente.SelectedValue == "5" IMPLICITAMENTE

            // Connessione al dipartimento.
            ConnectToDepartment(codicedipartimento, null, null, D);

            //Connessione al Server.Database privato del software.
            Easy_DataAccess UsrConn = GetVars.GetUserConn(this);

            if (UsrConn == null)
            {
                return;                  //Messaggio già viualizzato da ConnectToDepartment()
            }
            QueryHelper QHS = UsrConn.GetQueryHelper();

            if (!DatiValidi(D, UsrConn))
            {
                lblMessaggio.Text = string.Format("L'esercizio {0} non è stato creato!", D.Year);
                return;
            }

            if (UsrConn.Open() == false)
            {
                //Il Server del Dipartimento non è in rete.
                //Il servizio non è disponibile in quanto il computer potrebbe essere spento.
                labExtMessage.Text = "Il Server del Dipartimento non risponde.\r" +
                                     "Potrebbe essere spento o momentaneamente fuori rete. \r" +
                                     "Provi in seguito.";
                WebLog.Log(this, "Il Server del dipartimento non risponde.");
                return;
            }

            UsrConn.Close();

            Meta_EasyDispatcher Disp = new Meta_EasyDispatcher(UsrConn);
            ApplicationState    APS  = new ApplicationState(Disp, UsrConn);

            string path     = this.MapPath(".");
            string filename = Path.Combine(path, "proxyserver.html");

            if (File.Exists(filename))
            {
                StreamReader SR      = new StreamReader(filename);
                string       webauth = SR.ReadToEnd();
                webauth          = webauth.Replace("\n", "").Replace("\r", "").Trim();
                APS.webautorithy = webauth;
                SR.Close();
            }

            APS.SaveApplicationState(this);
            labExtMessage.Text = "Connessione al server effettuata.";

            int    userkind = 5; // utente SSO (SAML/Shibboleth)
            string user     = null;
            string forename = null;
            string lastname = null;
            string cf       = null;
            string email    = null;

            string filter = QHS.AppAnd(
                QHS.CmpEq("username", NomeUtente),
                QHS.CmpEq("codicedipartimento", codicedipartimento),
                QHS.CmpEq("userkind", userkind)
                );

            // prelevare l'idflowchart e poi fare la connecttodepartment
            DataTable virtualuser = Conn.RUN_SELECT("virtualuser", "*", null, filter, null, false);

            if (virtualuser != null && virtualuser.Rows.Count != 0)
            {
                user     = virtualuser.Rows[0]["sys_user"].ToString();
                forename = virtualuser.Rows[0]["forename"].ToString();
                lastname = virtualuser.Rows[0]["surname"].ToString();
                email    = virtualuser.Rows[0]["email"].ToString();
                cf       = virtualuser.Rows[0]["cf"].ToString();

                UsrConn.SetUsr("HasVirtualUser", "S");
                // Controllare se è anche un responsabile
                // Vediamo se esiste un manager il cui login="******"
                // se si, assegnamo le due variabili di responsabile come
                // nel caso "2"
                filter = QHS.CmpEq("userweb", virtualuser.Rows[0]["username"].ToString());
                DataTable manager = UsrConn.RUN_SELECT("manager", "*", null, filter, null, false);
                if (manager != null && manager.Rows.Count != 0)
                {
                    Session["Responsabile"]       = manager.Rows[0]["title"].ToString();
                    Session["CodiceResponsabile"] = manager.Rows[0]["idman"];
                }

                EasySecurity sec = UsrConn.Security as EasySecurity;
                UsrConn.externalUser = NomeUtente;
                sec.SetSys("user", user);
                sec.SetUsr("usergrouplist", null);
                sec.CalculateGroupList();
                sec.RecalcUserEnvironment();
                sec.ReadAllGroupOperations();
                sec.SetUsr("forename", forename);
                sec.SetUsr("surname", lastname);
                sec.SetUsr("email", email);
                sec.SetUsr("cf", cf);
                if (!CambioDataConsentita(UsrConn, D))
                {
                    UsrConn.Close();
                    labExtMessage.Text = "Accesso non consentito in tale data \rin base alla gestione della sicurezza.";
                    lblMessaggio.Text  = "Accesso negato";
                    return;
                }
            }
            else
            {
                lblMessaggio.Text = "Utente non valido.";
                return;
            }

            Session["TipoUtente"]     = "Utente SSO";
            Session["Utente"]         = string.Format("{0} {1}", forename, lastname);
            Session["PasswordUtente"] = null; // non la conosciamo

            Session["SavedFlowChart"] = null;
            object idflowchart = UsrConn.GetSys("idflowchart");

            if (idflowchart != null && idflowchart != DBNull.Value)
            {
                object title = UsrConn.DO_READ_VALUE("flowchart", QHS.CmpEq("idflowchart", idflowchart), "title");
                if (title != null && title != DBNull.Value)
                {
                    Session["SavedFlowChart"] = title;
                }
            }

            Session["SavedHomePage"] = "LoginSAML.aspx";
            Response.Redirect("IndiceReport.aspx");
        }
コード例 #8
0
        /// <summary>
        /// Col1:ComboCodeField     Col2:ComboDescField
        /// </summary>
        /// <param name="myRowParam"></param>
        /// <returns></returns>
        private DataTable GetDataTableXcombo(DataRow myRowParam)
        {
            DataAccess Conn = GetVars.GetUserConn(this);

            if (Conn == null)
            {
                return(null);
            }

            string Filter = myRowParam["filter"].ToString().Trim();

            if (Filter != "")
            {
                Filter = Conn.Compile(Filter, true);
            }
            string sort = "";

            if (myRowParam["datasource"].ToString().ToLower().IndexOf("level") >= 0)
            {
                sort = myRowParam["valuemember"].ToString();
            }

            //Aggiunge filtro su esercizio se chiave primaria contiene
            // un campo di nome esercizio
            //if (QueryCreator.IsPrimaryKey(datasource, "ayear")) {
            //    Filter = GetData.MergeFilters(Filter, "(ayear='" +Conn.GetSys("esercizio").ToString() + "')");
            //}

            string      ComboTable     = myRowParam["datasource"].ToString();
            string      ComboCodeField = myRowParam["valuemember"].ToString().ToLower();
            string      comboDescField = myRowParam["displaymember"].ToString();
            QueryHelper QHS            = Conn.GetQueryHelper();

            if (ComboTable.ToLower() == "upb")
            {
                if (Session["codiceresponsabile"] != null && Session["codiceresponsabile"].ToString() != "")
                {
                    Filter = QHS.AppAnd(Filter, QHS.CmpEq("idman", Session["codiceresponsabile"]));
                }
                if (comboDescField == "codeupb")
                {
                    comboDescField = "SUBSTRING(codeupb+'-'+title,1,50) AS codedescr";
                    myRowParam["displaymember"] = "codedescr";
                }
                sort = "printingorder";
            }
            if (ComboTable.ToLower() == "fin")
            {
                if (Session["codiceresponsabile"] != null && Session["codiceresponsabile"].ToString() != "")
                {
                    Filter = QHS.AppAnd(Filter, QHS.CmpEq("idman", Session["codiceresponsabile"]));
                    DataTable FV = Conn.RUN_SELECT("finusable", "idfin", null, Filter, null, false);
                    Filter = QHS.FieldIn("idfin", FV.Select());
                }
                if (comboDescField == "codefin")
                {
                    comboDescField = "SUBSTRING(codefin+'-'+title,1,50) AS codedescr";
                    myRowParam["displaymember"] = "codedescr";
                }
                sort = "printingorder";
            }

            if (Filter == "")
            {
                Filter = null;
            }
            if (sort == "")
            {
                sort = comboDescField;
            }

            //string mySelectCombo = "SELECT distinct(" + ComboCodeField + ") AS " + ComboCodeField;
            string mySelectCombo = "SELECT * ";

            if (ComboTable.ToLower() == "fin" || ComboTable.ToLower() == "upb")
            {
                mySelectCombo += ", " + comboDescField;
            }

            /*
             * if (sort != null) {
             *  if (mySelectCombo.IndexOf(sort) < 0) mySelectCombo += "," + sort;
             * }
             */
            //if (ComboTable.ToLower() == "upb") mySelectCombo += ", idman";
            mySelectCombo += " FROM " + ComboTable;
            if (Filter != null)
            {
                mySelectCombo += " WHERE " + Filter;
            }
            if (sort != null)
            {
                mySelectCombo += " ORDER BY " + sort;
            }
            DataTable TCombo = Conn.SQLRunner(mySelectCombo, true);

            //DataTable TCombo = Conn.RUN_SELECT(ComboTable, "*", sort, Filter, null, false);

            TCombo.TableName = ComboTable.ToLower();

            Conn.DeleteAllUnselectable(TCombo);
            return(TCombo);
        }
コード例 #9
0
        private void CheckSecurityOnMenuButtons(MyMenuClass myMenu)
        {
            string     filter  = "";
            DataAccess UsrConn = GetVars.GetUserConn(this);

            if (((UsrConn == null) || (UsrConn.Open() == false)))
            {
                return;
            }

            CQueryHelper QHC = new CQueryHelper();
            QueryHelper  QHS = UsrConn.GetQueryHelper();

            string fitermenu = QHS.FieldInList("metadata",
                                               QHS.List("upb", "underwriting", "mandate", "finvar", "accountvar", "enactment", "accountenactment", "itineration"));
            DataTable DT = UsrConn.RUN_SELECT("menu", "*", "ordernumber,paridmenu", fitermenu, null, false);


            UsrConn.Security.DeleteAllUnselectable(DT);

            DataTable webconfig             = UsrConn.RUN_SELECT("web_config", "*", null, null, null, false);
            DataRow   rwebconf              = webconfig.Rows[0];
            bool      menuitinerationlist   = (rwebconf["menuitinerationlist"].ToString().ToUpper() == "S");
            bool      menuitinerationinsert = (rwebconf["menuitinerationinsert"].ToString().ToUpper() == "S");

            // UPB
            filter = QHC.CmpEq("metadata", "upb");
            var DR = DT.Select(filter);

            if (DR.Length == 0)
            {
                Upb = false;
            }


            //Finanziamento
            filter = QHC.CmpEq("metadata", "underwriting");
            DR     = DT.Select(filter);
            if (DR.Length == 0)
            {
                Finanziamento = false;
            }


            // Buono D'ordine
            filter = QHC.CmpEq("metadata", "mandate");
            DR     = DT.Select(filter);
            if (DR.Length == 0)
            {
                BuonoOrdine = false;
            }

            // Variazioni di Bilancio
            filter = QHC.CmpEq("metadata", "finvar");
            DR     = DT.Select(filter);
            if (DR.Length == 0)
            {
                VarPrev     = false;
                VarIniziale = false;
            }

            // TODO: Verificare l'utilità di questa condizione!
            // Variazioni di Bilancio per Viterbo
            //Filter = QHC.CmpEq("metadata", "viterbo_finvar");
            //DR = DT.Select(Filter);
            //if (DR.Length == 0) {
            //    VarPrev = false;
            //    VarIniziale = false;
            //}

            // Variazioni di Budget
            filter = QHC.CmpEq("metadata", "accountvar");
            DR     = DT.Select(filter);
            if (DR.Length == 0)
            {
                VarPrevBudget     = false;
                VarInizialeBudget = false;
            }
            // Atto Amministrativo
            filter = QHC.CmpEq("metadata", "enactment");
            DR     = DT.Select(filter);
            if (DR.Length == 0)
            {
                Atto = false;
            }
            // Atto Amministrativo di Budget
            filter = QHC.CmpEq("metadata", "accountenactment");
            DR     = DT.Select(filter);
            if (DR.Length == 0)
            {
                AttoBudget = false;
            }
            ////Ricarica cards
            //Filter = QHC.CmpEq("metadata", "lcardvar");
            //DR = DT.Select(Filter);
            //if (DR.Length == 0) RicaricaCard = false;

            MyMenuClass bil = null;

            if (Upb || Finanziamento)
            {
                bil = new MyMenuClass("Bilancio", null, null);

                if (Finanziamento)
                {
                    MyMenuClass m = new MyMenuClass("Finanziamento", "f", "underwriting.defaultnew02");
                    bil.AddChild(m);
                }
                if (Upb)
                {
                    MyMenuClass m = new MyMenuClass("UPB", "f", "upb.defaultnew02");
                    bil.AddChild(m);
                }
            }

            MyMenuClass ep = null;

            if (VarPrevBudget || VarInizialeBudget || AttoBudget)
            {
                ep = new MyMenuClass("E/P", null, null);
                if (VarInizialeBudget)
                {
                    MyMenuClass m = new MyMenuClass("Previsioni iniziali di Budget", "f", "accountvar.inizialenew02");
                    ep.AddChild(m);
                }

                if (VarPrevBudget)
                {
                    MyMenuClass m = new MyMenuClass("Variazione previsioni di Budget", "f", "accountvar.defaultnew02");
                    ep.AddChild(m);
                }
                if (AttoBudget)
                {
                    MyMenuClass m = new MyMenuClass("Atto Amministrativo di Budget", "f", "accountenactment.default");
                    ep.AddChild(m);
                }
            }

            MyMenuClass fin = null;

            //if (BuonoOrdine || VarPrev || Atto || RicaricaCard || GestisciCard || VarIniziale) {
            if (BuonoOrdine || VarPrev || ViterboVarPrev || Atto || RicaricaCard || GestisciCard || VarIniziale)
            {
                fin = new MyMenuClass("Finanziario", null, null);
                if (BuonoOrdine)
                {
                    MyMenuClass m = new MyMenuClass("Richiesta buono d'ordine", "f", "mandate.defaultnew02");
                    fin.AddChild(m);
                }
                if (VarIniziale)
                {
                    MyMenuClass m = new MyMenuClass("Previsioni iniziali", "f", "finvar.inizialenew02");
                    fin.AddChild(m);
                }

                if (VarPrev)
                {
                    MyMenuClass m = new MyMenuClass("Variazione previsioni", "f", "finvar.defaultnew02");
                    fin.AddChild(m);
                }

                // Inserita per Viterbo
                if (ViterboVarPrev && Session["system_config_previsioni_viterbo"] as string == "S")
                {
                    MyMenuClass m = new MyMenuClass("Viterbo - Variazione previsioni", "f", "viterbo_finvar.default");

                    // MyMenuClass m = new MyMenuClass("Viterbo - Variazione previsioni", "f", "viterbo_finvar_default");
                    //MyMenuClass m = new MyMenuClass("Viterbo - Variazione previsioni", "f", "viterbofinvar.default");
                    fin.AddChild(m);
                }

                if (Atto)
                {
                    MyMenuClass m = new MyMenuClass("Atto Amministrativo", "f", "enactment.defaultnew02");
                    fin.AddChild(m);
                }

                if (RicaricaCard)
                {
                    MyMenuClass m = new MyMenuClass("Ricarica card", "f", "lcardvar.default");
                    fin.AddChild(m);
                }
                if (GestisciCard)
                {
                    MyMenuClass m = new MyMenuClass("Gestisci card", "f", "lcard.default");
                    fin.AddChild(m);
                }
            }


            //Vetrina
            //Filter = QHC.CmpEq("metadata", "booking");
            string allowbooking = "'S'";

            if (UsrConn.GetUsr("ric_magazzino") != null)
            {
                allowbooking = UsrConn.GetUsr("ric_magazzino").ToString().ToUpper();
            }
            if (allowbooking != "'S'")
            {
                Prenota           = false;
                PrenotaMyTeam     = false;
                PrenotaWait       = false;
                Vetrina           = false;
                IngressoMagazzino = false;
            }


            //if (UsrConn.GetUsr("missioni") != null) {
            //    string managecompensi = UsrConn.GetUsr("missioni").ToString();
            //}
            // Missioni
            filter = QHC.CmpEq("metadata", "itineration");
            DR     = DT.Select(filter);
            if (DR.Length == 0)
            {
                Missioni        = false;
                MissioniAuth    = false;
                MissioniMyTeam  = false;
                CataniaMissioni = false;
            }
            else
            {
                if (Session["CodiceResponsabile"] == null)
                {
                    MissioniMyTeam = false;
                }
                int idauthagency = GetImpersonatedAuthAgency(UsrConn);
                if (idauthagency == 0)
                {
                    MissioniAuth = false;
                }
            }

            MyMenuClass mag = null;

            if (Prenota || PrenotaMyTeam || PrenotaWait || Vetrina || IngressoMagazzino)
            {
                mag = new MyMenuClass("Magazzino");

                if (Vetrina)
                {
                    MyMenuClass m = new MyMenuClass("Vetrina", "f", "showcase.defaultnew02");
                    mag.AddChild(m);
                }
                if (Prenota)
                {
                    MyMenuClass m = new MyMenuClass("Mie Prenotazioni", "f", "booking.defaultnew02");
                    mag.AddChild(m);
                }
                if (PrenotaMyTeam)
                {
                    MyMenuClass m = new MyMenuClass("Prenotazioni del mio Team", "f", "booking.myteamnew02");
                    mag.AddChild(m);
                }
                if (PrenotaWait)
                {
                    MyMenuClass m = new MyMenuClass("Prenotazioni da autorizzare", "f", "bookingdetail.defaultnew02");
                    mag.AddChild(m);
                }
                if (IngressoMagazzino)
                {
                    MyMenuClass m = new MyMenuClass("Stampa Check In magazzino", "s", "ingressomagazzino");
                    mag.AddChild(m);
                }
            }

            MyMenuClass mis = null;

            if (MissioniMyTeam || MissioniAuth || Missioni || CataniaMissioni)
            {
                mis = new MyMenuClass("Missioni");
                if (Missioni)
                {
                    if (true || menuitinerationinsert)
                    {
                        MyMenuClass m1 = new MyMenuClass("Richiesta Missione", "f", "itineration.autoinsertnew02");
                        mis.AddChild(m1);
                    }
                    if (true || menuitinerationlist)
                    {
                        MyMenuClass m2 = new MyMenuClass("Elenco Missioni", "f", "itineration.autolistnew02");
                        mis.AddChild(m2);
                    }

                    MyMenuClass m = new MyMenuClass("Missioni", "f", "itineration.defaultnew02");
                    mis.AddChild(m);
                }

                if (MissioniMyTeam)
                {
                    MyMenuClass m = new MyMenuClass("Missioni sui miei fondi", "f", "itineration.myteamnew02");
                    mis.AddChild(m);
                }
                if (MissioniAuth)
                {
                    MyMenuClass m = new MyMenuClass("Autorizza Missioni", "f", "itinerationauthview.defaultnew02");
                    mis.AddChild(m);
                }
                if (CataniaMissioni)
                {
                    MyMenuClass m = new MyMenuClass("Missioni(Catania)", "f", "itineration.ct_default");
                    mis.AddChild(m);
                }
            }

            if (bil != null || fin != null || ep != null || mag != null || mis != null)
            {
                MyMenuClass funz = new MyMenuClass("Funzioni");
                myMenu.AddChild(funz);

                if (bil != null)
                {
                    funz.AddChild(bil);
                }
                if (fin != null)
                {
                    funz.AddChild(fin);
                }
                if (mag != null)
                {
                    funz.AddChild(mag);
                }
                if (mis != null)
                {
                    funz.AddChild(mis);
                }
                if (ep != null)
                {
                    funz.AddChild(ep);
                }
            }
            // Vanno aggiunti i filtri per la vetrina e la prenotazione
            UsrConn.Close();
            return;
        }
コード例 #10
0
        void LeggiParametri()
        {
            DataAccess Conn = GetVars.GetUserConn(this);
            DataTable  Params;

            //Si ricarica dalla Session il Dataset di GetParamFromDB
            Params = (DataTable)Session["ParamData"];
            if (Params != null)
            {
                Params.RejectChanges();
            }
            DataTable UserPar = (DataTable)Session["UserPar"];

            if (Params == null)
            {
                return;
            }
            if (UserPar == null)
            {
                return;
            }
            DataRow Par = UserPar.Rows[0];

            int i = 0;

            foreach (DataRow drParam in Params.Rows)
            {
                if (drParam["selectioncode"].ToString() == "costant.hidden")
                {
                    continue;
                }
                string paramname = drParam["paramname"].ToString();
                i++;
                if (IsParamLocked(drParam))
                {
                    continue;
                }
                //Myid è il nome dato al controllo nella webpage
                string myId = drParam["__WebControlID"].ToString();

                //Leggo i parametri inseriti dall'utente e li memorizzo in variabili di sessione
                //Attenzione: se si tratta di una combo
                string UserValue = (string)Request.Form[myId];
                object ResValue  = DBNull.Value; //valore decodificato

                if (drParam["iscombobox"].ToString().ToUpper() == "S")
                {
                    //Legge la tabella che carica la combo
                    DataTable dtCombo = GetDataTableXcombo(drParam);
                    if (dtCombo != null)
                    {
                        DataRow[] DtComboFiltrata = dtCombo.Select((drParam["displaymember"].ToString() + " = " +
                                                                    QueryCreator.quotedstrvalue(UserValue, true)));
                        if (DtComboFiltrata.Length > 0)
                        {
                            //legge il combocodefield che mi serve per la stored procedure
                            //l'utente a video vedeva invece il combodescfield
                            ResValue = DtComboFiltrata[0][drParam["valuemember"].ToString()];
                        }
                        else
                        {
                            ResValue = UserValue;
                        }
                    }
                }
                else
                {
                    string     tag = "x.y." + drParam["tag"].ToString();
                    DataColumn C   = UserPar.Columns[paramname];
                    ResValue = HelpForm.GetObjectFromString(C.DataType, UserValue, tag);
                }
                if (((ResValue == null) || (ResValue.ToString() == "") || (ResValue.ToString() == "%")) &&
                    (drParam["noselectionforall"].ToString().ToLower() == "s"))
                {
                    if ((GetTypeFromSysType(drParam["systype"].ToString()) == typeof(int)))
                    {
                        ResValue = DBNull.Value;
                    }
                    else
                    {
                        ResValue = "%";
                    }
                }

                if (ResValue == null || (ResValue.ToString() == ""))
                {
                    ResValue = DBNull.Value;
                }
                //Nella colonna ParamValue della Table dei parametri memorizzo il valore inserito dal'utente
                Par[paramname] = ResValue;
            }
        }
コード例 #11
0
        void CreaPaginaParametri()
        {
            DataAccess Conn = GetVars.GetUserConn(this);
            DataTable  Params;

            GetParamfromDB();           //Leggo i parametri del report dal DB e imposta var. di sessione
            Params = (DataTable)Session["ParamData"];
            if (Params == null)
            {
                return;
            }
            DataTable UserPar = (DataTable)Session["UserPar"];

            if (UserPar == null)
            {
                return;
            }
            DataRow Par = UserPar.Rows[0];

            TxtBoxArr = new WebControl[15];

            //Disegno la tabella dei parametri
            Table1.Width       = 800;
            Table1.BorderStyle = BorderStyle.Solid;
            //Table1.BackColor = Color.LightSteelBlue;


            int CountParam = 0;

            foreach (DataRow MyRowParam in Params.Rows)
            {
                if (MyRowParam["selectioncode"].ToString() == "costant.hidden")
                {
                    continue;
                }
                CountParam++; //Incrementa il contatore di parametri che mi server per generare gli ID dei controlli
                //Aggiunge una riga alla tabella
                TableRow tRow = new TableRow();
                Table1.Rows.Add(tRow);
                //Aggiunge una cella
                TableCell tCell1 = new TableCell();
                tRow.Cells.Add(tCell1);
                tCell1.Width     = 200;
                tCell1.Font.Bold = true;
                //tCell1.BackColor = Color.LightSteelBlue;
                tCell1.Font.Size = FontUnit.Small;
                tCell1.Text      = MyRowParam["description"].ToString(); //Descrizione del parametro


                //Nome parametro
                string ParamName       = MyRowParam["paramname"].ToString();
                string FlagCombo       = MyRowParam["iscombobox"].ToString();
                bool   FlagNoSelection = MyRowParam["noselectionforall"].ToString().ToUpper() == "S";
                if (IsParamLocked(MyRowParam))
                {
                    TableCell tCell2 = new TableCell();
                    tRow.Cells.Add(tCell2);

                    //Crea una TextBox
                    TextBox myTextBox = new TextBox();

                    //Memorizza la TextBox nell'array di TextBox
                    //TxtBoxArr[countTxt] = myTextBox;
                    myTextBox.Width = 220;
                    tCell2.Controls.Add(myTextBox);
                    MyRowParam["__WebControlID"] = myTextBox.UniqueID;
                    MyRowParam.AcceptChanges();
                    /////////////////////////////////////////////////////////////////////////////////
                    ///Attenzione: Inserire in questa sezione i controlli per il blocco dei parametri
                    //Controllo per Responsabile
                    if (MyRowParam["datasource"].ToString().ToLower() == "manager")
                    {
                        myTextBox.ReadOnly  = true;
                        myTextBox.BackColor = System.Drawing.Color.LightGray;
                        myTextBox.Text      = Session["Responsabile"].ToString();
                        if (MyRowParam["valuemember"].ToString() == "idman")
                        {
                            Par[ParamName] = Session["codiceresponsabile"];
                        }
                        else
                        {
                            Par[ParamName] = Session["Responsabile"];
                        }

                        continue;
                    }

                    if (MyRowParam["datasource"].ToString().ToLower() == "registryreference")
                    {
                        myTextBox.ReadOnly  = true;
                        myTextBox.BackColor = System.Drawing.Color.LightGray;
                        myTextBox.Text      = Session["Fornitore"].ToString();
                        myTextBox.Width     = 300;
                        if (MyRowParam["valuemember"].ToString() == "idreg")
                        {
                            Par[ParamName] = Session["codicefornitore"];
                        }
                        else
                        {
                            Par[ParamName] = Session["Fornitore"];
                        }
                        continue;
                    }
                }

                if (FlagCombo.ToUpper() == "S")
                {
                    //////////////////Aggiunge una DropDownList
                    TableCell tCell2 = new TableCell();
                    tRow.Cells.Add(tCell2);
                    //Crea una dropDownList
                    DropDownList myDropList = new DropDownList();
                    tCell2.Controls.Add(myDropList);
                    DataTable myDtCombo;
                    MyRowParam["__WebControlID"] = myDropList.UniqueID;
                    MyRowParam.AcceptChanges();

                    //Esegue la select per leggere i valori da visualizzare nella dropDownList
                    myDtCombo = GetDataTableXcombo(MyRowParam);
                    foreach (DataRow drCombo in myDtCombo.Rows)
                    {
                        string myValue = drCombo[MyRowParam["displaymember"].ToString()].ToString();
                        if (myValue.Trim() == "")
                        {
                            continue;
                        }
                        myDropList.Items.Add(myValue);
                    }

                    if (FlagNoSelection)
                    {
                        myDropList.Items.Add("%");
                        myDropList.SelectedValue = "%";
                    }
                    if ((ParamName.ToLower().IndexOf("livello") >= 0 || ParamName.ToLower().IndexOf("level") >= 0) &&
                        (MyRowParam["hintkind"].ToString().ToUpper() == "NOHINT")
                        )
                    {
                        if (myDropList.Items.Count > 0)
                        {
                            myDropList.SelectedIndex = 1;
                        }
                    }
                    if (MyRowParam["hintkind"].ToString().ToUpper() != "NOHINT")
                    {
                        try {
                            object    def = DefaultForParameter(MyRowParam);
                            DataRow[] Val = myDtCombo.Select(MyRowParam["valuemember"].ToString() +
                                                             "=" + QueryCreator.quotedstrvalue(def, false));
                            if ((Val != null) && (Val.Length > 0))
                            {
                                myDropList.SelectedValue = Val[0][MyRowParam["displaymember"].ToString()].ToString();
                            }

                            //int NNN = 0;
                            //foreach (DataRow drCombo2 in myDtCombo.Rows) {
                            //    string myValue = drCombo2[0].ToString();
                            //    if (myValue.Trim() == "")
                            //        continue;
                            //    if (myValue == def.ToString()) {
                            //        myDropList.SelectedIndex = NNN;
                            //        break;
                            //    }
                            //    NNN++;
                            //}
                        }
                        catch (Exception E) {
                            QueryCreator.MarkEvent(QueryCreator.GetErrorString(E));
                        };
                    }
                    else
                    {
                        myDropList.SelectedIndex = myDropList.Items.Count - 1;
                    }
                }
                else
                {
                    //////////////////Aggiunge una TextBox

                    TableCell tCell2 = new TableCell();
                    tRow.Cells.Add(tCell2);

                    //Crea una TextBox
                    TextBox myTextBox = new TextBox();

                    //Memorizza la TextBox nell'array di TextBox
                    //TxtBoxArr[countTxt] = myTextBox;
                    myTextBox.Width = 220;
                    tCell2.Controls.Add(myTextBox);
                    MyRowParam["__WebControlID"] = myTextBox.UniqueID;
                    MyRowParam.AcceptChanges();

                    string tag = "x.y" + MyRowParam["tag"].ToString();

                    //Inserisce il valore di default del parametro
                    myTextBox.Text = HelpForm.StringValue(
                        DefaultForParameter(MyRowParam), tag);

                    // myTextBox.ID = "IdParam" + CountParam;  //Assegna un nome ID alla TextBox;


                    ///////////////////////////////////////////////////////////////////////////////////

                    //////////////////Aggiunge la cella di Help
                    TableCell tCell3 = new TableCell();
                    tCell3.Width     = 400;
                    tCell3.Font.Size = FontUnit.XSmall;
                    //tCell3.BackColor = Color.LightSteelBlue;
                    tRow.Cells.Add(tCell3);
                    tCell3.Text = MyRowParam["help"].ToString();
                }
            }
        }
コード例 #12
0
        protected void Page_Load(object sender, EventArgs e)
        {
            DataAccess Conn = GetVars.GetUserConn(Page);

            if (Conn == null)
            {
                return;
            }

            QHS = Conn.GetQueryHelper();
            string idcustomuser = Conn.GetSys("user").ToString();
            object currdate     = Conn.GetSys("datacontabile");
            object idflowchart  = Conn.GetSys("idflowchart");
            object ndetail      = Conn.GetSys("ndetail");

            if (idcustomuser == "")
            {
                return;
            }
            string def_val = "";

            string f1 = QHS.AppAnd(QHS.CmpEq("U.idcustomuser", idcustomuser),
                                   QHS.NullOrLe("U.start", currdate), QHS.NullOrGe("U.stop", currdate));

            f1 = QHS.AppAnd(f1, QHS.CmpEq("F.ayear", Conn.GetSys("esercizio")));
            bool err = false;

            DataTable T = Conn.SQLRunner("select U.idflowchart, isnull(U.title,F.title) as title, " +
                                         "U.ndetail from flowchartuser U join " +
                                         " flowchart F on U.idflowchart=F.idflowchart where " + f1, true, -1);

            if (T == null)
            {
                err = true;

                T = Conn.SQLRunner("select U.idflowchart, F.title, " +
                                   "U.ndetail from flowchartuser U join " +
                                   " flowchart F on U.idflowchart=F.idflowchart where " + f1, true, -1);

                T.PrimaryKey = new DataColumn[] { T.Columns["idflowchart"] };

                T.Columns.Add(new DataColumn("k", typeof(String)));
                foreach (DataRow R in T.Rows)
                {
                    R["k"] = R["idflowchart"].ToString() + "§" +
                             R["ndetail"].ToString();
                }
            }
            else
            {
                err = false;
                T.Columns.Add(new DataColumn("k", typeof(String)));
                foreach (DataRow R in T.Rows)
                {
                    R["k"] = R["idflowchart"].ToString() + "§" +
                             R["ndetail"].ToString();
                }
            }

            def_val = idflowchart.ToString() + "§" + ndetail.ToString();

            T.PrimaryKey = new DataColumn[] { T.Columns["k"] };
            if (T.Rows.Count == 0)
            {
                return;
            }

            if (!IsPostBack)
            {
                cmbruolo.DataSource    = T;
                cmbruolo.DataTextField = "title";


                cmbruolo.DataValueField = "k";
            }
            cmbruolo.DataBind();

            if (!IsPostBack)
            {
                if (err)
                {
                    try {
                        if (T.Rows.Count > 0)
                        {
                            cmbruolo.SelectedValue = def_val;
                        }
                    }
                    catch { }
                }
                else
                {
                    try {
                        if (T.Rows.Count > 0 && ndetail != null && ndetail != DBNull.Value)
                        {
                            cmbruolo.SelectedValue = def_val;
                        }
                    }
                    catch { }
                }
            }
        }
コード例 #13
0
        //HtmlGenericControl StartVoceMenu(HtmlGenericControl parent, string testo,string classfun, string buttontag, EventHandler handler) {
        //    HtmlGenericControl LI = new HtmlGenericControl("li");
        //    LI.InnerText = testo;
        //    parent.Controls.Add(LI);
        //    LI.Attributes["onClick"] = "doMenuFunction(\"" + classfun + "\",\"" + buttontag + "\"); return true;";
        //    Page.ClientScript.GetCallbackEventReference(HwMenuButton.ID, buttontag, null, null, null, true);
        //    return LI;
        //}
        //LiteralControl StopVoceMenu(LiteralControl parent) {
        //}
        protected void Page_Load(object sender, System.EventArgs e)
        {
            /////////////////
            WebLog.Log(this, "Visualizza IndiceReport.aspx");
            ////////////////
            MyMenuClass.RegisterScript(this, HwMenuButton);

            MetaMasterBootstrap master = Page.Master as MetaMasterBootstrap;

            master?.setUniversita(Session["system_config_nome_universita"] as string);

            bool IsManager = (Session["CodiceResponsabile"] != null ? true : false);

            if (!IsManager)
            {
                PrenotaWait       = false;
                PrenotaMyTeam     = false;
                RicaricaCard      = false;
                GestisciCard      = false;
                IngressoMagazzino = false;
            }



            //btnRegistroRichiesteBuonoOrdine.Attributes.Add("onclick", "aprifin();");
            if (Session["Cart"] != null)
            {
                ApplicationState APS = ApplicationState.GetApplicationState(this);
                MetaData         M   = APS.Dispatcher.Get("booking");
                M.edit_type = "defaultnew02";
                APS.CallPage(this, M, false);
            }

            if (Session["UserPar"] != null)
            {
                if (Session["ModuleReportRow"] != null)
                {
                    // Report
                    string F = "window.open('WebPDFView.aspx');";

                    if (!Page.ClientScript.IsClientScriptBlockRegistered(typeof(Page), "openwin"))
                    {
                        Page.ClientScript.RegisterClientScriptBlock(
                            typeof(Page), "openwin", F, true);
                    }
                    //if (Session["PageToCameBack"] != null) {
                    //    string url = Session["PageToCameBack"].ToString();
                    //    Session["PageToCameBack"] = null;
                    //    Response.Redirect(url);
                    //    return;
                    //}
                }
                else
                {
                    // Export
                    string F = "window.open('ExportView.aspx');";
                    if (!Page.ClientScript.IsClientScriptBlockRegistered(typeof(Page), "openwin"))
                    {
                        Page.ClientScript.RegisterClientScriptBlock(
                            typeof(Page), "openwin", F, true);
                    }
                }
                //ApplicationState APS = ApplicationState.GetApplicationState(this);
                //MetaData M = APS.Dispatcher.Get("webpdf");
                //M.edit_type = "view";
                //APS.CallPage(this, M, false);
            }
            DataAccess UsrConn = GetVars.GetUserConn(this);

            if (((UsrConn == null) || (UsrConn.Open() == false)))
            {
                return;
            }
            string tipoutente = Session["TipoUtente"] as string;

            //if (tipoutente != "utente" && tipoutente != "Utente LDAP") {
            if (UsrConn.GetUsr("HasVirtualUser") == null && tipoutente != "utente")
            {
                Atto              = false;
                AttoBudget        = false;
                BuonoOrdine       = false;
                VarPrev           = false;
                ViterboVarPrev    = false;
                VarIniziale       = false;
                VarPrevBudget     = false;
                VarInizialeBudget = false;
                Vetrina           = false;
                Prenota           = false;
                IngressoMagazzino = false;
                PrenotaMyTeam     = false;
                PrenotaWait       = false;
                Missioni          = false;
                CataniaMissioni   = false;
                MissioniAuth      = false;
                MissioniMyTeam    = false;
                canChangeRole     = false;
                RicaricaCard      = false;
                GestisciCard      = false;
                Upb           = false;
                Finanziamento = false;
            }

            if (tipoutente == "Utente LDAP" || tipoutente == "Utente SSO")
            {
                CanChangePassword = false;
            }

            if (RicaricaCard && UsrConn.RUN_SELECT_COUNT("lcard", null, false) == 0)
            {
                RicaricaCard = false;
            }
            //if (GestisciCard && UsrConn.RUN_SELECT_COUNT("lcard", null, false) == 0) {
            //    GestisciCard = false;
            //}


            MyMenuClass myMenu = new MyMenuClass(null);

            CheckSecurityOnMenuButtons(myMenu);



            string filter = UsrConn.GetSys("filterrule") as string;

            filter = GetData.MergeFilters(filter, "(webvisible='S')");
            if (tipoutente == "responsabile")
            {
                filter = filter + "AND" +
                         "(reportname in (select reportname from reportparameter where datasource='manager'))";
            }
            if (tipoutente == "fornitore")
            {
                filter = filter + "AND" +
                         "(reportname in (select reportname from reportparameter where datasource='registryreference'))";
            }
            ModRepWeb = UsrConn.RUN_SELECT("report", "*", "modulename,groupname", filter, null, true);

            UsrConn.Security.DeleteAllUnselectable(ModRepWeb);
            QueryHelper  QHS         = UsrConn.GetQueryHelper();
            CQueryHelper QHC         = new CQueryHelper();
            object       idflowchart = UsrConn.GetSys("idflowchart");

            if (idflowchart != null && idflowchart != DBNull.Value)
            {
                //Applica filtro su stampe in base a flowchart
                DataTable MyMod = UsrConn.RUN_SELECT("flowchartmodulegroup", "*", null,
                                                     QHS.CmpEq("idflowchart", idflowchart), null, false);
                if (MyMod != null && MyMod.Columns.Count > 0)
                {
                    MyMod.CaseSensitive = false;
                    foreach (DataRow RM in ModRepWeb.Select())
                    {
                        if (RM["modulename"].ToString() == "" || RM["groupname"].ToString() == "")
                        {
                            continue;
                        }
                        string existfilter = QHC.AppAnd(QHC.CmpEq("modulename", RM["modulename"]),
                                                        QHC.CmpEq("groupname", RM["groupname"]));
                        if (MyMod.Select(existfilter).Length > 0)
                        {
                            continue;
                        }
                        RM.Delete();
                    }
                }
            }
            ModRepWeb.AcceptChanges();

            string lastmodule    = "";
            string lastgroupname = "";

            //Visualizza l'elenco dei report disponibili
            if (ModRepWeb != null && ModRepWeb.Rows.Count > 0)
            {
                MyMenuClass menuReport = new MyMenuClass("Report");
                myMenu.AddChild(menuReport);
                MyMenuClass menuModule = null;
                MyMenuClass menuGruppo = null;
                foreach (DataRow DrReport in ModRepWeb.Rows)
                {
                    if (DrReport["modulename"].ToString().ToLower() != lastmodule)
                    {
                        menuModule = new MyMenuClass(DrReport["modulename"].ToString());
                        menuReport.AddChild(menuModule);
                        lastmodule = DrReport["modulename"].ToString().ToLower();

                        menuGruppo = new MyMenuClass(DrReport["groupname"].ToString(), true);
                        menuModule.AddChild(menuGruppo);
                        lastgroupname = DrReport["groupname"].ToString().ToLower();
                    }

                    if (DrReport["groupname"].ToString().ToLower() != lastgroupname)
                    {
                        menuGruppo = new MyMenuClass(DrReport["groupname"].ToString(), true);
                        menuModule.AddChild(menuGruppo);
                        lastgroupname = DrReport["groupname"].ToString().ToLower();
                    }


                    MyMenuClass voce = new MyMenuClass(DrReport["Description"].ToString(), "r",
                                                       DrReport["ModuleName"].ToString() + "." + DrReport["ReportName"].ToString());
                    menuGruppo.AddChild(voce);
                }
            }

            string filterexpresp = "(webvisible='S') ";

            if (Session["CodiceResponsabile"] != null)
            {
                filterexpresp = filterexpresp + " AND" +
                                "(procedurename in (select procedurename from exportfunctionparam where datasource='manager'))";
            }
            if (Session["CodiceFornitore"] != null)
            {
                filterexpresp = filterexpresp + " AND" +
                                "(procedurename in (select procedurename from exportfunctionparam where datasource='registryreference'))";
            }
            ExportWeb = UsrConn.RUN_SELECT("exportfunction", "*", "modulename", filterexpresp, null, true);

            UsrConn.Security.DeleteAllUnselectable(ExportWeb);
            if (idflowchart != null && idflowchart != DBNull.Value)
            {
                //Applica filtro su stampe in base a flowchart
                DataTable MyMod = UsrConn.RUN_SELECT("flowchartexportmodule", "*", null,
                                                     QHS.CmpEq("idflowchart", idflowchart), null, false);
                if (MyMod != null && MyMod.Columns.Count > 0)
                {
                    MyMod.CaseSensitive = false;
                    foreach (DataRow RM in ExportWeb.Select())
                    {
                        if (RM["modulename"].ToString() == "")
                        {
                            continue;
                        }
                        string existfilter = QHC.CmpEq("modulename", RM["modulename"]);
                        if (MyMod.Select(existfilter).Length > 0)
                        {
                            continue;
                        }
                        RM.Delete();
                    }
                }
            }
            ExportWeb.AcceptChanges();

            lastmodule = "";

            //Visualizza l'elenco delle esportazioni disponibili
            if (ExportWeb != null && ExportWeb.Rows.Count > 0)
            {
                MyMenuClass menuExport = new MyMenuClass("Esportazioni");
                myMenu.AddChild(menuExport);
                MyMenuClass menuExpModule = null;
                //MyMenuClass menuExpGruppo;


                foreach (DataRow DrExport in ExportWeb.Rows)
                {
                    if (DrExport["modulename"].ToString().ToLower() != lastmodule)
                    {
                        menuExpModule = new MyMenuClass(DrExport["modulename"].ToString(), null, null);
                        menuExport.AddChild(menuExpModule);
                        lastmodule = DrExport["modulename"].ToString().ToLower();
                    }

                    MyMenuClass voce = new MyMenuClass(DrExport["Description"].ToString(), "e",
                                                       DrExport["procedurename"].ToString() + "." + DrExport["Description"].ToString());
                    menuExpModule.AddChild(voce);
                }
            }

            /*
             * MyMenuClass sys = new MyMenuClass("Sistema");
             * myMenu.AddChild(sys);
             * sys.AddChild(new MyMenuClass("Disconnetti", "s", "disconnect"));
             * if (canChangeRole) sys.AddChild(new MyMenuClass("Cambio Ruolo", "s", "changerole"));
             * if (CanChangePassword) sys.AddChild(new MyMenuClass("Cambio Password", "s", "changepwd"));
             */


            myMenu.AddChild(new MyMenuClass("Disconnetti", "s", "disconnect"));
            if (canChangeRole)
            {
                myMenu.AddChild(new MyMenuClass("Cambio Ruolo", "s", "changerole"));
            }
            if (CanChangePassword)
            {
                myMenu.AddChild(new MyMenuClass("Cambio Password", "s", "changepwd"));
            }


            myMenu.Optimize();

            MenuPanel.Controls.Add(myMenu.GetControl());
            UsrConn.Close();
            //WebLog.Log(this,"Visualizza Elenco Report disponibili (" + ModRepWeb.Rows.Count.ToString() + ")");
        }
コード例 #14
0
        protected void Page_Load(object sender, EventArgs e)
        {
            string FileName;
            string cmd   = Session["AttachmentCommand"] as string;
            string fname = Session["AttachmentFileName"] as string;

            if (cmd == null)
            {
                return;
            }

            string MyGuid = Session.SessionID.ToString();
            string str;

            str = DateTime.Now.ToString();
            str = str.Replace("/", "");
            str = str.Replace(".", "");
            str = str.Replace(" ", "");
            //Costruisce il nome del File (AnnoMeseGiornoOraMinutiSecondi)
            //FileName = str.Substring(4,4) + str.Substring(2,2) + str.Substring(0,2) + "h" + str.Substring(8,str.Length - 8);
            string prefix = Session["TipoUtente"] as String;

            if (prefix == "fornitore")
            {
                prefix += "-" + Session["CodiceFornitore"].ToString();
            }
            if (prefix == "responsabile")
            {
                prefix += "-" + Session["CodiceResponsabile"].ToString();
            }


            prefix = GetVars.GetUsrVar(this, "CodiceDipartimento").ToString() + "-" + prefix + "-";
            prefix = prefix.Replace("\\", "");
            prefix = prefix.Replace("/", "");
            prefix = prefix.Replace("*", "");
            prefix = prefix.Replace("?", "");
            prefix = prefix.Replace("$", "");
            prefix = prefix.Replace("%", "");


            FileName = prefix + "-" + System.Guid.NewGuid().ToString() + fname;

            string errmess;

            Easy_DataAccess Conn = GetVars.GetUserConn(this);
            object          doc  = Conn.DO_SYS_CMD(cmd, true);



            if (doc == null || doc == DBNull.Value)
            {
                Session["Messaggio"]          = "Documento non trovato";
                Session["CloseWindow"]        = true;
                Session["AttachmentCommand"]  = null;
                Session["AttachmentFileName"] = null;
                Response.Redirect("Messaggio.aspx");
                return;
            }


            // Restituisce il percorso fisico locale della cartella ReportPDF  ex: c:\inetpub\wwwroot\.....
            string FilePath = this.MapPath("ReportPDF");

            if (!FilePath.EndsWith("\\"))
            {
                FilePath += "\\";
            }

            string filenametodelete = FilePath + prefix + "*.*";

            string[] existingreports = System.IO.Directory.GetFiles(
                FilePath, prefix + "*.*");
            foreach (string filename in existingreports)
            {
                System.IO.File.Delete(filename);
            }

            string PDFfilePathRedir =   //FilePath +
                                      "ReportPDF/" +
                                      FileName;

            string     sw = Path.Combine(FilePath, FileName);
            FileStream FS = new FileStream(sw, FileMode.Create, FileAccess.Write);

            byte[] ByteArray = (byte[])doc;

            int n = ByteArray.Length;

            if (n == 0)
            {
                Session["Messaggio"]          = "Documento non trovato";
                Session["CloseWindow"]        = true;
                Session["AttachmentCommand"]  = null;
                Session["AttachmentFileName"] = null;
                Response.Redirect("Messaggio.aspx");
                return;
            }

            try {
                FS.Write(ByteArray, 0, n);//<<<<<<<<<
                FS.Flush();
                FS.Close();
            }
            catch {
                string mym = "Non è stato possibile completare il salvataggio del file. \r";
                Session["CloseWindow"] = true;
                Session["Messaggio"]   = mym;
                Response.Redirect("Messaggio.aspx");
                return;
            }
            //Visualizza il Report in formato PDF
            //WebLog.Log(this,"Visualizza il file in formato PDF");
            Session["AttachmentCommand"]  = null;
            Session["AttachmentFileName"] = null;

            Response.Redirect(PDFfilePathRedir);
        }
コード例 #15
0
        protected void Page_Load(object sender, System.EventArgs e)
        {
            string  FileName;
            DataRow Rep = Session["ExportRow"] as DataRow;

            if (Rep == null)
            {
                return;
            }

            string MyGuid = Session.SessionID.ToString();
            string str;

            str = DateTime.Now.ToString();
            str = str.Replace("/", "");
            str = str.Replace(".", "");
            str = str.Replace(" ", "");
            //Costruisce il nome del File (AnnoMeseGiornoOraMinutiSecondi)
            //FileName = str.Substring(4,4) + str.Substring(2,2) + str.Substring(0,2) + "h" + str.Substring(8,str.Length - 8);
            string prefix = Session["TipoUtente"] as String;

            if (prefix == "fornitore")
            {
                prefix += "-" + Session["CodiceFornitore"].ToString();
            }
            if (prefix == "responsabile")
            {
                prefix += "-" + Session["CodiceResponsabile"].ToString();
            }
            prefix = GetVars.GetUsrVar(this, "CodiceDipartimento").ToString() + "-" + prefix + "-";
            prefix = prefix.Replace("\\", "");
            prefix = prefix.Replace("/", "");
            prefix = prefix.Replace("*", "");
            prefix = prefix.Replace("?", "");
            prefix = prefix.Replace("$", "");
            prefix = prefix.Replace("%", "");

            MetaMaster MM = Master as MetaMaster;


            FileName = prefix + Rep["procedurename"].ToString() + "-" + System.Guid.NewGuid().ToString();

            DataTable UserPar = (DataTable)Session["UserPar"];

            if (UserPar == null)
            {
                return;
            }
            DataRow Par = UserPar.Rows[0];
            string  errmess;

            Easy_DataAccess Conn = GetVars.GetUserConn(this);


            // Restituisce il percorso fisico locale della cartella ReportPDF  ex: c:\inetpub\wwwroot\.....
            string FilePath = this.MapPath("ReportPDF");

            if (!FilePath.EndsWith("\\"))
            {
                FilePath += "\\";
            }

            string filenametodelete = FilePath + prefix + "*.*";

            string  [] existingreports = System.IO.Directory.GetFiles(
                FilePath, prefix + "*.*");
            foreach (string filename in existingreports)
            {
                System.IO.File.Delete(filename);
            }
            string fileFormat = Rep["fileformat"].ToString();
            string extension  = "";

            switch (fileFormat)
            {
            case "F":
                extension = ".txt";
                break;

            case "T":
                extension = ".txt";
                break;

            case "C":
                extension = ".csv";
                break;

            case "E":
                extension = ".xlsx";
                break;
            }

            string PDFfilePathRedir =   //FilePath +
                                      "ReportPDF/" +
                                      FileName + extension;
            string PDFfilePathToCreate = FilePath +
                                         FileName + extension;


            int          count           = 0;
            const string DummyPrimaryKey = "DummyPrimaryKeyField";
            const string DummyField      = "reportname";


            object[] ReportParams = new object[UserPar.Columns.Count - 2];
            foreach (DataColumn C in UserPar.Columns)
            {
                string colname = C.ColumnName;
                if (colname == DummyPrimaryKey)
                {
                    continue;
                }
                if (colname == DummyField)
                {
                    continue;
                }
                bool Convert = (bool)C.ExtendedProperties["ConvertNullToPerc"];
                Type tipo    = Par.Table.Columns[colname].DataType;
                if (Convert && (tipo == typeof(string)) && (Par[colname].ToString() == ""))
                {
                    Par[colname] = "%";
                }
                ReportParams[count++] = Par[colname];
            }

            int timeout = 300;

            try {
                if (Rep["timeout"] != DBNull.Value)
                {
                    timeout = Convert.ToInt32(
                        Rep["timeout"]) * 60;
                    if (timeout == 0)
                    {
                        timeout = 300;
                    }
                }
            }
            catch {
            }
            string  ExportName = Rep["procedurename"].ToString();
            DataSet Out        = Conn.CallSP(ExportName, ReportParams, true, timeout);


            if ((Out == null) || (Out.Tables.Count == 0))
            {
                string mym = "La stored procedure " + ExportName +
                             " è stata valutata e non ha restituito alcun risultato.";
                //MM.ShowClientMessage(mym, "Avviso",  System.Windows.Forms.MessageBoxButtons.OK);
                Session["CloseWindow"] = true;
                Session["Messaggio"]   = mym;


                Response.Redirect("Messaggio.aspx");
                return;
            }
            if (Out.Tables[0].Rows.Count == 0)
            {
                string mym = "La stored procedure " + ExportName +
                             " è stata valutata e non ha restituito alcun risultato.";
                //MM.ShowClientMessage(mym, "Avviso",       System.Windows.Forms.MessageBoxButtons.OK);

                Session["CloseWindow"] = true;
                Session["Messaggio"]   = mym;
                Session["UserPar"]     = null;
                Session["ExportRow"]   = null;

                Response.Redirect("Messaggio.aspx");
                return;
            }

            DataTable OutTable = Out.Tables[0];

            OutTable.TableName = Rep["description"].ToString();

            string result = null;

            switch (fileFormat)
            {
            case "F": metadatalibrary.exportclass.dataTableToFixedLengthFile(OutTable, false, PDFfilePathToCreate); break;

            case "T": metadatalibrary.exportclass.dataTableToTabulationSeparatedValues(OutTable, false, PDFfilePathToCreate); break;

            case "C": metadatalibrary.exportclass.dataTableToCommaSeparatedValues(OutTable, false, PDFfilePathToCreate); break;

            case "E": result = metadatalibrary.exportclass.DataTableToExcel(OutTable, true, null, null,
                                                                            PDFfilePathToCreate);
                break;
            }
            if (!string.IsNullOrEmpty(result))
            {
                Session["Messaggio"] = result;
                //MM.ShowClientMessage(result, "Avviso", System.Windows.Forms.MessageBoxButtons.OK);
                Session["CloseWindow"] = true;
                Response.Redirect("Messaggio.aspx");
                return;
            }
            //Visualizza il Report in formato PDF
            //WebLog.Log(this,"Visualizza il file in formato PDF");
            Response.Clear();

            Session["UserPar"]   = null;
            Session["ExportRow"] = null;
            Response.Redirect(PDFfilePathRedir);
        }
コード例 #16
0
        protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
        {
            if (error_dep)
            {
                return;
            }

            string     error;
            DataAccess Conn = GetVars.GetSystemDataAccess(this, out error);

            if (Conn == null)
            {
                return;
            }

            DateTime D = DateTime.Now;

            object Onedip = Session["DepCode"];

            if (Onedip == null)
            {
                MetaPage.SessionTimeOut(this);
                return;
            }
            //Onedip = "amministrazione";

            ConnectToDepartment(Onedip.ToString(), null, null, D);
            Easy_DataAccess UsrConnTemp = GetVars.GetUserConn(this);

            if (UsrConnTemp == null || UsrConnTemp.Open() == false)
            {
                //Il Server del Dipartimento non è in rete.
                //Il servizio non è disponibile in quanto il computer potrebbe essere spento.
                labExtMessage.Text = "Il Server del Dipartimento " + Onedip.ToString() + " non risponde.\r" +
                                     "Potrebbe essere spento o momentaneamente fuori rete. \r" +
                                     "Provi in seguito";
                txtCodice.ReadOnly = true;
                WebLog.Log(this, "Il Server del dipartimento " + Onedip.ToString() + "non risponde.");
                return;
            }



            DataSet DDecode = UsrConnTemp.CallSP("calc_bookingid", new object[] { txtCodice.Text }, true);

            UsrConnTemp.Close();
            if (DDecode == null || DDecode.Tables.Count == 0)
            {
                lblMessaggio.Text = "Errore nel contattare il dipartimento o codice errato.";
                return;
            }

            DataTable TDecode = DDecode.Tables[0];

            if (TDecode.Rows.Count == 0)
            {
                lblMessaggio.Text = "Errore nel contattare il dipartimento  o codice errato.";
                return;
            }

            DataRow RCode = TDecode.Rows[0];

            if (RCode["iddep"].ToString() == "")
            {
                lblMessaggio.Text = "Errore nella lettura del codice a barre";
                txtCodice.Text    = "";
                return;
            }
            string depcode   = RCode["iddep"].ToString();
            string idbooking = RCode["idbooking"].ToString();

            ConnectToDepartment(depcode, null, null, D);

            Easy_DataAccess UsrConn = GetVars.GetUserConn(this);

            if (UsrConn == null || UsrConn.Open() == false)
            {
                //Il Server del Dipartimento non è in rete.
                //Il servizio non è disponibile in quanto il computer potrebbe essere spento.
                labExtMessage.Text = "Il Server del Dipartimento " + depcode + " non risponde.\r" +
                                     "Potrebbe essere spento o momentaneamente fuori rete. \r" +
                                     "Provi in seguito";
                txtCodice.ReadOnly = true;
                WebLog.Log(this, "Il Server del dipartimento " + depcode + "non risponde.");
                return;
            }

            labExtMessage.Text = "Connessione al server effettuata.";



            ScaricaPrenotazione(UsrConn, idbooking);
        }
コード例 #17
0
        protected void Page_Load(object sender, EventArgs e)
        {
            //Master.SetTitle("WebEasy - Accesso Servizi Dipartimento  ");
            lblMessaggio.Text  = "";
            labExtMessage.Text = "";



            if (!Page.IsPostBack || Page.Session.IsNewSession)
            {
                Session["utente"]             = "";
                Session["Responsabile"]       = "";
                Session["Fornitore"]          = "";
                Session["CodiceResponsabile"] = null;
                Session["CodiceFornitore"]    = null;
            }

            if (Request != null)
            {
                if (Request.Params["x"] != null && Request.Params["x"].ToString() != "")
                {
                    Session["DepCode"] = Request.Params["x"];
                }
            }

            if (Session["DepCode"] == null || Session["DepCode"].ToString() == "")
            {
                lblMessaggio.Text = "E' necessario chiamare la pagina magazzino_in.aspx con il parametro dep=codice dipartimento";
                WebLog.Log(this, "Parametro dep non fornito.");
                return;
            }

            //if (Session["DoLogon"] == null || !((bool)Session["DoLogon"])) {
            //    lblMessaggio.Text = "Applicazione non inizializzata correttamente.";
            //    WebLog.Log(this, "Applicazione non inizializzata correttamente.");
            //    return;
            //}

            DataSet Cfg = GetVars.GetConfigDataSet(this);

            if (Cfg.Tables[0].Rows.Count == 0)
            {
                lblMessaggio.Text = "Servizio non installato correttamente. Manca il file di configurazione.";
                WebLog.Log(this, "Connessione al db di sistema non riuscita.");
                return;
            }
            MetaMaster MM = Master as MetaMaster;
            //if (MM != null) MM.ShowClientMessage("NINO", false);

            string error;

            DataAccess Conn = GetVars.GetSystemDataAccess(this, out error);

            if (Conn == null)
            {
                //lblMessaggio.Text = "Connessione al DB di sistema non riuscita." + error;
                //Attenzione qui l'errore contiene la password del Database !
                lblMessaggio.Text = "Connessione al DB di sistema non riuscita.";
                WebLog.Log(this, "Connessione al db di sistema non riuscita.");
                return;
            }
            lblMessaggio.Text = "Il servizio Web è attivo";
            GetVars.ClearUserConn(this);
            MetaMaster master = Page.Master as MetaMaster;

            master?.setUniversita(Session["system_config_nome_universita"] as string);

            if (!Page.IsPostBack)
            {
                ldapauth ldpauth = new ldapauth(Conn);
                if (!ldpauth.getconfig())
                {
                    rbTipuUtente.Items.RemoveAt(3);
                }
            }

            //WebLog.Log(this, "Visualizza Login_Servizi");

            DateTime D = DateTime.Now;

            if (IsPostBack)
            {
                if (txtNomeUtente.Text == "")
                {
                    lblMessaggio.Text = "Il nome utente è un campo obbligatorio.";
                    //MM.ShowClientMessage("Il nome utente è un campo obbligatorio.", "Errore",
                    //          System.Windows.Forms.MessageBoxButtons.OK);

                    return;
                }
                if (txtPassword.Text == "")
                {
                    lblMessaggio.Text = "La password è un campo obbligatorio.";
                    //MM.ShowClientMessage("La password è un campo obbligatorio.", "Errore",
                    //        System.Windows.Forms.MessageBoxButtons.OK);

                    return;
                }
            }

            if (IsPostBack && Request != null)
            {
                //Cerco prima nella tabella contatto e poi nella tabella responsabile.
                string NomeUtente = txtNomeUtente.Text;
                string Password   = txtPassword.Text; // Request.Form["txtPassword"].ToString();

                if (rbTipuUtente.SelectedValue == "1" || rbTipuUtente.SelectedValue == "2")
                {
                    //Responsabile o Fornitore
                    ConnectToDepartment(Session["DepCode"].ToString(), null, null, D);
                }

                if (rbTipuUtente.SelectedValue == "3")  //Utente dell'applicazione
                {
                    ConnectToDepartment(Session["DepCode"].ToString(), NomeUtente, txtPassword.Text, D);
                }

                bool ldapauthok = false;

                if (rbTipuUtente.SelectedValue == "4")   // Utente LDAP
                {
                    ldapauth lauth = new ldapauth(Conn);
                    if (!lauth.getconfig())
                    {
                        // Nessuna configurazione LDAP
                        lblMessaggio.Text = lauth.ErrorMsg;
                        return;
                    }
                    else
                    {
                        if (!lauth.Authenticate(NomeUtente, txtPassword.Text))
                        {
                            // autenticazione fallita
                            lblMessaggio.Text = lauth.ErrorMsg;
                            return;
                        }
                        else
                        {
                            // autenticazione LDAP riuscita
                            NomeUtente = lauth.user_decoded;
                            ConnectToDepartment(Session["DepCode"].ToString(), null, null, D);
                            ldapauthok = true;
                        }
                    }
                }



                //Connessione al Server.Database privato del software.
                Easy_DataAccess UsrConn = GetVars.GetUserConn(this);

                if (UsrConn == null)
                {
                    return;                  //Messaggio già viualizzato da ConnectToDepartment()
                }
                QueryHelper QHS = UsrConn.GetQueryHelper();



                string user     = null;
                string forename = null;
                string lastname = null;
                string cf       = null;
                string email    = null;



                if (rbTipuUtente.SelectedValue == "3")
                {
                    if (!CambioDataConsentita(UsrConn, D))
                    {
                        UsrConn.Close();
                        labExtMessage.Text = "Accesso non consentito in tale data \rin base alla gestione della sicurezza.";
                        //                        MM.ShowClientMessage("Accesso non consentito in tale data in base alla gestione della sicurezza.", "Errore",
                        //                                  System.Windows.Forms.MessageBoxButtons.OK);
                        lblMessaggio.Text = "Accesso negato";
                        return;
                    }
                }
                if (UsrConn.Open() == false)
                {
                    //Il Server del Dipartimento non è in rete.
                    //Il servizio non è disponibile in quanto il computer potrebbe essere spento.
                    labExtMessage.Text = "Il Server del Dipartimento non risponde.\r" +
                                         "Potrebbe essere spento o momentaneamente fuori rete. \r" +
                                         "Provi in seguito";
                    txtNomeUtente.ReadOnly = true;
                    WebLog.Log(this, "Il Server del dipartimento non risponde.");
                    return;
                }

                UsrConn.Close();
                Meta_EasyDispatcher Disp = new Meta_EasyDispatcher(UsrConn);
                ApplicationState    APS  = new ApplicationState(Disp, UsrConn);

                string path     = this.MapPath(".");
                string filename = Path.Combine(path, "proxyserver.html");
                if (File.Exists(filename))
                {
                    StreamReader SR      = new StreamReader(filename);
                    string       webauth = SR.ReadToEnd();
                    webauth          = webauth.Replace("\n", "").Replace("\r", "").Trim();
                    APS.webautorithy = webauth;
                    SR.Close();
                }


                APS.SaveApplicationState(this);
                labExtMessage.Text = "Connessione al server effettuata.";

                if (rbTipuUtente.SelectedValue == "1")
                {
                    int countresp = UsrConn.RUN_SELECT_COUNT("manager",
                                                             QHS.CmpEq("userweb", NomeUtente), false);
                    if (countresp > 1)
                    {
                        lblMessaggioPass.Text = "Chiedere al Segreterio Amministrativo l'assegnazione di una nuova login";
                        WebLog.Log(this, "Attenzione !!! Login assegnata a piu responsabili");
                        return;
                    }
                    DataTable Responsabile = UsrConn.RUN_SELECT("manager", "*", null,
                                                                QHS.AppAnd(QHS.CmpEq("userweb", NomeUtente), QHS.CmpEq("passwordweb", Password)), null, false);
                    if (Responsabile.Rows.Count == 0)
                    {
                        //Dati non corretti
                        labExtMessage.Text = "Nome utente o password non sono corretti.";
                        WebLog.Log(this, "Nome Resp:" + NomeUtente + " e password:"******" non corretti");
                        return;
                    }
                    Session["LoginResponsabile"]    = NomeUtente;
                    Session["PasswordResponsabile"] = Password;
                    Session["Responsabile"]         = Responsabile.Rows[0]["title"].ToString();
                    Session["CodiceResponsabile"]   = Responsabile.Rows[0]["idman"];
                    Session["TipoUtente"]           = "responsabile";
                    WebLog.Log(this, "Riconosciuto responsabile: " + Session["Responsabile"].ToString());
                }

                if (rbTipuUtente.SelectedValue == "2")
                {
                    int countforn = UsrConn.RUN_SELECT_COUNT("registryreferenceview",
                                                             QHS.CmpEq("userweb", NomeUtente), false);
                    if (countforn > 1)
                    {
                        lblMessaggioPass.Text = "Chiedere al Segreterio Amministrativo l'assegnazione di una nuova login";
                        WebLog.Log(this, "Attenzione !!! Login assegnata a piu fornitori");
                        return;
                    }
                    DataTable Contatto = UsrConn.RUN_SELECT("registryreferenceview", "*", null,
                                                            QHS.AppAnd(QHS.CmpEq("userweb", NomeUtente), QHS.CmpEq("passwordweb", Password)), null, false);
                    if (Contatto.Rows.Count == 0)
                    {
                        //Dati non corretti
                        labExtMessage.Text = "Nome utente o password non sono corretti.";
                        WebLog.Log(this, "Nome Fornitore:" + NomeUtente + " e password:"******" non corretti");
                        return;
                    }

                    Session["LoginFornitore"]    = NomeUtente;
                    Session["Fornitore"]         = Contatto.Rows[0]["registry"];
                    Session["CodiceFornitore"]   = Contatto.Rows[0]["idreg"];
                    Session["PasswordFornitore"] = Password;
                    Session["TipoUtente"]        = "fornitore";
                    WebLog.Log(this, "Riconosciuto fornitore: " + Session["Fornitore"].ToString());
                }

                if (rbTipuUtente.SelectedValue == "3")
                {
                    Session["TipoUtente"]     = "utente";
                    Session["Utente"]         = NomeUtente;
                    Session["PasswordUtente"] = Password;
                }

                if (ldapauthok || (rbTipuUtente.SelectedValue == "1") ||
                    (rbTipuUtente.SelectedValue == "2") || (rbTipuUtente.SelectedValue == "3"))
                {
                    int    userkind = Convert.ToInt32(rbTipuUtente.SelectedValue);
                    string filter   = QHS.AppAnd(QHS.CmpEq("username", NomeUtente),
                                                 QHS.CmpEq("codicedipartimento", Session["DepCode"].ToString()),
                                                 QHS.CmpEq("userkind", userkind)
                                                 );
                    // prelevare l'idflowchart e poi fare la connecttodepartment
                    DataTable virtualuser = Conn.RUN_SELECT("virtualuser", "*", null, filter, null, false);
                    if (virtualuser != null && virtualuser.Rows.Count != 0)
                    {
                        user     = virtualuser.Rows[0]["sys_user"].ToString();
                        forename = virtualuser.Rows[0]["forename"].ToString();
                        lastname = virtualuser.Rows[0]["surname"].ToString();
                        email    = virtualuser.Rows[0]["email"].ToString();
                        cf       = virtualuser.Rows[0]["cf"].ToString();

                        UsrConn.SetUsr("HasVirtualUser", "S");
                        // Controllare se è anche un responsabile
                        // Vediamo se esiste un manager il cui login="******"
                        // se si, assegnamo le due variabili di responsabile come
                        // nel caso "2"
                        filter = QHS.CmpEq("userweb", virtualuser.Rows[0]["username"].ToString());
                        DataTable manager = UsrConn.RUN_SELECT("manager", "*", null, filter, null, false);
                        if (manager != null && manager.Rows.Count != 0)
                        {
                            Session["Responsabile"]       = manager.Rows[0]["title"].ToString();
                            Session["CodiceResponsabile"] = manager.Rows[0]["idman"];
                        }

                        EasySecurity sec = UsrConn.Security as EasySecurity;
                        UsrConn.externalUser = NomeUtente;
                        sec.SetSys("user", user);
                        sec.SetUsr("usergrouplist", null);
                        sec.CalculateGroupList();
                        sec.RecalcUserEnvironment();
                        sec.ReadAllGroupOperations();
                        sec.SetUsr("forename", forename);
                        sec.SetUsr("surname", lastname);
                        sec.SetUsr("email", email);
                        sec.SetUsr("cf", cf);
                        if (!CambioDataConsentita(UsrConn, D))
                        {
                            labExtMessage.Text = "Accesso non consentito in tale data \rin base alla gestione della sicurezza.";
                            lblMessaggio.Text  = "Accesso negato";
                            return;
                        }
                    }
                    else
                    {
                        if (ldapauthok)
                        {
                            lblMessaggio.Text = "Utente non valido.";
                            return;
                        }
                    }
                }



                if (rbTipuUtente.SelectedValue == "4")
                {
                    Session["TipoUtente"]     = "Utente LDAP";
                    Session["Utente"]         = forename + " " + lastname;
                    Session["PasswordUtente"] = Password;
                }

                StampaReport(UsrConn, cf);


                //Response.Redirect("IndiceReport.aspx");
            }
        }