public List <Subasta> AlgRecomen(int tenantId, int idUsuario) { IBLTenant tiendaIBL = new BLTenant(); var tenant = tiendaIBL.ObtenerDatosTenant(tenantId); IBLFavorito favIBL = new BLFavorito(); List <TprodXCant> tipoProds = favIBL.obtenerTopNtipoProdFav(tenant.Nombre, idUsuario, 3); List <Subasta> prods = getRecomendaciones(tenantId, idUsuario, tipoProds, 6); return(prods); }
public override RouteData GetRouteData(HttpContextBase httpContext) { if (httpContext.Request == null || httpContext.Request.Url == null) { return(null); } var host = httpContext.Request.Url.Host; log.Warn("HOST " + host.ToString()); log.Warn("URL PATH " + httpContext.Request.Url.AbsolutePath); log.Warn("Absolute uri = " + httpContext.Request.Url.AbsoluteUri); var index = host.IndexOf("."); string seg_temp = httpContext.Request.Url.PathAndQuery.Replace("?", "/"); log.Warn("SEGMENTO TEMPORAL= " + seg_temp); string[] segmentos_URL = seg_temp.TrimStart('/').Split('/'); if (index < 0) { return(null); } var subdominio = host.Substring(0, index); log.Warn(subdominio.ToString()); string[] lista_negra = { "backend", "www", "sitio", "chebay" }; IBLTenant _ibl = new BLTenant(); _ibl.ExisteSitio(subdominio.ToString()); if (lista_negra.Contains(subdominio)) { return(null); } log.Warn("paso lista negra"); var routeData = new RouteData(this, new MvcRouteHandler()); string controlador = (segmentos_URL.Length > 0) ? segmentos_URL[0] : "Tenant"; string accion = (segmentos_URL.Length > 1) ? segmentos_URL[1] : "Index"; string id = (segmentos_URL.Length > 2) ? segmentos_URL[2] : ""; if (controlador.Length == 0) { controlador = "Tenant"; } if (accion.Length == 0) { accion = "Index"; } log.Warn("CONTROLADOR: " + controlador + " ACCION " + accion + " id " + id); if (_ibl.ExisteSitio(subdominio)) { log.Warn("Controlador : " + controlador); log.Warn("Accion : " + accion); log.Warn("Id : " + id); routeData.Values.Add("controller", controlador); // Va al controlador correspondiente routeData.Values.Add("action", accion); //Va a la accion correspondiente al controlador if (controlador.Equals("Tenant") && accion.Equals("Index")) { routeData.Values.Add("id", subdominio); } foreach (var item in routeData.Values) { log.Warn("ROUTE DATA IF VALUE : " + item.Value.ToString()); } } else { routeData.Values.Add("controller", "Tenant"); // Va al controlador correspondiente routeData.Values.Add("action", "Error"); //Va a la accion correspondiente al controlador //routeData.Values.Add("id", subdominio); //pasa el subdominio //log.Warn("ROUTE DATA ELSE : " + routeData.Values.ToList().ToArray().ToString()); foreach (var item in routeData.Values) { log.Warn("ROUTE DATA ELSE VALUE : " + item.Value.ToString()); } } log.Warn("RETORNO ROUTE data "); return(routeData); }