コード例 #1
0
        public void RetiroExitoso()
        {
            string           numeroDeCuenta   = "1001";
            string           nombreDeCuenta   = "Cuenta de Ejemplo";
            TarjetaDeCredito tarjetaDeCredito = new TarjetaDeCredito();

            tarjetaDeCredito.Numero = numeroDeCuenta;
            tarjetaDeCredito.Nombre = nombreDeCuenta;
            tarjetaDeCredito.ContratarCupo(2000000);

            IList <string> errores = tarjetaDeCredito.CanWithDraw(1500000);
            string         obtenido;
            string         esperado = $"Su Nuevo Saldo es de ${3500000} pesos";

            if (errores.Contains(esperado))
            {
                obtenido = esperado;
            }
            else
            {
                obtenido = tarjetaDeCredito.Retirar(1500000);
            }


            Assert.AreEqual(esperado, obtenido);
        }
コード例 #2
0
        private ServicioFinanciero InicializarServicioFinanciero(ServicioFinanciero servicioFinanciero, CrearServicioFinancieroRequest request)
        {
            servicioFinanciero.Nombre = request.Nombre;
            servicioFinanciero.Numero = request.Numero;
            servicioFinanciero.Ciudad = request.Ciudad;
            switch (request.TipoCuenta)
            {
            case (int)ServicioFinancieroEnum.CUENTA_DE_AHORROS: return(servicioFinanciero);

            case (int)ServicioFinancieroEnum.CUENTA_CORRIENTE:
                CuentaCorriente cuentaCorriente = (CuentaCorriente)servicioFinanciero;
                cuentaCorriente.CupoDeSobregiro = request.CupoDeSobregiro;
                return(cuentaCorriente);

            case (int)ServicioFinancieroEnum.CERTIFICADO_DE_DEPOSITO_A_TERMINO:
                CertificadoDeDepositoATermino cdt = (CertificadoDeDepositoATermino)servicioFinanciero;
                cdt.DiasDeTermino = request.DiasDeTermino;
                return(cdt);

            case (int)ServicioFinancieroEnum.TARJETA_DE_CREDITO:
                TarjetaDeCredito tarjetaDeCredito = (TarjetaDeCredito)servicioFinanciero;
                tarjetaDeCredito.ContratarCupo(request.CupoPreAprobado);
                return(tarjetaDeCredito);

            default: throw new InvalidOperationException();
            }
        }
コード例 #3
0
        public void ValidarAbonoNegativoOCero()
        {
            string           numeroDeCuenta   = "1001";
            string           nombreDeCuenta   = "Cuenta de Ejemplo";
            TarjetaDeCredito tarjetaDeCredito = new TarjetaDeCredito();

            tarjetaDeCredito.Numero = numeroDeCuenta;
            tarjetaDeCredito.Nombre = nombreDeCuenta;
            tarjetaDeCredito.ContratarCupo(1000000);
            IList <string> errores = tarjetaDeCredito.CanConsign(-500);
            string         obtenido;
            string         esperado = "El valor a abonar es incorrecto";

            if (errores.Contains(esperado))
            {
                obtenido = esperado;
            }
            else
            {
                obtenido = tarjetaDeCredito.Consignar(-500, "No implementa");
            }


            Assert.AreEqual(esperado, obtenido);
        }
コード例 #4
0
        public void AbonoMayorAlSaldo()
        {
            string           numeroDeCuenta   = "1001";
            string           nombreDeCuenta   = "Cuenta de Ejemplo";
            TarjetaDeCredito tarjetaDeCredito = new TarjetaDeCredito();

            tarjetaDeCredito.Numero = numeroDeCuenta;
            tarjetaDeCredito.Nombre = nombreDeCuenta;
            tarjetaDeCredito.ContratarCupo(1000000);
            IList <string> errores = tarjetaDeCredito.CanConsign(5000000);
            string         obtenido;
            string         esperado = $"El valor del abono no puede superar el saldo de: {tarjetaDeCredito.Saldo}";

            if (errores.Contains(esperado))
            {
                obtenido = esperado;
            }
            else
            {
                obtenido = tarjetaDeCredito.Consignar(5000000, "No implementa");
            }


            Assert.AreEqual(esperado, obtenido);
        }
