Exemplo n.º 1
0
 public System.Data.DataSet _getServicedApplications(int listTop)
 {
     try
     {
         RegistroUso regUso = new RegistroUso();
         return regUso.getFavoritos(listTop);
     }
     catch(System.Exception Ex)
     {
         string errorMessage = ProcessError.getMessageToUser(Ex) + " " + System.Environment.NewLine;
         try
         {
             ProcessError processError = new ProcessError();
             if(processError.GuardarError(Ex, "AzuPass", "_getServicedApplications"))
             {
                 errorMessage = errorMessage + processError.ErrorRecordedNotification;
             }
             processError = null;
         }
         catch(System.Exception)
         {
             ; // No hacer nada si falla el mecanismo de guardar los errores.
         }
     throw new SoapException(errorMessage, SoapException.ClientFaultCode);
         //throw new System.Exception(errorMessage);
     }
 }
Exemplo n.º 2
0
        /// <summary>
        /// Identifica el perfil, chequea si se requiere verificación de la URL de la aplicación cliente y ordena hacerlo 
        /// si es preciso, actualiza el registro de uso a nombre del usuario identificado.
        /// </summary>
        /// <param name="e_mail">email del perfil.</param>
        /// <param name="Passwd">contraseña del perfil.</param>
        /// <param name="clientAppName">Nombre de la aplicación cliente.</param>
        /// <param name="clientAppURL">URL que representa el punto de entrada de la aplicación cliente.</param>
        /// <param name="appState">Estado de la aplicación, "Debug" ó "Release", cuando es debug no se 
        /// realizan algunas funciones y esto aligera la carga, permitiendo que el procedimientos se 
        /// ejecute con más rapidez.</param>
        /// <returns>Devolverá el ID del usuario identificado en caso de ser correctos los elementos 
        /// e_mail y Passwd, en caso contrario devolverá cero (0).</returns>
        private int LogOn(string e_mail, string Passwd, string clientAppName, string clientAppURL, ServicedApplication.enuApplicationState appState)
        {
            int IdPerfil = 0;
            try
            {
                Perfil perfil = new Perfil();
                IdPerfil = perfil.Identificar(e_mail, Passwd, true);
                if(IdPerfil==0)
                {
                    perfil = null;
                    return IdPerfil;
                }
                /*
                    Cuando se indica que la aplicación está aún en modo de depuración,
                    evitar entonces el registro de la misma ya que muchos elementos,
                    entre ellos la URL donde se hospeda, pueden variar.
                */
                if(appState == ServicedApplication.enuApplicationState.Debug)
                {
                    perfil = null;
                    return IdPerfil;
                }

                // Verificar el formato y corregir la URL si es necesario y posible.
                clientAppURL = wsSettings.parseURL(clientAppURL, "minaz.cu");
                System.Uri appUri = new System.Uri(clientAppURL);

                ServicedApplication servicedApplication = new ServicedApplication();
                servicedApplication.ID = servicedApplication.Identificar(clientAppName, appUri);
                if(servicedApplication.ID==0)
                {
                    System.Object[] ArgsServicedApp = {null, clientAppName, appUri.AbsoluteUri, false, System.DateTime.Now};
                    appUri = null;
                    servicedApplication.dsEntidad.Tables[0].Rows[0].ItemArray = ArgsServicedApp;
                    servicedApplication.Agregar();
                }
                RegistroUso regUso = new RegistroUso(0);
                System.Object[] ArgsRegUso = {null, IdPerfil, servicedApplication.ID, System.DateTime.Now};
                regUso.dsEntidad.Tables[0].Rows[0].ItemArray = ArgsRegUso;
                regUso.Agregar();
                regUso = null;

                // Si se exige el chequeo de las URLs y la URL de la aplicación en cuestión no está chequeada ó
                // si ya venció el tiempo y debe volver a ser verificada, entonces verificarla.
                if((wsSettings.InternetAccess.CheckClientAppsURL & !servicedApplication.urlChecked) ||
                    (wsSettings.InternetAccess.CheckClientAppsURL & (servicedApplication.lastURLCheck.AddMonths(wsSettings.InternetAccess.MonthBeforeReCheck) < System.DateTime.Now)))
                {
                    servicedApplication.urlChecked = servicedApplication.isURLReachable();
                    servicedApplication.lastURLCheck = System.DateTime.Now;
                    // Revisar esto porque recuerda que hicistes un cambio en el procedimiento pa_tbl_ServicedApplication_U
                    System.Diagnostics.Debug.WriteLine(servicedApplication.Actualizar());
                }

                servicedApplication = null;
                return IdPerfil;
            }
            catch(System.Exception Ex)
            {
                string errorMessage = ProcessError.getMessageToUser(Ex) + " " + System.Environment.NewLine;
                try
                {
                    ProcessError processError = new ProcessError();
                    if(processError.GuardarError(Ex, "AzuPass", "_LogOn", clientAppName, clientAppURL, IdPerfil))
                    {
                        errorMessage = errorMessage + processError.ErrorRecordedNotification;
                    }
                    processError = null;
                }
                catch(System.Exception)
                {
                    ; // No hacer nada si falla el mecanismo de guardar los errores.
                }
            throw new SoapException(errorMessage, SoapException.ClientFaultCode);
              }
        }