Пример #1
0
        /// <summary>
        /// User Login
        /// </summary>
        /// <param name="page">Page</param>
        /// <param name="login">UserLogin</param>
        /// <param name="loginResult">LoginResult</param>
        /// <param name="ipaddress">string</param>
        /// <returns>Utente</returns>
        public static Utente Login(Page page, DocsPaWR.UserLogin login,
                                   out DocsPaWR.LoginResult loginResult, out string ipaddress)
        {
            Utente utente = null;

            loginResult = DocsPaWR.LoginResult.OK;
            ipaddress   = string.Empty;
            try
            {
                loginResult = docsPaWS.Login(login, false, page.Session.SessionID, out utente, out ipaddress);
            }
            catch (Exception exception)
            {
                //logger.Debug("Login Error", exception);
                loginResult = DocsPaWR.LoginResult.APPLICATION_ERROR;
                utente      = null;
            }
            //catch (System.Exception ex)
            //{
            //    UIManager.AdministrationManager.DiagnosticError(ex);
            //    return null;
            //}

            return(utente);
        }
Пример #2
0
        /// <summary>
        /// Forced User Login
        /// </summary>
        /// <param name="login">UserLogin</param>
        /// <param name="loginResult">LoginResult</param>
        /// <returns>Utente</returns>
        public static Utente ForcedLogin(Page page, DocsPaWR.UserLogin login, out DocsPaWR.LoginResult loginResult)
        {
            Utente user = null;

            loginResult = DocsPaWR.LoginResult.OK;
            string ipaddress;

            try
            {
                loginResult = docsPaWS.Login(login, true, page.Session.SessionID, out user, out ipaddress);
            }
            catch (Exception exception)
            {
                //logger.Debug("Login Error", exception);
                loginResult = DocsPaWR.LoginResult.APPLICATION_ERROR;
                user        = null;
            }
            //catch (System.Exception ex)
            //{
            //    UIManager.AdministrationManager.DiagnosticError(ex);
            //    return null;
            //}
            return(user);
        }
Пример #3
0
        //protected static DocsPaWR.DocsPaWebService wss = new DocsPaWR.DocsPaWebService();

        public static DocsPaWR.Utente login(Page page, DocsPaWR.UserLogin login,
                                            out DocsPaWR.LoginResult loginResult, out string ipaddress)
        {
            DocsPaWR.Utente utente = null;
            loginResult = DocsPaWR.LoginResult.OK;
            ipaddress   = "";

            try
            {
                loginResult = wss.Login(login, false, page.Session.SessionID, out utente, out ipaddress);
            }
            catch (Exception e)
            {
                //string msg = "Login Error";
                //DocsPaUtils.LogsManagement.Debugger.Write(msg, exception);

                loginResult = DocsPaWR.LoginResult.APPLICATION_ERROR;
                utente      = null;

                Debugger.Write("Errore nel login result: " + e.Message);
            }

            return(utente);
        }
Пример #4
0
 public static DocsPAWA.DocsPaWR.Utente EsercitaDelega(Page page, DocsPaWR.UserLogin userLogin, string id_delega, string id_ruoloDelegante, out DocsPaWR.LoginResult loginResult)
 {
     //verifica che l'utente delegante non sia connesso
     //chiamata al metodo che alla login riempe per la prima volta l'oggetto infoUtente;
     DocsPAWA.DocsPaWR.InfoUtente infoUtente = UserManager.getInfoUtente(page);
     DocsPAWA.DocsPaWR.Utente     utente     = null;
     utente = docsPaWS.DelegaEsercita(infoUtente, userLogin, page.Session.SessionID, id_delega, id_ruoloDelegante, out loginResult);
     return(utente);
 }
Пример #5
0
        public static DocsPaWR.Utente ForcedLogin(Page page, DocsPaWR.UserLogin login, out DocsPaWR.LoginResult loginResult)
        {
            DocsPaWR.Utente utente = null;
            loginResult = DocsPaWR.LoginResult.OK;
            string ipaddress;

            try
            {
                loginResult = wss.Login(login, true, page.Session.SessionID, out utente, out ipaddress);
            }
            catch (Exception ex)
            {
                loginResult = DocsPaWR.LoginResult.APPLICATION_ERROR;
                utente      = null;
                Debugger.Write("Errore nella ForcedLogin: " + ex.Message);
            }

            return(utente);
        }