コード例 #5
0
        public void ValidarAvanceNegativoOCero()
        {
            string           numeroDeCuenta   = "1001";
            string           nombreDeCuenta   = "Cuenta de Ejemplo";
            TarjetaDeCredito tarjetaDeCredito = new TarjetaDeCredito();

            tarjetaDeCredito.Numero = numeroDeCuenta;
            tarjetaDeCredito.Nombre = nombreDeCuenta;
            tarjetaDeCredito.ContratarCupo(2000000);
            IList <string> errores = tarjetaDeCredito.CanWithDraw(-500);
            string         obtenido;
            string         esperado = "El valor a avanzar es incorrecto";

            if (errores.Contains(esperado))
            {
                obtenido = esperado;
            }
            else
            {
                obtenido = tarjetaDeCredito.Retirar(-500);
            }


            Assert.AreEqual(esperado, obtenido);
        }
コード例 #6
0
        public void AbonoCorrecto()
        {
            string           numeroDeCuenta   = "1001";
            string           nombreDeCuenta   = "Cuenta de Ejemplo";
            TarjetaDeCredito tarjetaDeCredito = new TarjetaDeCredito();

            tarjetaDeCredito.Numero = numeroDeCuenta;
            tarjetaDeCredito.Nombre = nombreDeCuenta;
            tarjetaDeCredito.ContratarCupo(2000000);
            IList <string> errores = tarjetaDeCredito.CanConsign(1500000);
            string         obtenido;
            string         esperado = $"Su Nuevo Saldo es de ${500000} pesos";

            if (errores.Contains(esperado))
            {
                obtenido = esperado;
            }
            else
            {
                obtenido = tarjetaDeCredito.Consignar(1500000, "No implementa");
            }


            Assert.AreEqual(esperado, obtenido);
        }
コード例 #7
0
        public TarjetaDeCredito SeleccionarTarjeta(int idTarjeta)
        {
            TarjetaDeCredito result = null;

            using (SqlConnection connection = new SqlConnection(
                       Constantes.SqlConnectionString))
            {
                SqlCommand command = new SqlCommand($"SELECT * FROM Tarjetas WHERE Id= {idTarjeta}", connection);
                command.Connection.Open();
                var reader = command.ExecuteReader();
                while (reader.Read())
                {
                    var tipo = (int)reader[0];
                    switch (tipo)
                    {
                    case 1:
                        result = new TarjetaClasica();
                        break;

                    case 2:
                        result = new TarjetaOro();
                        break;

                    case 3:
                        result = new TarjetaPlatino();
                        break;
                    }
                }
            }
            return(result);
        }
コード例 #8
0
        public void PagarTarjeta(ICuentaBancaria cuentaOrigen, TarjetaDeCredito tarjeta, Moneda cantidad)
        {
            if (cuentaOrigen.Balance.Divisa != tarjeta.Balance.Divisa)
            {
                throw new InvalidOperationException("Divisas diferentes");
            }
            if (cuentaOrigen.Titular.Id != tarjeta.Titular.Id)
            {
                throw new InvalidOperationException("Las cuentas de transferencia son de usuarios diferentes");
            }

            //generar comision de 5% si se paga desde otra TDC
            if (!(cuentaOrigen is CuentaDeAhorro))
            {
                FuncionesComunes.RestarCantidad(cuentaOrigen, new Moneda(cantidad.Cantidad * (decimal)0.05, cantidad.Divisa));
            }

            //generar comision de 10% si se paga despues de fecha de corte
            var hoy = DateTime.Now;

            if (new DateTime(hoy.Year, hoy.Month, tarjeta.FechaDeCorte.Day) < DateTime.Now)
            {
                FuncionesComunes.RestarCantidad(cuentaOrigen, new Moneda(cantidad.Cantidad * 0.10m, cantidad.Divisa));
            }

            cuentaOrigen.Balance.Restar(cantidad);
            tarjeta.Balance.Agregar(cantidad);
        }
