/// <summary> /// Si collega al dipartimento "codice" con un determinato user e pwd. /// Se user e pwd sono nulle accede con un utente predefinito. /// </summary> /// <param name="codice">Codice dipartimento.</param> /// <param name="user">Nome utente.</param> /// <param name="pwd">Password.</param> /// <param name="datacontabile">Data contabile.</param> void ConnectToDepartment(string codice, string user, string pwd, DateTime datacontabile) { string error; DataAccess Conn = GetVars.GetSystemDataAccess(this, out error); MetaMasterBootstrap master = Page.Master as MetaMasterBootstrap; master?.setUniversita(Session["system_config_nome_universita"] as string); if (codice.Trim().Length == 0) { labExtMessage.Text = "Non è stato selezionato alcun dipartimento"; return; } //Attenzione: leggere da XML IP del server e NomeDB //Inserire da codice NomeUtente e Password string filterdip = "(codicedipartimento=" + QueryCreator.quotedstrvalue(codice, true) + ")"; DataTable CodDip = Conn.RUN_SELECT("codicidipartimenti", "*", null, filterdip, null, true); if ((CodDip == null) || (CodDip.Rows.Count == 0)) { //Dati non corretti WebLog.Log(this, codice + ": Codice non corretto"); labExtMessage.Text = "Il codice inserito non è corretto."; return; } if (CodDip.Rows.Count > 1) { //Attenzione nel DB non è garantita l'unicità dei dati. labExtMessage.Text = "Chiedere al Responsabile del servizio " + "l'assegnazione di un nuovo Codice"; WebLog.Log(this, "Attenzione!!! Duplicazione di codici per " + codice); return; } string err = ""; DataRow myDr = CodDip.Rows[0]; Session["Dipartimento"] = myDr["Dipartimento"].ToString(); //Creo la connessione. DataAccess UsrConn = GetVars.CreateUserConn(this, myDr, user, pwd, datacontabile, out err); if (UsrConn == null) { err = "Connessione per l'utente '" + user + "' rifiutata. <br/> Controllare Nome Utente e/o Password"; string err2 = "Connessione al db del dipartimento " + codice + " non riuscita. <br/>" + err; labExtMessage.Text = err2; WebLog.Log(this, err2); return; } }
DataAccess GetDepAccess(DataAccess Conn, string dep) { QueryHelper QHS = Conn.GetQueryHelper(); string filterdip = QHS.CmpEq("codicedipartimento", dep); DataTable CodDip = Conn.RUN_SELECT("codicidipartimenti", "*", null, filterdip, null, true); if ((CodDip == null) || (CodDip.Rows.Count == 0)) { //Dati non corretti Error(dep + ": Codice non corretto"); return(null); } if (CodDip.Rows.Count > 1) { //Attenzione nel DB non è garantita l'unicità dei dati. Error("Attenzione !!! Duplicazione di codici per " + dep); return(null); } string err = ""; DataRow myDr = CodDip.Rows[0]; //Session["Dipartimento"] = myDr["Dipartimento"].ToString(); //Creo la connessione. DataAccess UsrConn = GetVars.CreateUserConn(this, myDr, null, null, DateTime.Now, out err); if (UsrConn == null) { Error("Connessione al db del dipartimento " + dep + " non riuscita. "); return(null); } return(UsrConn); }
bool ConnectToDepartment(string codice, string user, string pwd, DateTime datacontabile) { string error; DataAccess Conn = GetVars.GetSystemDataAccess(this, out error); if (codice.Trim().Length == 0) { lblError.Text = "Non è stato selezionato alcun dipartimento"; return(false); } if (user == "") { lblError.Text = "Nessun nome utente specificato"; return(false); } if (pwd == "") { lblError.Text = "Nessuna password specificata"; return(false); } Session["DBSysConn"] = Conn; //Attenzione: leggere da XML IP del server e NomeDB //Inserire da codice NomeUtente e Password string filterdip = "(codicedipartimento=" + QueryCreator.quotedstrvalue(codice, true) + ")"; DataTable CodDip = Conn.RUN_SELECT("codicidipartimenti", "*", null, filterdip, null, true); if ((CodDip == null) || (CodDip.Rows.Count == 0)) { //Dati non corretti lblError.Text = "Il codice inserito non è corretto."; return(false); } if (CodDip.Rows.Count > 1) { //Attenzione nel DB non è garantita l'unicità dei dati. lblError.Text = "Chiedere al Responsabile del servizio " + "l'assegnazione di un nuovo Codice"; return(false); } string err = ""; DataRow myDr = CodDip.Rows[0]; Session["Dipartimento"] = myDr["Dipartimento"].ToString(); //Creo la connessione. DataAccess UsrConn = GetVars.CreateUserConn(this, myDr, user, pwd, datacontabile, out err); if (UsrConn == null) { err = "Connessione per l'utente '" + user + "' rifiutata. Controllare Nome Utente e/o Password"; string err2 = "Connessione al db del dipartimento " + codice + " non riuscita. <br/>" + err; lblError.Text = err2; return(false); } Session["DBUserConn"] = UsrConn; return(true); }