Пример #6
0
        static void Main(string[] args)
        {
            XmlConfigurator.Configure();

            string    myDir           = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);
            string    configFile      = myDir + "\\Config\\multistampa.ini";
            string    modelFile       = myDir + "\\Config\\model.config";
            string    printBinary     = myDir + "\\Stamparegistri\\StampaRegistri.exe";
            string    printWorkdir    = myDir + "\\Stamparegistri";
            string    printConfigFile = myDir + "\\Stamparegistri\\StampaRegistri.exe.config";
            string    printUserPrefix = String.Empty;
            string    printPassword   = String.Empty;
            ArrayList admBlackList    = new ArrayList();
            DateTime  d        = DateTime.Now;
            string    filename = myDir + "\\" + d.ToString("yyyyMMdd") + "_multistampa.log";

            try
            {
                writeLog("Multistampa registro v1.0.7\nReading config...");

                ConfigManager config = new ConfigManager(configFile);

                if (config.ExistKey("PRINTUSERPREFIX"))
                {
                    printUserPrefix = config.GetValue("PRINTUSERPREFIX");
                }

                if (config.ExistKey("PRINTPWD"))
                {
                    printPassword = config.GetValue("PRINTPWD");
                }

                if (config.ExistKey("BLACKLIST"))
                {
                    string val = config.GetValue("BLACKLIST");

                    admBlackList.AddRange(val.Split(';'));

                    writeLog(admBlackList.Count + " blacklisted administrations found.");
                }

                DocsPaWR.Amministrazione[] ammWSlist = null;
                string resultmsg = string.Empty;

                DocsPaWR.DocsPaWebService WS = new DocsPaWR.DocsPaWebService();
                WS.Timeout = System.Threading.Timeout.Infinite;
                ammWSlist  = WS.amministrazioneGetAmministrazioni(out resultmsg);

                writeLog(ammWSlist.Length + " administrations found.");

                int okCount   = 0;
                int errCount  = 0;
                int blkCount  = 0;
                int unknCount = 0;

                foreach (DocsPaWR.Amministrazione amm in ammWSlist)
                {
                    writeLog("-----------------------------------");

                    string idAmm          = "" + amm.systemId;
                    string codAmm         = "" + amm.codice;
                    string descAmm        = "" + amm.descrizione;
                    string printUser      = codAmm + printUserPrefix;
                    string logPath        = codAmm;
                    string logPathHistory = codAmm + "\\History";
                    string ipaddress      = String.Empty;

                    DocsPaWR.Utente    utente    = null;
                    DocsPaWR.UserLogin userLogin = new DocsPaWR.UserLogin();
                    userLogin.UserName          = printUser;
                    userLogin.Password          = printPassword;
                    userLogin.IdAmministrazione = amm.systemId;

                    DocsPaWR.LoginResult lr = WS.Login(userLogin, true, Guid.NewGuid().ToString(), out utente, out ipaddress);

                    if (utente == null)
                    {
                        writeLog("Utente non loggato in DocsPA: " + printUser + " per idAmm: " + amm.systemId);
                    }
                    else
                    {
                        WS.Logoff(utente.userId, utente.idAmministrazione, utente.sessionID, utente.dst);

                        // verificare che ruoli e registri siano valorizzati
                        if (utente.ruoli == null || utente.ruoli[0] == null)
                        {
                            writeLog("Ruoli non configurati per utente: " + printUser + " per idAmm: " + amm.systemId);
                        }
                        else
                        {
                            if (utente.ruoli[0].registri == null || utente.ruoli[0].registri[0] == null)
                            {
                                writeLog("Registri non configurati per utente: " + printUser + " per idAmm: " + amm.systemId);
                            }
                            else
                            {
                                foreach (DocsPaWR.Registro registro in utente.ruoli[0].registri)
                                {
                                    string idRegistro = registro.systemId;

                                    // Skip if blacklisted
                                    if (admBlackList.Contains(codAmm))
                                    {
                                        writeLog("Skipped print for " + codAmm + " - " + descAmm + ". Blacklisted.");
                                        blkCount++;
                                        continue;
                                    }

                                    // Delete current print config
                                    if (System.IO.File.Exists(printConfigFile))
                                    {
                                        File.Delete(printConfigFile);
                                    }

                                    String logString = "Writing config for " + codAmm + " - " + descAmm + " (" + idAmm + ") " + "user: "******"_IDAMM_", idAmm);
                                        newline = newline.Replace("_USERNAME_", printUser);
                                        newline = newline.Replace("_PASSWORD_", printPassword);
                                        newline = newline.Replace("_LOGPATH_", logPath);
                                        newline = newline.Replace("_LOGPATHHISTORY_", logPathHistory);
                                        newline = newline.Replace("_IDREGISTRO_", idRegistro);
                                        configWriter.WriteLine(newline);
                                    }

                                    configWriter.Flush();
                                    configWriter.Close();

                                    writeLog("Running print service...");

                                    RunResults exeResult = null;
                                    try
                                    {
                                        exeResult = RunExecutable(printBinary, "", printWorkdir);
                                    }
                                    catch (Exception e)
                                    {
                                        writeLog("Error running print service:" + e.Message);
                                    }

                                    string output = exeResult.Output.ToString();
                                    writeLog(output);

                                    if (output.Contains("Docspa fallita"))  // login failed
                                    {
                                        writeLog("Print ERROR - Login failed");
                                        errCount++;
                                    }
                                    else if (output.Contains("Stampa del registro fallita"))  // nothing to print or file chars error (invalid chars in reg desc)
                                    {
                                        if (output.Contains("Non ci sono protocolli da stampare"))
                                        {
                                            writeLog("Print OK");
                                            okCount++;
                                        }
                                        else
                                        {
                                            writeLog("Print ERROR - Check print log for details");
                                            errCount++;
                                        }
                                    }
                                    else if (output.Contains("Docspa eseguita")) // login ok
                                    {
                                        writeLog("Print OK");
                                        okCount++;
                                    }
                                    else
                                    {
                                        writeLog("Print returned an unknown status. See print log for details.");
                                        unknCount++;
                                    }

                                    // Console.ReadKey();
                                }
                            }
                        }
                    }
                }

                writeLog("-----------------------------------");
                writeLog("Print process finished. OK: " + okCount + ", ERRORS: " + errCount + ", BLACKLISTED: " + blkCount + ", UNKNOWN: " + unknCount + " over a total of " + ammWSlist.Length);
            }
            catch (Exception e)
            {
                writeLog("Ex: " + e.Message + "\nStack: " + e.StackTrace);
            }
        }