private void llenarDatosBilletera(string correoU)
        {
            BilleteraVirtual billetera = BilleteraLN.obtenerBilleteraUsuario(correoU);

            lblEcoMonedasDisponibles.Text = billetera.EcoMondedasDisponibles.ToString();
            lblEcoMonedasGeneradas.Text   = billetera.EcoMondedasGeneradas.ToString();
            lblEcoMonedasGastadas.Text    = billetera.EcoMondedasCanjeadas.ToString();
        }
Beispiel #2
0
        public string ErrorCantidad()
        {
            BilleteraVirtual bv    = BilleteraLN.obtenerBilleteraUsuario(((Usuario)Session["Usuario"]).CorreoElectronico);
            string           error = "";

            if (bv.EcoMondedasDisponibles < ((Cupon)Session["Cupon"]).EcoMonedasNecesarias)
            {
                error = "No cuenta con EcoMonedas suficientes!";
            }
            return(error);
        }
        public static bool registrarEncabezado(List <CarritoCanje> carritoItems, string correoCliente, string correoAdminC)
        {
            EcoMonedasContext db = new EcoMonedasContext();

            if (correoAdminC != null && carritoItems != null && correoCliente != "" && UsuarioLN.obtenerUsuarioCliente(correoCliente) != null)
            {
                try
                {
                    var miEncabezadoC = new EncabezadoCanje();
                    miEncabezadoC.Fecha          = DateTime.Now;
                    miEncabezadoC.ClienteID      = correoCliente;
                    miEncabezadoC.CentroAcopioID = CentroAcopioLN.obtenerCentroAcopioPorID(correoAdminC).ID;
                    miEncabezadoC.Estado         = true;
                    //Calculos que puede mostrar IMPORTANTE
                    //double calculoCMateriales = carritoItems.Sum(x => x.cantidad);
                    //double calculoTotal = carritoItems.Sum(x => x.subTotal);

                    db.EncabezadoCanjes.Add(miEncabezadoC);
                    db.SaveChanges();

                    int totalEcoM = 0;
                    for (int i = 0; i < carritoItems.Count; i++)
                    {
                        var miDetalle = new DetalleCanje();
                        miDetalle.EncabezadoCanjeID = miEncabezadoC.ID;
                        miDetalle.MaterialID        = carritoItems[i].idMaterial;
                        miDetalle.Cantidad          = carritoItems[i].cantidad;
                        miDetalle.Total             = Convert.ToInt32(carritoItems[i].subTotal);
                        totalEcoM += Convert.ToInt32(carritoItems[i].subTotal);
                        db.DetalleCanjes.Add(miDetalle);
                        db.SaveChanges();
                    }

                    BilleteraVirtual billeteraN = db.BilleteraVirtuals.Where(p => p.ClienteID == correoCliente).First <BilleteraVirtual>();
                    billeteraN.EcoMondedasGeneradas   = billeteraN.EcoMondedasGeneradas + totalEcoM;
                    billeteraN.EcoMondedasDisponibles = billeteraN.EcoMondedasDisponibles + totalEcoM;
                    db.SaveChanges();
                }
                catch (Exception ex)
                {
                    throw ex;
                }
                return(true);
            }
            else
            {
                return(false);
            }
        }
        public ActionResult Create([Bind(Include = "email,nombre,clave,telefono,direccion")] Usuario usuario, string provincia, string repetirClave)
        {
            BilleteraVirtual billetera = new BilleteraVirtual();

            usuario.direccion = provincia + " " + usuario.direccion;
            usuario.idRol     = 3;
            usuario.estado    = true;
            if (ModelState.IsValid)
            {
                if (repetirClave.Equals(usuario.clave))
                {
                    if (!consulta(usuario.email))
                    {
                        billetera.idUsuario = usuario.email;
                        billetera.total     = 0;
                        db.BilleteraVirtual.Add(billetera);
                        db.Usuario.Add(usuario);
                        db.SaveChanges();
                        Session["session"] = usuario;
                        return(RedirectToAction("Index", "Inicio"));
                    }
                    else
                    {
                        TempData["mensajes"] = "Usuario se encuentra registrado";
                        repetirClave         = "";
                    }
                }

                else
                {
                    TempData["mensajes"] = "Las contraseñas no coinciden";
                    repetirClave         = "";
                }
            }

            if (TempData.ContainsKey("mensajes"))
            {
                ViewBag.Mensaje1 = TempData["mensajes"].ToString();
            }
            ViewBag.Provincia = cargarProvinciasDropDownList();
            return(View("TodoPublico", "Inicio", usuario));
        }
