示例#1
0
        //// 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));
            }
        }
示例#2
0
        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));
        }
示例#3
0
        // 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));
        }
示例#4
0
        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"));
        }