//// GET: Subastas/Edit/5 //public ActionResult Edit(int? id) //{ // if (id == null) // { // return new HttpStatusCodeResult(HttpStatusCode.BadRequest); // } // Subasta subasta = db.Subastas.Find(id); // if (subasta == null) // { // return HttpNotFound(); // } // return View(subasta); //} //// POST: Subastas/Edit/5 //// Para protegerse de ataques de publicación excesiva, habilite las propiedades específicas a las que desea enlazarse. Para obtener //// más información vea http://go.microsoft.com/fwlink/?LinkId=317598. //[HttpPost] //[ValidateAntiForgeryToken] //public ActionResult Edit([Bind(Include = "id,id_Comprador,id_Vendedor,id_Producto,estado,valor_Actual,finalizado,fecha_Inicio,fecha_Cierre")] Subasta subasta) //{ // if (ModelState.IsValid) // { // db.Entry(subasta).State = EntityState.Modified; // db.SaveChanges(); // return RedirectToAction("Index"); // } // return View(subasta); //} public ActionResult FinalizarCompraDirecta(int idSubasta) { user_sitio = Session["usuario"] as UsuarioSite; valor_tenant = user_sitio.Dominio.ToString(); int idLogueado = usuIBL.ObtenerIdByEmail(valor_tenant, user_sitio.Email); var usuario = usuIBL.GetUsuario(valor_tenant, idLogueado); Subasta subasta = subIBL.ObtenerSubasta(valor_tenant, idSubasta); if (subasta == null) { return(HttpNotFound()); } if (usuario.billetera < subasta.precio_Compra) { ViewBag.idSubasta = subasta.id; return(View("SinSaldo")); } else { usuario.billetera = usuario.billetera - (double)subasta.precio_Compra; usuIBL.ActualizarUsuario(valor_tenant, usuario);//le descuento plata al comprador int idVendedor = subasta.id_Vendedor; var vendedor = usuIBL.GetUsuario(valor_tenant, idVendedor); vendedor.billetera = vendedor.billetera + (double)subasta.precio_Compra; usuIBL.ActualizarUsuario(valor_tenant, vendedor);//le agrego plata al vededor subasta.estado = EstadoTransaccion.Cerrada; subasta.finalizado = TipoFinalizacion.Compra_directa; subasta.id_Comprador = idLogueado; subasta.fecha_Cierre = DateTime.Now; subIBL.ActualizarSubasta(valor_tenant, subasta); //enviar mail try { subIBL.correoCompraDirecta(valor_tenant, subasta); } catch (Exception) { throw; } //enviar mail ViewBag.Vendedor = vendedor; return(View("Transaccion", subasta)); } }
public ActionResult CreateCalificacion(int idSubasta, bool venta) { var user = Session["usuario"] as UsuarioSite; valor_tenant = user.Dominio; SubastaSite sub_site = new SubastaSite(); try { user_sitio = System.Web.HttpContext.Current.Session["usuario"] as UsuarioSite; valor_tenant = user_sitio.Dominio.ToString(); int idLogueado = _blusuario.ObtenerIdByEmail(valor_tenant, user_sitio.Email); var usuario = _blusuario.GetUsuario(valor_tenant, idLogueado); Subasta subasta = subIBL.ObtenerSubasta(valor_tenant, idSubasta); ViewBag.ListaImg = subIBL.ObtenerImagenes(valor_tenant, idSubasta); if (subasta == null) { return(HttpNotFound()); } sub_site.id = subasta.id; sub_site.descripcion = subasta.descripcion; sub_site.fecha_Cierre = subasta.fecha_Cierre; sub_site.finalizado = subasta.finalizado; sub_site.nick_Comprador = _blusuario.GetNombreUsuario(valor_tenant, Convert.ToInt32(subasta.id_Comprador)); sub_site.id_Comprador = Convert.ToInt32(subasta.id_Comprador); sub_site.portada = subasta.portada; sub_site.nombre_producto = subasta.titulo; sub_site.precio_Compra = Convert.ToDouble(subasta.precio_Compra); if (venta) { sub_site.listaVenta = 1; } else { sub_site.listaVenta = 0; } } catch (Exception) { throw; } return(View(sub_site)); }
// GET: Usuario public ActionResult DatosUsuario(int idUsuario) { UsuarioModel usr_model = new UsuarioModel(); try { usuario = System.Web.HttpContext.Current.Session["usuario"] as UsuarioSite; var tienda = usuario.Dominio; var usr = _iusr.GetUsuario(tienda, idUsuario); ViewBag.Ventas = subIBL.ObtenerVentasbyUsuario(usuario.Dominio, idUsuario).Count(); ViewBag.Compras = subIBL.ObtenerComprasbyUsuario(usuario.Dominio, idUsuario).Count(); if (usr != null) { usr_model.id = usr.id; usr_model.nick = usr.nick; usr_model.nombre = usr.nombre; usr_model.preferencias = usr.preferencias; usr_model.telefono = usr.telefono; usr_model.apellido = usr.apellido; usr_model.coordenadas = usr.coordenadas; usr_model.direccion = usr.direccion; usr_model.email = usr.email; usr_model.imagen = usr.imagen; usr_model.fecha_Nacimiento = (DateTime)usr.fecha_Nacimiento; usr_model.reputacion_Compra = _ical.ObtenerReputacionComprador(tienda, idUsuario); usr_model.reputacion_Venta = _ical.ObtenerReputacionVendedor(tienda, idUsuario); if (idUsuario == usuario.idUsuario) { usr_model.billetera = usr.billetera; } } } catch (Exception) { throw; } return(View(usr_model)); }
public ActionResult CreateOferta([Bind(Include = "id,Monto")] Oferta oferta, double monto_actual)//,id_Usuario,fecha { var user = Session["usuario"] as UsuarioSite; valor_tenant = user.Dominio; var idOfertante = _blusuario.ObtenerIdByEmail(valor_tenant, user.Email); var ofertante = _blusuario.GetUsuario(valor_tenant, idOfertante); if (monto_actual >= oferta.Monto) { ModelState.AddModelError("", "La Oferta debe ser mayor a " + monto_actual); return(View()); } else if (ofertante.billetera < oferta.Monto) { ModelState.AddModelError("", "Error usted solo dispone de $" + ofertante.billetera); return(View()); } else { user = Session["usuario"] as UsuarioSite; valor_tenant = user.Dominio; oferta.id_Subasta = idSub; oferta.fecha = DateTime.Now; oferta.id_Usuario = ofertante.id; _bloferta.AgregarOferta(valor_tenant, oferta); if (_blsubasta.ActualizarMonto(valor_tenant, oferta.id_Subasta, oferta.Monto)) { var lista = _bloferta.ObtenerOfertasByProducto(valor_tenant, idSub); List <OfertaModel> listOfer = new List <OfertaModel>(); foreach (var item in lista) { OfertaModel ofert = new OfertaModel(); ofert.id = item.id; try { ofert.nombre = _blusuario.GetNombreUsuario(valor_tenant, item.id_Usuario); } catch (Exception) { throw; } ofert.id_Subasta = item.id_Subasta; ofert.id_Usuario = item.id_Usuario; ofert.Monto = item.Monto; ofert.fecha = item.fecha; listOfer.Add(ofert); } try { _bloferta.correoOferta(valor_tenant, oferta); } catch (Exception) { throw; } ViewBag.ListaOfertas = listOfer; } } return(View("Index")); }