Beispiel #5
0
        public ActionResult Cupon(int id)
        {
            Usuario          user      = ((Usuario)Session["session"]);
            BilleteraVirtual billetera = db.BilleteraVirtual.Where(x => x.idUsuario.Equals(user.email)).First();

            historial          historia = new historial();
            CuponesDisponibles cuponD   = new CuponesDisponibles();
            Cupon cupon = db.Cupon.Find(id);


            if (cupon.valor <= billetera.total)
            {
                historia.saldoAnterior         = billetera.total;
                historia.cantMonedasCambiadas += cupon.valor;
                historia.saldoAnterior         = billetera.total;
                historia.fecha        = DateTime.Now;
                historia.idUsuario    = user.email;
                historia.idCupon      = cupon.id;
                cuponD.idUsuario      = user.email;
                cuponD.idCupon        = cupon.id;
                cuponD.usado          = true;
                cuponD.fechaAdquirido = historia.fecha;
                cuponD.idUnico        = cupon.id;
                billetera.total      -= cupon.valor;
                cupon.estado          = false;
                db.CuponesDisponibles.Add(cuponD);
                db.historial.Add(historia);
                db.Entry(billetera).State = EntityState.Modified;
                db.Entry(cupon).State     = EntityState.Modified;
                db.SaveChanges();
            }


            else
            {
                TempData["mensajeCanje"] = "No tiene eco monedas suficientes";
                return(RedirectToAction("ListaCupones"));
            }

            Random ran      = new Random();
            string posibles = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890123456789";
            int    longitud = posibles.Length;
            char   letra;
            int    longitudnuevacadena = 16;
            string nuevacadena         = "";

            for (int i = 0; i < longitudnuevacadena; i++)
            {
                letra        = posibles[ran.Next(longitud)];
                nuevacadena += letra.ToString();
            }

            var query = from r in db.CuponesDisponibles.Where(x => x.idCupon == id)
                        join t in db.Usuario on r.idUsuario equals t.email
                        join c in db.Cupon on r.idCupon equals c.id
                        select new
            {
                c.nombre,
                r.fechaAdquirido,
                c.valor,
                Usuario = t.nombre,
                codigo  = nuevacadena
            };



            ViewBag.ReportViewer = Reporte.reporte(query.ToList(), "", "CuponCanje.rdlc");
            return(View());
        }
Beispiel #6
0
        public ActionResult ProcesarOrden()
        {
            var     db   = new ecoMonedaModel();
            Usuario user = ((Usuario)Session["session"]);
            int     i    = 0;

            if (Session["cliente"] == null)
            {
                TempData["mensaje"] = "Digite el correo del cliente";
                return(RedirectToAction("Index"));
            }

            foreach (var item in Carrito.Instancia.Items)
            {
                i++;
            }
            if (i > 0)
            {
                EncCambio encabezado = new EncCambio();
                var       lista      = db.Centro;

                foreach (var item in lista)
                {
                    if (item.Usuario.email == user.email)
                    {
                        encabezado.idCentro = item.id;
                    }
                }

                encabezado.idUsuario = Session["cliente"].ToString();
                encabezado.fecha     = DateTime.Now;
                encabezado.total     = Convert.ToDouble(Carrito.Instancia.GetTotal());
                db.EncCambio.Add(encabezado);
                db.SaveChanges();

                foreach (var item in Carrito.Instancia.Items)
                {
                    DetalleCambio detalle = new DetalleCambio();
                    detalle.idEncCambio = encabezado.id;
                    detalle.cantidad    = item.Cantidad;
                    detalle.idMaterial  = item.Material.id;
                    detalle.subtotal    = (item.Material.precio * item.Cantidad);
                    db.DetalleCambio.Add(detalle);
                    db.SaveChanges();
                }

                Usuario          usuario = db.Usuario.Find(Session["cliente"].ToString());
                BilleteraVirtual v       = db.BilleteraVirtual.Where(x => x.idUsuario.Equals(usuario.email)).First();
                v.total += encabezado.total;

                db.Entry(v).State = System.Data.Entity.EntityState.Modified;
                db.SaveChanges();
                Carrito.Instancia.limpiarCarrito();
                TempData["mensaje"] = "Orden procesada correctamente";
                return(RedirectToAction("Index", "Orden"));
            }
            else
            {
                TempData["mensaje"] = "Agrega Materiales a la orden para continuar";
                return(RedirectToAction("Index"));
            }
        }