/*static LocalDataStoreSlot local; * private String tenantID; * static LocalDataStoreSlot tenant = Thread.AllocateNamedDataSlot("Tenant");*/ //GET: Tenant/ public ActionResult Index(string id) { log.Warn("TENANT CONTROLLER SITIO = " + id); tenantID = id; System.Diagnostics.Debug.WriteLine("ID tenant :" + tenantID); if (_ibl.ExisteSitio(tenantID)) { // System.Web.HttpContext.Current.Session.Clear(); /*System.Diagnostics.Debug.WriteLine("ID tenant :" + id); * System.Diagnostics.Debug.WriteLine("Tenant"); * ViewBag.Message = id; * Session["sitio"] = new Sitio { dominio =id }; * * System.Threading.ThreadLocal<String> tenant; * * ThreadLocal<string> tenant_thread = new ThreadLocal<string>(() => * { * return id; * }); * * tenant_thread.Value.ToString(); */ /*local = Thread.GetNamedDataSlot("tenant"); * if (local == null) { * * local = Thread.AllocateNamedDataSlot("tenant"); * } * Thread.SetData(local, id); * string valor_Tenant = System.Threading.Thread.GetData(local).ToString();*/ if (System.Web.HttpContext.Current.Session["usuario"] == null) { System.Web.HttpContext.Current.Session["usuario"] = new UsuarioSite(); } //if (user == null) Session["usuario"] = new UsuarioSite(); //System.Web.HttpContext.Current.Session["usuario"] = user; if (System.Web.HttpContext.Current.Session["datosTienda"] == null) { System.Web.HttpContext.Current.Session["datosTienda"] = new TiendaTenant(); } if (System.Web.HttpContext.Current.Session["estilo"] == null) { System.Web.HttpContext.Current.Session["estilo"] = new EstiloTienda(); } user = System.Web.HttpContext.Current.Session["usuario"] as UsuarioSite; user.Dominio = tenantID; user.idTienda = _ibl.ObtenerIdTenant(tenantID); t = System.Web.HttpContext.Current.Session["datosTienda"] as TiendaTenant; estilo = System.Web.HttpContext.Current.Session["estilo"] as EstiloTienda; t = _ibl.ObtenerDatosTenant(user.idTienda); estilo.css = CrearCss(t.Css, t.Nombre); List <ImagenesTenant> imagenesT = _ibl.ObtenerImgTenant(user.idTienda); System.Web.HttpContext.Current.Session["datosTienda"] = t; System.Web.HttpContext.Current.Session["estilo"] = estilo; System.Web.HttpContext.Current.Session["usuario"] = user; var lista_Subastas = _sub.ObtenerSubastas(tenantID); List <Subasta> ls_Subastas_Subasta = new List <Subasta>(); foreach (Subasta item in lista_Subastas) { if (item.finalizado == Crosscutting.Enum.TipoFinalizacion.Subasta) { ls_Subastas_Subasta.Add(item); } } List <Subasta> ls_Subastas_Directa = new List <Subasta>(); foreach (Subasta item in lista_Subastas) { if (item.finalizado == Crosscutting.Enum.TipoFinalizacion.Compra_directa) { ls_Subastas_Directa.Add(item); } } List <Subasta> lista_Subastas_Activas = new List <Subasta>(); foreach (Subasta element in lista_Subastas) { if (element.estado == Crosscutting.Enum.EstadoTransaccion.Activa) { lista_Subastas_Activas.Add(element); } } List <Subasta> lista_Subastas_compraDirecta = new List <Subasta>(); foreach (Subasta element in lista_Subastas_compraDirecta) { if (element.finalizado == Crosscutting.Enum.TipoFinalizacion.Compra_directa) { lista_Subastas_compraDirecta.Add(element); } } ViewBag.ListaCategorias = proIBL.ObtenerCategoriasPorTienda(user.idTienda); ViewBag.ListaImagenes = imagenesT; ViewBag.ListarSubastas = lista_Subastas; ViewBag.ListarSubastasActivas = lista_Subastas_Activas; ViewBag.ListarSubastasSubasta = lista_Subastas; ViewBag.ListarSubastasDirecta = lista_Subastas_compraDirecta; /////////// RamdomRecomendaciones recom = new RamdomRecomendaciones(); IBLUsuario usuIBL = new BLUsuario(); var idUsuario = usuIBL.ObtenerIdByEmail(tenantID, user.Email); int idTenant = _ibl.ObtenerIdTenant(tenantID); List <Subasta> prodsfav = recom.AlgRecomen(idTenant, idUsuario);/////////////RECOMENDACIONES////////////////////////////// ViewBag.Recomendadas = prodsfav.ToList(); return(View()); //System.Diagnostics.Debug.WriteLine(" Dominio en sesion " + user.Dominio.ToString()); //Thread t = Thread.CurrentThread; //System.Diagnostics.Debug.WriteLine(" Tenant Controller . desde el thread: "+ valor_Tenant); } else { Session.Clear(); return(RedirectToActionPermanent("Error")); } }