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(); }
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)); }
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()); }
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")); } }