public void SessionAtributesTest() { using (var schema = ChebayDBPublic.CreatePublic()) { IDALTienda handler = new DALTiendaEF(); AtributoSesion[] atr = { new AtributoSesion { AdministradorID = "Admin1", AtributoSesionID = "Cache", Datos = "algo" }, new AtributoSesion { AdministradorID = "Admin1", AtributoSesionID = "Cache2", Datos = "algo2" }, new AtributoSesion { AdministradorID = "Admin1", AtributoSesionID = "Cache2", Datos = "distinto" } }; foreach (var a in atr) { handler.AgregarAtributoSesion(a); } Console.WriteLine("Atributos del usuario admin."); foreach (var a in handler.ObtenerAtributosSesion("Admin1")) { Console.WriteLine(a.AtributoSesionID + " " + a.Datos); } } }
public async Task <ActionResult> Register(RegisterViewModel model) { if (ModelState.IsValid) { IDALTienda idalt = new DALTiendaEF(); Administrador admin = new Administrador { AdministradorID = model.Email, password = model.Password }; idalt.AgregarAdministrador(admin); var user = new ApplicationUser { UserName = model.Email, Email = model.Email }; var result = await UserManager.CreateAsync(user, model.Password); if (result.Succeeded) { await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false); // Para obtener más información sobre cómo habilitar la confirmación de cuenta y el restablecimiento de contraseña, visite http://go.microsoft.com/fwlink/?LinkID=320771 // Enviar correo electrónico con este vínculo // string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id); // var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme); // await UserManager.SendEmailAsync(user.Id, "Confirmar cuenta", "Para confirmar la cuenta, haga clic <a href=\"" + callbackUrl + "\">aquí</a>"); return(RedirectToAction("Index", "Home")); } AddErrors(result); } // Si llegamos a este punto, es que se ha producido un error y volvemos a mostrar el formulario return(View(model)); }
public void cargarPersonalizacion(string url) { try { //Personalizacion IDALTienda it = new DALTiendaEF(); String fileName = "_ViewStart.cshtml"; var filePath = Path.Combine(System.Web.HttpContext.Current.Server.MapPath("~/Views"), fileName); Personalizacion p = it.ObtenerPersonalizacionTienda(url); String layout = "@{Layout = \"~/Views/Shared/_Layout.cshtml\";}"; if (p.template != null && p.template == 1) { layout = "@{Layout = \"~/Views/Shared/_Layout.cshtml\";}"; String cssFileName = "orangeStyle.css"; var cssFilePath = Path.Combine(System.Web.HttpContext.Current.Server.MapPath("~/Content/personalizacion/EstiloUno"), cssFileName); if (p.css != null) { //Escribir css System.IO.File.WriteAllText(cssFilePath, p.css); } else { var orangePath = Path.Combine(System.Web.HttpContext.Current.Server.MapPath("~/Content/personalizacion/EstiloUno"), "orangeStyle_backup.css"); String orangeStyle = System.IO.File.ReadAllText(orangePath); System.IO.File.WriteAllText(cssFilePath, orangeStyle); } } else if (p.template != null && p.template == 2) { layout = "@{Layout = \"~/Views/Shared/_Layout2.cshtml\";}"; String cssFile = "fixes.css"; String cssFileBackup = "fixes_backup.css"; var cssPathBackup = Path.Combine(System.Web.HttpContext.Current.Server.MapPath("~/Content/personalizacion/EstiloDos"), cssFileBackup); //Original css String cssText = System.IO.File.ReadAllText(cssPathBackup); var imgUrl = ""; if (p.backgroud_image != null) { imgUrl = Request.Url.Scheme + "://" + Request.Url.Authority + "/" + url + "/Product/getTiendaImg"; } else { //Por default imgUrl = "images/bg01.png"; } cssText = cssText.Replace("body {}", "body {background-image: url(" + imgUrl + ")}"); //Escribimos el css editado var cssPath = Path.Combine(System.Web.HttpContext.Current.Server.MapPath("~/Content/personalizacion/EstiloDos"), cssFile); System.IO.File.WriteAllText(cssPath, cssText); } Session["Tienda_Desc"] = p.tienda.descripcion; //Escribimos el layout a usar que carga todos los css para esa pers. System.IO.File.WriteAllText(filePath, layout); } catch (Exception ex) { } }
public async Task <ActionResult> ExternalLoginCallback(string returnUrl) { var loginInfo = await AuthenticationManager.GetExternalLoginInfoAsync(); if (loginInfo == null) { return(RedirectToAction("Login")); } // Si el usuario ya tiene un inicio de sesión, iniciar sesión del usuario con este proveedor de inicio de sesión externo var result = await SignInManager.ExternalSignInAsync(loginInfo, isPersistent : false); switch (result) { case SignInStatus.Success: IDALTienda dalT = new DALTiendaEF(); Administrador admin; try { admin = dalT.ObtenerAdministrador(loginInfo.Email); } catch (Exception e) { admin = new Administrador { AdministradorID = loginInfo.Email, password = "" }; try { dalT.AgregarAdministrador(admin); } catch (Exception e2) { Debug.WriteLine(e2.Message); } } return(RedirectToLocal(returnUrl)); case SignInStatus.LockedOut: return(View("Lockout")); case SignInStatus.RequiresVerification: return(RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = false })); case SignInStatus.Failure: default: // Si el usuario no tiene ninguna cuenta, solicitar que cree una ViewBag.ReturnUrl = returnUrl; ViewBag.LoginProvider = loginInfo.Login.LoginProvider; return(View("ExternalLoginConfirmation", new ExternalLoginConfirmationViewModel { Email = loginInfo.Email })); } }
public String[] Get() { IDALTienda it = new DALTiendaEF(); List <Tienda> lt = it.ObtenerTodasTiendas(); String[] ret = new String[lt.Count]; int i = 0; foreach (Tienda t in lt) { ret[i] = t.TiendaID; i++; } return(ret); }
// Please set the following connection strings in app.config for this WebJob to run: // AzureWebJobsDashboard and AzureWebJobsStorage //Hace broadcast a topic, para todas las instancias del worker role. static void Main() { string QueueName = "recomendacion"; string connectionString = CloudConfigurationManager.GetSetting("Microsoft.ServiceBus.ConnectionString"); QueueClient Client; Client = QueueClient.CreateFromConnectionString(connectionString, QueueName); IDALTienda tdal = new DALTiendaEF(); var tiendas = tdal.ObtenerTodasTiendas(); foreach (var t in tiendas) { Console.WriteLine(t.TiendaID); var message = new BrokeredMessage(t.TiendaID); Client.Send(message); } }
public async Task <ActionResult> Login(LoginViewModel model, string returnUrl) { if (!ModelState.IsValid) { return(View(model)); } // No cuenta los errores de inicio de sesión para el bloqueo de la cuenta // Para permitir que los errores de contraseña desencadenen el bloqueo de la cuenta, cambie a shouldLockout: true // Valido en nuestra bd, posteriormente con Identity IDALTienda idal = new DALTiendaEF(); try { bool aut = idal.AutenticarAdministrador(model.Email, model.Password); } catch (Exception e) { ModelState.AddModelError("", "Intento de inicio de sesión no válido."); return(View(model)); } var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout : false); switch (result) { case SignInStatus.Success: return(RedirectToLocal(returnUrl)); case SignInStatus.LockedOut: return(View("Lockout")); case SignInStatus.RequiresVerification: return(RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = model.RememberMe })); case SignInStatus.Failure: default: ModelState.AddModelError("", "Intento de inicio de sesión no válido."); return(View(model)); } }
public ActionResult AgregarCategoria(DatosCategoriaNueva datos) { try { string idAdmin = User.Identity.Name; List <AtributoSesion> atributos = idalTienda.ObtenerAtributosSesion(idAdmin); AtributoSesion tienda = null; foreach (AtributoSesion a in atributos) { if (a.AtributoSesionID.Equals("tienda")) { tienda = a; break; } } if (datos.tipoCategoria.Equals("compuesta")) { Categoria catCompuesta = new CategoriaCompuesta(); IDALTienda idal = new DALTiendaEF(); catCompuesta.padre = (CategoriaCompuesta)idal.ObtenerCategoria(tienda.Datos, datos.padre); catCompuesta.Nombre = datos.nombre; idal.AgregarCategoria(catCompuesta, tienda.Datos); } else if (datos.tipoCategoria.Equals("simple")) { Categoria catSimple = new CategoriaSimple(); IDALTienda idal = new DALTiendaEF(); catSimple.padre = (CategoriaCompuesta)idal.ObtenerCategoria(tienda.Datos, datos.padre); catSimple.Nombre = datos.nombre; idal.AgregarCategoria(catSimple, tienda.Datos); } var result = new { Success = "True", Message = "Se han guardado los datos generales correctamente" }; return(Json(result, JsonRequestBehavior.AllowGet)); } catch (Exception e) { var result = new { Success = "False", Message = "Error al guardar los datos generales" }; return(Json(result, JsonRequestBehavior.AllowGet)); } }
public void Run(string tiendaID) { IDALUsuario udal = new DALUsuarioEF(); IDALTienda tdal = new DALTiendaEF(); IDALSubasta sdat = new DALSubastaEF(); Tienda tienda = tdal.ObtenerTienda(tiendaID); List <Producto> productos = sdat.ObtenerTodosProductos(tienda.TiendaID); //obtengo algoritmo Personalizacion pers = tdal.ObtenerPersonalizacionTienda(tienda.TiendaID); List <Usuario> usuarios = udal.ObtenerTodosUsuariosFull(tienda.TiendaID); bool defaultalgorithm = false; if (pers.algoritmo == null || pers.algoritmo.Length == 0) { defaultalgorithm = true; } //creo indice Task index = udal.InicializarColeccionRecomendaciones(tienda.TiendaID); index.Wait(); foreach (var user in usuarios) { if (defaultalgorithm) { Algorithms def = new Algorithms(); def.default_recomendation_algorithm(productos, user, tienda.TiendaID); } else { Algorithms a = new Algorithms(); a.custom_algorithm(pers, productos, user, tienda.TiendaID); } }//IF tienda es de instancia... }
public void AgregarProducto() { Producto p = new Producto { nombre = "Celular", UsuarioID = "userPrueba", CategoriaID = 3, descripcion = "Es un celular", precio_base_subasta = 100, precio_compra = 2000, fecha_cierre = new DateTime(2015, 10, 27) }; IDALTienda it = new DALTiendaEF(); idal.AgregarProducto(p, urlTest); p = new Producto { nombre = "Laptop", UsuarioID = "userPrueba", CategoriaID = 3, descripcion = "Es una Toshiba", precio_base_subasta = 1000, precio_compra = 3000, fecha_cierre = new DateTime(2016, 3, 27) }; idal.AgregarProducto(p, urlTest); p = new Producto { nombre = "Televisión", UsuarioID = "userPrueba", CategoriaID = 3, descripcion = "Es una Samsung", precio_base_subasta = 750, precio_compra = 3000, fecha_cierre = new DateTime(2016, 9, 7) }; idal.AgregarProducto(p, urlTest); p = new Producto { nombre = "Caballo", UsuarioID = "userPrueba", CategoriaID = 3, descripcion = "Es una yegua", precio_base_subasta = 1000, precio_compra = 20000, fecha_cierre = new DateTime(2015, 7, 10) }; idal.AgregarProducto(p, urlTest); p = new Producto { nombre = "Perro", UsuarioID = "userPrueba", CategoriaID = 3, descripcion = "Es una cocker", precio_base_subasta = 30, precio_compra = 2000, fecha_cierre = new DateTime(2015, 6, 6) }; idal.AgregarProducto(p, urlTest); p = new Producto { nombre = "Iguana", UsuarioID = "userPrueba", CategoriaID = 3, descripcion = "Es una iguana", precio_base_subasta = 500, precio_compra = 2000, fecha_cierre = new DateTime(2015, 6, 12) }; idal.AgregarProducto(p, urlTest); p = new Producto { nombre = "Gato", UsuarioID = "userPrueba", CategoriaID = 3, descripcion = "Es una siames", precio_base_subasta = 70, precio_compra = 2000, fecha_cierre = new DateTime(2015, 6, 14) }; idal.AgregarProducto(p, urlTest); p = new Producto { nombre = "Ratón", UsuarioID = "userPrueba", CategoriaID = 3, descripcion = "Es un ratón", precio_base_subasta = 10, precio_compra = 2000, fecha_cierre = new DateTime(2015, 6, 6) }; idal.AgregarProducto(p, urlTest); p = new Producto { nombre = "Vaca", UsuarioID = "userPrueba", CategoriaID = 3, descripcion = "Es un hereford", precio_base_subasta = 1200, precio_compra = 2000, fecha_cierre = new DateTime(2015, 6, 16) }; idal.AgregarProducto(p, urlTest); p = new Producto { nombre = "Toro", UsuarioID = "userPrueba", CategoriaID = 3, descripcion = "Es un toro", precio_base_subasta = 140, precio_compra = 2000, fecha_cierre = new DateTime(2015, 6, 16) }; idal.AgregarProducto(p, urlTest); /*Producto ret = idal.ObtenerProducto(1, urlTest); * Assert.AreEqual("Celular", p.nombre); * Assert.AreEqual("userPrueba", p.UsuarioID); * Assert.AreEqual("Es un celular", p.descripcion); * Assert.AreEqual(100, p.precio_base_subasta); * Assert.AreEqual(2000, p.precio_compra); * Assert.AreEqual(new DateTime(1993, 3, 27), p.fecha_cierre); * Assert.AreEqual(3, p.CategoriaID);*/ }