コード例 #9
0
        private void InsertTarjeta(TarjetaDeCredito tarjeta, long numeroFactura)
        {
            SqlCommand command = DBConnection.CreateStoredProcedure("InsertTarjetaDeCredito");

            AddTarjetaDeCreditoParameters(numeroFactura, tarjeta, command);
            DBConnection.ExecuteNonQuery(command);
        }
コード例 #10
0
        public async Task <ActionResult> Puja(int?subastaId, [Bind(Include = "puja")] int puja, [Bind(Include = "TarjetaDeCreditoId")] double TarjetaDeCreditoId)
        {
            if (subastaId == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Subasta subasta = await db.Subastas.FindAsync(subastaId);

            TarjetaDeCredito tarjetaDeCredito = db.Tarjetas.Find(TarjetaDeCreditoId);

            if (subasta.PujaActual < puja && tarjetaDeCredito.CreditoDisponible >= puja)
            {
                Comprador         comprador         = QuerysGeneric.GetComprador(User.Identity.Name, db.Compradores);
                UsuarioConTarjeta usuarioconTarjeta = subasta.UsuarioConTarjeta;
                if (usuarioconTarjeta != null)
                {
                    usuarioconTarjeta.TarjetadeCredito.CreditoDisponible += subasta.PujaActual;
                }
                usuarioconTarjeta                  = db.UsuarioConTarjetas.Where(m => (m.CompradorId == comprador.Id && m.TarjetadeCredito.NumDeTarjeta == TarjetaDeCreditoId)).ToList()[0];
                subasta.PujaActual                 = puja;
                subasta.UsuarioConTarjeta          = usuarioconTarjeta;
                tarjetaDeCredito.CreditoDisponible = tarjetaDeCredito.CreditoDisponible - puja;
                subasta.Comprador                  = comprador;
                db.Entry(subasta).State            = EntityState.Modified;
                await db.SaveChangesAsync();

                return(RedirectToAction("Index", "Home", new { nameAnuncio = "AcceptSubasta" }));
            }

            ViewBag.AnuncioId   = new SelectList(db.Anuncios, "AnuncioId", "Etiqueta", subasta.AnuncioId);
            ViewBag.CompradorId = new SelectList(db.Compradores, "CompradorId", "Nombre", subasta.Comprador);
            return(RedirectToAction("Index", "Home", new { nameAnuncio = "ErrorSubasta" }));
        }
コード例 #11
0
        public void AvanceMayorAlCupo()
        {
            string           numeroDeCuenta   = "1001";
            string           nombreDeCuenta   = "Cuenta de Ejemplo";
            TarjetaDeCredito tarjetaDeCredito = new TarjetaDeCredito();

            tarjetaDeCredito.Numero = numeroDeCuenta;
            tarjetaDeCredito.Nombre = nombreDeCuenta;
            tarjetaDeCredito.ContratarCupo(2000000);
            IList <string> errores = tarjetaDeCredito.CanWithDraw(2500000);
            string         obtenido;
            string         esperado = $"El valor a avanzar no puede ser mayor al cupo pre-aprobado: " +
                                      $"{tarjetaDeCredito.CupoPreAprobado}";

            if (errores.Contains(esperado))
            {
                obtenido = esperado;
            }
            else
            {
                obtenido = tarjetaDeCredito.Retirar(2500000);
            }


            Assert.AreEqual(esperado, obtenido);
        }
コード例 #12
0
 public void CrearTarjetaDeCredito(TarjetaDeCredito _tarjeta, int _dni)
 {
     Data.DALTarjetaDeCredito _DALTarjeta = new Data.DALTarjetaDeCredito();
     Data.DALCliente          _DALCliente = new Data.DALCliente();
     _tarjeta._cliente = Mapper.Map(_DALCliente.ListarClientePorDNI(_dni));
     Data.TarjetaDeCredito _DATATarjeta = Mapper.Map(_tarjeta);
     _DALTarjeta.AgregarTarjetaDeCredito(_DATATarjeta);
 }
コード例 #13
0
 private void AddTarjetaDeCreditoParameters(long numeroFactura, TarjetaDeCredito tarjeta, SqlCommand command)
 {
     command.Parameters.AddWithValue("@facturaNumero", numeroFactura);
     command.Parameters.AddWithValue("@codigo", tarjeta.Codigo);
     command.Parameters.AddWithValue("@codigoSeguridad", tarjeta.CodigoSeguridad);
     command.Parameters.AddWithValue("@fechaVencimiento", tarjeta.FechaVencimiento);
     command.Parameters.AddWithValue("@numero", tarjeta.Numero);
 }
コード例 #14
0
        private void btnFacturar_Click(object sender, EventArgs e)
        {
            Factura          factura = new Factura();
            string           error   = string.Empty;
            TarjetaDeCredito tarjeta = null;

            if (Convert.ToInt32(cmbMedioDePago.SelectedValue) == 0)
            {
                error += "Seleccione un medio de pago";
            }

            factura.TipoPagoId = Convert.ToInt32(cmbMedioDePago.SelectedValue);
            factura.ClienteId  = this.ClienteId;

            if (factura.TipoPagoId == 2)
            {
                error += ValidateTarjeta();
                if (string.IsNullOrEmpty(error))
                {
                    tarjeta = CreateTarjetaDeCredito();
                }
            }
            if (string.IsNullOrEmpty(error))
            {
                try
                {
                    factura.EstadiaId = Convert.ToInt32(txtNroEstadia.Text);
                    factura.Fecha     = Session.Fecha;
                    factura.Items     = new List <FacturaItem>();
                    EstadiaService estadiaService = new EstadiaService();
                    Estadia        estadia        = estadiaService.GetById(Convert.ToInt32(txtNroEstadia.Text));
                    ReservaService reservaService = new ReservaService();
                    Reserva        reserva        = reservaService.GetReservaByCodigo(estadia.CodigoReserva);
                    RegimenService regimenService = new RegimenService();
                    Regimen        regimen        = regimenService.GetByCodigo(reserva.RegimenCodigo);

                    CreateNightsItems(factura, estadia, reserva, regimen.Precio);
                    CreateConsumibleItems(factura, estadia, regimen.ConsumiblesGratis);
                    foreach (FacturaItem fi in factura.Items)
                    {
                        factura.Total += fi.Precio;
                    }

                    FacturaService service = new FacturaService();
                    factura.Numero = service.Insert(factura, tarjeta);
                    MostrarFactura(factura);
                }
                catch (Exception)
                {
                    MessageBox.Show("Ocurrió un error al crear la factura");
                }
            }
            else
            {
                MessageBox.Show(error);
            }
        }
コード例 #15
0
        private TarjetaDeCredito CreateTarjetaDeCredito()
        {
            TarjetaDeCredito tarjeta = new TarjetaDeCredito();

            tarjeta.Codigo           = txtCodigo.Text;
            tarjeta.CodigoSeguridad  = Convert.ToInt32(txtCodigoSeguridad.Text);
            tarjeta.FechaVencimiento = dateVencimiento.Value;
            tarjeta.Numero           = Convert.ToInt64(txtNumero.Text);
            return(tarjeta);
        }
コード例 #16
0
        public TarjetaDeCredito[] ListarTarjetaDeCredito()

        {
            Data.DALTarjetaDeCredito _DALTarjeta            = new Data.DALTarjetaDeCredito();
            Data.TarjetaDeCredito[]  _listaTarjeta          = _DALTarjeta.ListarTarjetasDeCredito();
            TarjetaDeCredito[]       _listaTarjetasEntities = new TarjetaDeCredito[_listaTarjeta.Length];

            for (int i = 0; i < _listaTarjeta.Length; i++)
            {
                _listaTarjetasEntities[i] = Mapper.Map(_listaTarjeta[i]);
            }

            return(_listaTarjetasEntities);
        }
コード例 #17
0
        public ActionResult NuevaAdicional(FormCollection Form)
        {
            ClienteTitular   _ClienteAdicional = new ClienteTitular();
            TarjetaDeCredito _TarjetaCredito   = new TarjetaDeCredito();
            int _TitularDNI = Convert.ToInt32(Form.Get("titular").ToString());

            Business.BLLClienteTitular   _BLLCliente = new Business.BLLClienteTitular();
            Business.BLLTarjetaDeCredito _BLLTarjeta = new Business.BLLTarjetaDeCredito();

            _ClienteAdicional.Apellido               = Form.Get("apellidoAdicional").ToString();
            _ClienteAdicional.Nombre                 = Form.Get("nombreAdicional").ToString();
            _ClienteAdicional.FechaNacimiento        = Convert.ToDateTime(Form.Get("fechaNacimiento").ToString());
            _ClienteAdicional.DNI                    = Convert.ToInt32(Form.Get("numeroDocumento").ToString());
            _ClienteAdicional.CUIT                   = Convert.ToInt32(Form.Get("cuilCuit").ToString());
            _ClienteAdicional.Domicilio              = Form.Get("domicilioAdicional").ToString();
            _ClienteAdicional.Telefono               = Convert.ToInt32(Form.Get("numeroTelefono").ToString());
            _ClienteAdicional.EstadoCivil            = (EstadoCivil)Convert.ToInt32(Form.Get("estadoCivil").ToString());
            _ClienteAdicional.IngresosMensualesAprox = Convert.ToInt32(Form.Get("ingresos").ToString());
            _ClienteAdicional.Sexo                   = (Sexo)Convert.ToInt32(Form.Get("Sexo").ToString());
            _ClienteAdicional.SituacionLaboral       = (SituacionLaboral)Convert.ToInt32(Form.Get("situacionLaboral").ToString());

            //_ClienteAdicional.DNIConyuge = Convert.ToInt32(Form.Get("numeroDocumentoCon").ToString());
            //_ClienteAdicional.NombreConyuge = Convert.ToInt32(Form.Get("nombreConyuge").ToString());
            //_ClienteAdicional.ApellidoConyuge = Convert.ToInt32(Form.Get("apellidoConyuge").ToString());
            _TarjetaCredito.Marca = (MarcasTarjetasCredito)Convert.ToInt32(Form.Get("tipoTarjeta").ToString());

            _TarjetaCredito.CreditoMaximo  = 15000;
            _TarjetaCredito.Tipo           = TipoDeTarjetaDeCredito.Titular;
            _TarjetaCredito._cliente       = _ClienteAdicional;
            _TarjetaCredito._estadoTarjeta = EstadoTarjeta.Emitida;

            if (_BLLCliente.AptoNoAPto(_ClienteAdicional.DNI))
            {
                try
                {
                    _BLLCliente.CrearAdicional(_ClienteAdicional, _TitularDNI);
                    _BLLTarjeta.CrearTarjetaDeCredito(_TarjetaCredito, _ClienteAdicional.DNI);
                }
                catch (Exception ex)
                {
                    throw new Exception("ERROR al crear Cliente / Controller", ex);
                }
            }

            return(RedirectToAction("DatosAdicionales", "Solicitud", Form));//View();
        }
コード例 #18
0
        public long Insert(Factura factura, TarjetaDeCredito tarjeta)
        {
            using (var transaction = new TransactionScope())
            {
                SqlCommand command = DBConnection.CreateStoredProcedure("InsertFactura");
                AddFacturaParameters(factura, command);
                long numeroFactura = (long)DBConnection.ExecuteScalar(command);

                InsertItemsFactura(factura.Items, numeroFactura);

                if (tarjeta != null)
                {
                    InsertTarjeta(tarjeta, numeroFactura);
                }

                transaction.Complete();

                return(numeroFactura);
            }
        }
コード例 #19
0
        public void ImprimirTarjeta(TarjetaDeCredito _tarjetaEntities)
        {
            TarjetaImpresion _tarjetaIMP = new TarjetaImpresion(_tarjetaEntities);
            TarjetaPDF       _tarjetaPDF = new TarjetaPDF();

            if (_tarjetaIMP.Marca == MarcasTarjetasCredito.Visa)
            {
                _tarjetaPDF.TarjetaVisa(_tarjetaIMP);
            }
            else if (_tarjetaIMP.Marca == MarcasTarjetasCredito.MasterCard)
            {
                _tarjetaPDF.TarjetaMaster(_tarjetaIMP);
            }
            else if (_tarjetaIMP.Marca == MarcasTarjetasCredito.AmericanExpress)
            {
                _tarjetaPDF.TarjetaAmerican(_tarjetaIMP);
            }
            else
            {
                throw new Exception("ERROR al crear Tarjeta PDF");
            }
        }
コード例 #20
0
        public async Task <ActionResult> CrearTarjeta([Bind(Include = "tarjeta")] double tarjeta)
        {
            if (tarjeta > 0)
            {
                Comprador user;
                if (User.IsInRole(RoleName.Comprador))
                {
                    int credito = QuerysGeneric.random.Next(100, 1000);
                    TarjetaDeCredito tarjetaDeCredito = await db.Tarjetas.FindAsync(tarjeta);

                    if (tarjetaDeCredito == null)
                    {
                        tarjetaDeCredito = new TarjetaDeCredito()
                        {
                            NumDeTarjeta      = tarjeta,
                            CreditoDisponible = credito,
                            CreditoContable   = credito
                        };
                        db.Tarjetas.Add(tarjetaDeCredito);
                        await db.SaveChangesAsync();
                    }

                    user = QuerysGeneric.GetComprador(User.Identity.Name, db.Compradores);
                    UsuarioConTarjeta usuario = new UsuarioConTarjeta()
                    {
                        Comprador        = user,
                        CompradorId      = user.Id,
                        TarjetadeCredito = tarjetaDeCredito
                    };
                    db.UsuarioConTarjetas.Add(usuario);
                    await db.SaveChangesAsync();

                    return(RedirectToAction("Index", "Home", new { nameAnuncio = "AcceptTarjeta" }));
                }
            }
            return(View());
        }
コード例 #21
0
        public bool SolicitarTarjeta(Usuario usuario, TarjetaDeCredito tarjetaSolicitada)
        {
            //verificar si el usuario ya tiene una tarjeta de ese tipo
            if (usuario.Cuentas.Any(c => c.GetType() == tarjetaSolicitada.GetType()))
            {
                return(false);
            }


            //consultar # maximo de tarjetas

            int numMaximoDeTarjetas = _repositorioConfiguraciones.SeleccionarMaximoDeTarjetasPorUsuario();

            if (usuario.Cuentas.Where(c => c is TarjetaDeCredito).Count() >= numMaximoDeTarjetas)
            {
                return(false);
            }

            //consultar buro de credito
            var calificacionBuro = _servicioExternoBuro.ConsultarBuro(usuario.RFC);

            if (tarjetaSolicitada is TarjetaClasica && calificacionBuro < 30)
            {
                return(false);
            }
            else if (tarjetaSolicitada is TarjetaOro && calificacionBuro < 65)
            {
                return(false);
            }
            else if (tarjetaSolicitada is TarjetaPlatino && calificacionBuro < 85)
            {
                return(false);
            }

            return(true);
        }
コード例 #22
0
        public async Task <ActionResult> Create(Producto_Vendido producto_Vendido, int carritoId, int Total)
        {
            Comprador comprador = QuerysGeneric.GetComprador(User.Identity.Name, db.Compradores);
            IEnumerable <TarjetaDeCredito> tarjetas = QuerysGeneric.GetTarjetas(comprador.Tarjetas);

            ViewBag.NumDesuTarjeta          = new SelectList(tarjetas, "NumDeTarjeta", "NumDeTarjeta", new Producto_Vendido());
            producto_Vendido.NumDesuTarjeta = db.Tarjetas.Find(producto_Vendido.TarjetaDeCreditoId);
            TarjetaDeCredito tarjeta = producto_Vendido.NumDesuTarjeta;

            if (tarjeta.CreditoDisponible < Total)
            {
                return(RedirectToAction("Index", "Anuncios", new { nameAnuncio = "ErrorCompra" }));
            }
            tarjeta.CreditoDisponible = tarjeta.CreditoDisponible - Total;
            tarjeta.CreditoContable   = tarjeta.CreditoContable - Total;
            db.Entry(tarjeta).State   = EntityState.Modified;

            if (carritoId != -1)
            {
                Carrito carrito = db.Carritos.Find(producto_Vendido.CarritoId);
                producto_Vendido.CarritoId     = carritoId;
                producto_Vendido.Cantidad      = carrito.Cantidad;
                producto_Vendido.AnuncioId     = carrito.AnuncioId;
                producto_Vendido.CompradorId   = carrito.CompradorId;
                producto_Vendido.FechaSeparado = carrito.FechaSeparado;

                if (ModelState.IsValid)
                {
                    db.Producto_Vendido.Add(producto_Vendido as Producto_Vendido);
                    db.Carritos.Remove(carrito);

                    await db.SaveChangesAsync();

                    return(RedirectToAction("Index", "Anuncios", new { nameAnuncio = "AcceptCompra" }));
                }
            }
            else
            {
                var carros = QuerysGeneric.Get_N_Obj_Mientras(db.Carritos, null, m => (m.CompradorId == comprador.Id && !(m is Producto_Vendido))).ToList();

                foreach (var item in carros)
                {
                    Producto_Vendido producto = new Producto_Vendido();
                    producto.CarritoId     = carritoId;
                    producto.Cantidad      = item.Cantidad;
                    producto.AnuncioId     = item.AnuncioId;
                    producto.CompradorId   = item.CompradorId;
                    producto.FechaSeparado = item.FechaSeparado;

                    if (ModelState.IsValid)
                    {
                        db.Producto_Vendido.Add(producto as Producto_Vendido);
                        db.Carritos.Remove(item);
                        await db.SaveChangesAsync();

                        return(RedirectToAction("Index", "Anuncios", new { nameAnuncio = "AcceptCompra" }));
                    }
                }
            }
            return(RedirectToAction("Index", "Anuncios", new { nameAnuncio = "ErrorCompra" }));
        }
コード例 #23
0
        static void Main(string[] args)
        {
            int    opcion = 0;
            string value;
            char   continuar = 's';

            Persona p1 = new Persona();

            p1.Nombre   = "Joel";
            p1.Apellido = "Mora";
            p1.Edad     = 20;
            p1.Saludar();
            string datosPersonales = p1.RecuperarDatosPersonales();

            Console.WriteLine(datosPersonales);
            Console.WriteLine("***********************************");

            Empleado e1 = new Empleado();

            e1.Nombre   = "Walter";
            e1.Apellido = "Martinez";
            e1.Sueldo   = 40000;
            e1.Edad     = 20;
            e1.Saludar();
            e1.Trabajar();
            Console.WriteLine(e1.RecuperarDatosPersonales());

            Banco           banco = new Banco();
            CuentaCorriente cc1   = new CuentaCorriente(1234, 1000);

            TarjetaDeCredito tarjetaCredito = new TarjetaDeCredito();

            tarjetaCredito.Nombre      = "VISA GOLD";
            tarjetaCredito.PrecioVenta = 300;
            banco.VenderProducto(cc1);
            //  banco.VenderProducto(tarjetaCredito);



            Console.WriteLine(cc1);
            Console.WriteLine(cc1.ToString());

            /*
             * CajaDeAhorro ca1 = new CajaDeAhorro();
             * ca1.Saldo = 500;
             * ca1.Numero = 123123;
             *
             * banco.ExtraerDeCuenta(ca1, 3000);
             * banco.ExtraerDeCuenta(ca1, 100);
             *
             * banco.ExtraerDeCuenta(cc1, 400);
             *
             *
             * RRHH rrhh = new RRHH();
             * rrhh.MostrarDatosPersonales(p1);
             * rrhh.MostrarDatosPersonales(e1);
             *
             * do
             * {
             *
             *
             *
             * Console.WriteLine("\n1 CAJA DE AHORRO\n" +
             *                "2 CUENTA CORRIENTE\n" +
             *                "3 SALIR\n\n" +
             *                "A que cuenta desea acceder?");
             *
             * value = Console.ReadLine();
             * opcion = Convert.ToInt32(value);
             *
             * switch (opcion)
             * {
             *  case 1:
             *
             *      break;
             *  case 2:
             *
             *      break;
             *  case 3:
             *
             *      break;
             *  default:
             *
             *      break;
             * }
             *
             * } while (continuar == 's');
             */
        }
コード例 #24
0
        public long Insert(Factura factura, TarjetaDeCredito tarjeta)
        {
            FacturaRepository facturaRepository = new FacturaRepository();

            return(facturaRepository.Insert(factura, tarjeta));
        }
コード例 #25
0
        public async Task <ActionResult> Register(RegisterViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = new ApplicationUser {
                    UserName = model.Email, Email = model.Email
                };
                var result = await UserManager.CreateAsync(user, model.Password);

                if (result.Succeeded)
                {
                    //Codigo Temporal Para añadir Roles
                    var roleStore   = new RoleStore <IdentityRole>(new ApplicationDbContext());
                    var roleManager = new RoleManager <IdentityRole>(roleStore);
                    if (roleManager.FindByName(RoleName.Admin) == null)
                    {
                        await roleManager.CreateAsync(new IdentityRole(RoleName.Admin));
                    }
                    if (roleManager.FindByName(RoleName.Comprador) == null)
                    {
                        await roleManager.CreateAsync(new IdentityRole(RoleName.Comprador));
                    }
                    if (roleManager.FindByName(RoleName.Vendedor) == null)
                    {
                        await roleManager.CreateAsync(new IdentityRole(RoleName.Vendedor));
                    }
                    if (model.roles == Roles.Admin)
                    {
                        await UserManager.AddToRoleAsync(user.Id, RoleName.Admin);
                    }
                    else
                    {
                        string           Nombre           = model.Nombre;
                        string           UserId           = user.UserName;
                        int              credito          = QuerysGeneric.random.Next(100, 1000);
                        TarjetaDeCredito tarjetaDeCredito = await db.Tarjetas.FindAsync(model.Tarjeta);

                        if (tarjetaDeCredito == null)
                        {
                            tarjetaDeCredito = new TarjetaDeCredito()
                            {
                                NumDeTarjeta      = model.Tarjeta,
                                CreditoDisponible = credito,
                                CreditoContable   = credito
                            };
                            db.Tarjetas.Add(tarjetaDeCredito);
                            await db.SaveChangesAsync();
                        }
                        if (model.roles == Roles.Comprador)
                        {
                            await UserManager.AddToRoleAsync(user.Id, RoleName.Comprador);

                            Comprador comprador = new Comprador()
                            {
                                Nombre = Nombre, User = UserId, Mensaje = ""
                            };
                            db.Compradores.Add(comprador);
                            await db.SaveChangesAsync();

                            UsuarioConTarjeta usuario = new UsuarioConTarjeta()
                            {
                                CompradorId      = comprador.Id,
                                Comprador        = comprador,
                                TarjetadeCredito = tarjetaDeCredito,
                            };

                            db.UsuarioConTarjetas.Add(usuario);
                            await db.SaveChangesAsync();
                        }
                        else
                        {
                            await UserManager.AddToRoleAsync(user.Id, RoleName.Vendedor);

                            Vendedor vendedor = new Vendedor()
                            {
                                Nombre             = Nombre,
                                User               = UserId,
                                TarjetaDeCredito   = tarjetaDeCredito,
                                TarjetadeCreditoId = tarjetaDeCredito.NumDeTarjeta,
                                Mensaje            = ""
                            };
                            db.Vendedores.Add(vendedor);
                            await db.SaveChangesAsync();
                        }
                    }

                    await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false);

                    // For more information on how to enable account confirmation and password reset please visit https://go.microsoft.com/fwlink/?LinkID=320771
                    // Send an email with this link
                    // 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, "Confirm your account", "Please confirm your account by clicking <a href=\"" + callbackUrl + "\">here</a>");

                    return(RedirectToAction("Index", "Home"));
                }
                AddErrors(result);
            }

            // If we got this far, something failed, redisplay form
            return(View(model));
        }
コード例 #26
0
        static void Main()
        {
            TarjetaDeCredito tarjeta = new TarjetaDeCredito();

            tarjeta.PuedeRetirar(10000);
        }