Ejemplo n.º 1
0
        /// <summary>
        /// Desde este metodo será la unica forma de crear una nueva session para un tenant logeado
        /// </summary>
        /// <param name="empresa"></param>
        /// <param name="usuario"></param>
        /// <returns></returns>
        public static Tenant Create(string empresa, string usuario)
        {
            //validaciones
            if (empresa == null)
            {
                throw new ArgumentNullException("empresa");
            }
            if (usuario == null)
            {
                throw new ArgumentNullException("usuario");
            }

            string tenantCustomerCookieValue = CookieUtils.GetCurrentCookieCustomerValue();
            bool   empresaCargada            = !string.IsNullOrEmpty(tenantCustomerCookieValue);
            var    tenantUserCookieValue     = CookieUtils.GetCookieValue(TenantWebExample.TenantConstants.CookieUser);
            bool   userCargado = !string.IsNullOrEmpty(tenantUserCookieValue);

            if (empresaCargada || userCargado)
            {
                throw new Exception(string.Format("El usuario {0} ya se encuentra logeado en la empresa {1}", tenantCustomerCookieValue ?? string.Empty, tenantUserCookieValue ?? string.Empty));
            }

            //aqui pueden encriptar los nombres de la cookie.
            CookieUtils.CreateCookie(TenantWebExample.TenantConstants.CookieEmpresa, empresa);
            CookieUtils.CreateCookie(TenantWebExample.TenantConstants.CookieUser, usuario);

            //Fluent por si se quisiera hacer algo con el tenant actual creado....
            return(new Tenant());
        }
Ejemplo n.º 2
0
 public static bool IsLogged()
 {
     return(!string.IsNullOrEmpty(CookieUtils.GetCurrentCookieCustomerValue()));
 }