Exemplo n.º 1
0
        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);
                }
            }
        }
Exemplo n.º 2
0
        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));
        }
Exemplo n.º 3
0
        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) {
            }
        }
Exemplo n.º 4
0
        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
                }));
            }
        }
Exemplo n.º 5
0
        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);
        }
Exemplo n.º 6
0
        // 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);
            }
        }
Exemplo n.º 7
0
        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));
            }
        }
Exemplo n.º 8
0
 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));
     }
 }
Exemplo n.º 9
0
        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...
        }
Exemplo n.º 10
0
        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);*/
        }