示例#1
0
        protected void BtnPagarEts_Click(object sender, EventArgs e)
        {
            string materia = ListaMaterias.SelectedValue.ToString();

            int precio = 10;

            int id_usuario  = Convert.ToInt16(Session["usuario"]);
            int id_monedero = ObtenerMonedero.id_monedero(id_usuario);

            int saldo = ObtenerMonedero.Saldo(id_monedero);

            int nuevo_saldo = saldo - precio;

            if (nuevo_saldo >= 0)
            {
                bool actualizar_saldo = Monedero.ActualizarSaldo(id_monedero, nuevo_saldo);
                int  registro         = MovimientoCV.Registrar(1, id_monedero, 1, 12342);
                int  ticket           = Comprobante.Crear(id_monedero, "Examen a titulo de suficiencia", 321341234, precio, materia, 1);
                Response.Redirect("Perfil.aspx", true);
            }
            else
            {
                LbError.Text    = "No tienes saldo suficiente para continuar con la compra";
                LbError.Visible = true;

                Response.AddHeader("REFRESH", "4;URL=MiDinero.aspx");
            }
        }
示例#2
0
        protected void BtnPagarCrd_Click(object sender, EventArgs e)
        {
            int precio = 65;

            int id_usuario = Convert.ToInt16(Session["usuario"]);

            int id_monedero = ObtenerMonedero.id_monedero(id_usuario);

            int saldo = ObtenerMonedero.Saldo(id_monedero);

            int nuevo_saldo = saldo - precio;

            if (nuevo_saldo >= 0)
            {
                bool actualizar_saldo = Monedero.ActualizarSaldo(id_monedero, nuevo_saldo);
                int  registro         = MovimientoCV.Registrar(2, id_monedero, 1, 67893482);
                int  ticket           = Comprobante.Crear(id_monedero, "Reposicion de credencial", 321341234, precio, " ", 1);
                Response.Redirect("Perfil.aspx", true);
            }
            else
            {
                LbError.Text    = "No tienes saldo suficiente para continuar con la compra";
                LbError.Visible = true;

                Response.AddHeader("REFRESH", "4;URL=MiDinero.aspx");
            }
        }
示例#3
0
        public async Task <IActionResult> Create([Bind("IdMonedero,IdCliente,Saldo")] Monedero monedero)
        {
            if (ModelState.IsValid)
            {
                var validarexist = _context.Monedero.Where(m => m.IdCliente == monedero.IdCliente).FirstOrDefault();
                if (validarexist != null)
                {
                    ModelState.AddModelError("IdCliente", "El cliente ya cuenta con un monedero.");
                    return(View(monedero));
                }
                _context.Add(monedero);
                await _context.SaveChangesAsync();

                Thread.Sleep(2000);
                return(RedirectToAction(nameof(Index)));
            }

            ViewData["IdCliente"] = _context.Cliente
                                    .Where(e => e.IdCliente == monedero.IdCliente)
                                    .Select(e => new SelectListItem
            {
                Text  = e.Nombre + " " + e.Apellido1,
                Value = e.IdCliente.ToString()
            });
            //ViewData["IdCliente"] = new SelectList(_context.Cliente, "IdCliente", "Apellido1", monedero.IdCliente);
            return(View(monedero));
        }
示例#4
0
        public async Task <IActionResult> Edit(int id, [Bind("IdMonedero,IdCliente,Saldo")] Monedero monedero)
        {
            if (id != monedero.IdMonedero)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(monedero);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!MonederoExists(monedero.IdMonedero))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                Thread.Sleep(2000);
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["IdCliente"] = new SelectList(_context.Cliente, "IdCliente", "Apellido1", monedero.IdCliente);
            return(View(monedero));
        }
示例#5
0
        public ActionResult ValidarExistencia(int idProducto, int cantidad, int idcliente, int total)
        {
            string   codeError    = null;
            Producto productoFind = _context.Producto.FirstOrDefault(p => p.IdProducto == idProducto);
            Monedero clienteSaldo = _context.Monedero
                                    .FirstOrDefault(cl => cl.IdCliente == idcliente);

            if (productoFind.Existencia < cantidad)
            {
                codeError = "1";//Cantidad insuficiente
            }
            else if (cantidad <= 0)
            {
                codeError = "2";//cantidada no validad
            }
            else if (clienteSaldo.Saldo <= total || ((cantidad * productoFind.PrecioUnidad) > clienteSaldo.Saldo))
            {
                codeError = "3";
            }
            else
            {
                codeError = "0";//No hay errores
            }
            return(Json(new
            {
                code = codeError,
                idProducto = productoFind.IdProducto,
                nombre = productoFind.Nombre,
                existencia = cantidad,
                precioUnidad = productoFind.PrecioUnidad,
                subTotal = cantidad * productoFind.PrecioUnidad
            }));
        }
示例#6
0
        public void MonederoSimpleAgregar()
        {
            // {[12 MXN][7 USD]} + [14 MXN] == {[26 MXN][7 USD]}
            Moneda[] monedero    = { new Moneda(26, Divisa.MXN), new Moneda(7, Divisa.USD) };
            Monedero expectativa = new Monedero(monedero);

            Assert.AreEqual(expectativa, _monedero1.Agregar(_moneda14MXN));
        }
示例#7
0
        public void MonederoSumAgregar()
        {
            // {[12 MXN][7 USD]} + {[14 MXN][21 USD]} == {[26 MXN][28 USD]}
            Moneda[] monedero    = { new Moneda(26, Divisa.MXN), new Moneda(28, Divisa.USD) };
            Monedero expectativa = new Monedero(monedero);

            Assert.AreEqual(expectativa, _monedero1.Agregar(_monedero2));
        }
示例#8
0
        public void MonederoRestar()
        {
            // {[12 MXN][7 USD]} - {[14 MXN][21 USD] == {[-2 MXN][-14 USD]}
            Moneda[] monedero    = { new Moneda(-2, Divisa.MXN), new Moneda(-14, Divisa.USD) };
            Monedero expectativa = new Monedero(monedero);

            Assert.AreEqual(expectativa, _monedero1.Restar(_monedero2));
        }
示例#9
0
        public ActionResult DeleteConAjax(Monedero monedero)
        {
            Monedero monederoFind = _context.Monedero.Find(monedero.IdMonedero);

            _context.Monedero.Remove(monederoFind);
            _context.SaveChanges();
            return(Json(new { result = true, }));
        }
示例#10
0
        public void MixedSimpleAgregar()
        {
            // [12 MXN] + [7 USD] == {[12 MXN][7 USD]}
            Moneda[] monedero    = { _moneda12MXN, _moneda7USD };
            Monedero expectativa = new Monedero(monedero);

            Assert.AreEqual(expectativa, _moneda12MXN.Agregar(_moneda7USD));
        }
示例#11
0
        public void MonederoNegate()
        {
            // {[12 MXN][7 USD]} negate == {[-12 MXN][-7 USD]}
            Moneda[] monedero    = { new Moneda(-12, Divisa.MXN), new Moneda(-7, Divisa.USD) };
            Monedero expectativa = new Monedero(monedero);

            Assert.AreEqual(expectativa, _monedero1.Negar());
        }
示例#12
0
        public void Normalize3()
        {
            // {[12 MXN][7 USD]} - {[12 MXN][3 USD]} == [4 USD]
            Moneda[] s1          = { new Moneda(12, Divisa.MXN), new Moneda(3, Divisa.USD) };
            Monedero ms1         = new Monedero(s1);
            Moneda   expectativa = new Moneda(4, Divisa.USD);

            Assert.AreEqual(expectativa, _monedero1.Restar(ms1));
        }
示例#13
0
        public void Normalize4()
        {
            // [12 MXN] - {[12 MXN][3 USD]} == [-3 USD]
            Moneda[] s1          = { new Moneda(12, Divisa.MXN), new Moneda(3, Divisa.USD) };
            Monedero ms1         = new Monedero(s1);
            Moneda   expectativa = new Moneda(-3, Divisa.USD);

            Assert.AreEqual(expectativa, _moneda12MXN.Restar(ms1));
        }
示例#14
0
 public ActionResult EditConAjax(Monedero monedero)
 {
     if (ModelState.IsValid)
     {
         _context.SaveChanges();
         return(Json(new { result = true }));
     }
     return(Json(new { result = false }));
 }
示例#15
0
        protected void SetUp()
        {
            _moneda12MXN = new Moneda(12, Divisa.MXN);
            _moneda14MXN = new Moneda(14, Divisa.MXN);
            _moneda7USD  = new Moneda(7, Divisa.USD);
            _moneda21USD = new Moneda(21, Divisa.USD);

            _monedero1 = new Monedero(_moneda12MXN, _moneda7USD);
            _monedero2 = new Monedero(_moneda14MXN, _moneda21USD);
        }
示例#16
0
        public void MonederoMultiply()
        {
            // {[12 MXN][7 USD]} *2 == {[24 MXN][14 USD]}
            Moneda[] monedero    = { new Moneda(24, Divisa.MXN), new Moneda(14, Divisa.USD) };
            Monedero expectativa = new Monedero(monedero);

            Assert.AreEqual(expectativa, _monedero1.Multiplicar(2));
            Assert.AreEqual(_monedero1, _monedero1.Multiplicar(1));
            Assert.IsTrue(_monedero1.Multiplicar(0).EnCeros);
        }
示例#17
0
        public void Normalize()
        {
            Moneda[] monedero = { new Moneda(26, Divisa.MXN), new Moneda(28, Divisa.MXN), new Moneda(6, Divisa.MXN) };
            Monedero Monedero = new Monedero(monedero);

            Moneda[] expectativa = { new Moneda(60, Divisa.MXN) };
            // note: expectativa is still a Monedero
            Monedero expectativaMonedero = new Monedero(expectativa);

            Assert.AreEqual(expectativaMonedero, Monedero);
        }
示例#18
0
        public Monedero InsertarMonedero(int idUsuario, int saldo, string divisa)
        {
            DTOMonedero nuevoMonederoDTO = new DTOMonedero(0, idUsuario, saldo, divisa);

            nuevoMonederoDTO = this.ConexionDBMonedero.CrearMonederoDAO(nuevoMonederoDTO);

            if (nuevoMonederoDTO != null)
            {
                Monedero monederoIngreso = new Monedero(nuevoMonederoDTO.GetIdMonederoDTO(), nuevoMonederoDTO.GetIdUsuarioDTO(), nuevoMonederoDTO.GetSaldoDTO(), nuevoMonederoDTO.GetDivisaDTO());
                return(monederoIngreso);
            }
            return(null);
        }
示例#19
0
        public ActionResult CreateConAjax(Monedero monedero)
        {
            if (ModelState.IsValid)
            {
                var validarexist = _context.Monedero.Where(m => m.IdCliente == monedero.IdCliente).FirstOrDefault();

                if (validarexist != null)
                {
                    return(Json(new { result = false }));
                }
                return(Json(new { result = true }));
            }
            return(Json(new { result = false }));
        }
        public async Task <ActionResult> EnvioLogin(string username, string password)
        {
            Jugador  jugador  = new Jugador();
            Monedero monedero = new Monedero();

            try
            {
                using (var cliente = new HttpClient())
                {
                    cliente.BaseAddress = new Uri(baseUrl);
                    cliente.DefaultRequestHeaders.Clear();
                    cliente.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                    HttpResponseMessage response = await cliente.GetAsync(String.Format("/api/Jugador/?login={0}&pass={1}", username, password));

                    if (response.IsSuccessStatusCode)
                    {
                        var jugadorResponse = response.Content.ReadAsStringAsync().Result;
                        jugador = JsonConvert.DeserializeObject <Jugador>(jugadorResponse);
                        if (jugador == null)
                        {
                            return(RedirectToAction("Index", new { error = "Error en el login" }));
                        }
                        HttpResponseMessage responseM = await cliente.GetAsync(String.Format("/api/Monedero/?id={0}", jugador.id));

                        if (responseM.IsSuccessStatusCode)
                        {
                            var responseMonedero = responseM.Content.ReadAsStringAsync().Result;
                            monedero = JsonConvert.DeserializeObject <Monedero>(responseMonedero);
                            System.Web.HttpContext.Current.Session["idJugador"]  = jugador.id;
                            System.Web.HttpContext.Current.Session["username"]   = jugador.nombre;
                            System.Web.HttpContext.Current.Session["balance"]    = monedero.saldo;
                            System.Web.HttpContext.Current.Session["idMonedero"] = monedero.idMonedero;
                            return(RedirectToAction("Index", "Evento"));
                        }
                        else
                        {
                            return(RedirectToAction("Index", new { error = "Error en el login" }));
                        }
                    }
                    else
                    {
                        return(RedirectToAction("Index", new { error = "Error en el login" }));
                    }
                }
            }
            catch (Exception e)
            {
                throw e;
            }
        }
示例#21
0
        public Monedero RetirarSaldoMonedero(int idMonedero, float importeRestar)
        {
            DTOMonedero monederoDTO = this.ConexionDBMonedero.RecuperarMonederoPorIdMonederoDAO(idMonedero);
            float       nuevoSaldo  = monederoDTO.GetSaldoDTO() - importeRestar;

            if (this.ConexionDBMonedero.ModificarSaldoMonederoDTO(idMonedero, nuevoSaldo))
            {
                Monedero monederoModificado = new Monedero(monederoDTO.GetIdMonederoDTO(), monederoDTO.GetIdUsuarioDTO(), nuevoSaldo, monederoDTO.GetDivisaDTO());
                return(monederoModificado);
            }
            else
            {
                return(null);
            }
        }
示例#22
0
        public Monedero RecuperarMonederoPorIdUsuario(int idUsuario)
        {
            DTOMonedero monederoDTO = this.ConexionDBMonedero.RecuperarMonederoPorIdUsuarioDAO(idUsuario);

            if (monederoDTO != null)
            {
                Monedero nuevoMonedero = new Monedero(monederoDTO.GetIdMonederoDTO(), monederoDTO.GetIdUsuarioDTO(), monederoDTO.GetSaldoDTO(), monederoDTO.GetDivisaDTO());
                return(nuevoMonedero);
            }

            else
            {
                return(null);
            }
        }
示例#23
0
        public void MonederoEquals()
        {
            //NOTE: Normally we use Assert.AreEqual to test whether two
            // objects are equal. But here we are testing the Monedero.Equals()
            // method itself, so using AreEqual would not serve the purpose.
            Assert.IsFalse(_monedero1.Equals(null));

            Assert.IsTrue(_monedero1.Equals(_monedero1));
            Monedero equal = new Monedero(new Moneda(12, Divisa.MXN), new Moneda(7, Divisa.USD));

            Assert.IsTrue(_monedero1.Equals(equal));
            Assert.IsTrue(!_monedero1.Equals(_moneda12MXN));
            Assert.IsTrue(!_moneda12MXN.Equals(_monedero1));
            Assert.IsTrue(!_monedero1.Equals(_monedero2));
        }
 public HttpResponseMessage CrearMonederoDB(Monedero monedero)
 {
     try
     {
         using (var cliente = new HttpClient())
         {
             cliente.BaseAddress = new Uri(baseUrl + "api/Monedero");
             var postTask = cliente.PostAsJsonAsync <Monedero>("Monedero", monedero);
             postTask.Wait();
             return(postTask.Result);
         }
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
示例#25
0
        protected void BtnConfirmar_Click(object sender, EventArgs e)
        {
            int id = Convert.ToInt16(Session["usuario"].ToString());

            int escuela = Convert.ToInt16(ListaEscuelas.SelectedIndex.ToString());

            int registro_datos = AgregarDatos.Generales(TxtNombre.Text.Trim(), TxtApellidoP.Text.Trim(), TxtApellidoM.Text.Trim(), TxtCelular.Text.Trim());

            if (registro_datos != 0)
            {
                int registro_datos_escolares = AgregarDatos.Escolares(escuela, TxtBoleta.Text.Trim(), TxtGrupo.Text.Trim(), TxtEdad.Text.Trim());

                if (registro_datos_escolares != 0)
                {
                    int vincular_datos = Datos.VincularDatosGenerales(id, registro_datos);

                    if (vincular_datos != 0)
                    {
                        int vincular_datos_escolares = Datos.VincularDatosEscolares(registro_datos, registro_datos_escolares);

                        if (vincular_datos_escolares != 0)
                        {
                            string codigo        = CreacionCodigo.Monedero(TxtBoleta.Text.Trim());
                            Byte[] codigo_barras = CreacionCodigo.Barras(codigo);

                            int registro_monedero = Monedero.Crear(codigo, codigo_barras);

                            if (registro_monedero != 0)
                            {
                                int vincular_codigo = Monedero.Vincular(id, registro_monedero);

                                if (vincular_codigo != 0)
                                {
                                    string id_usuario = id.ToString();
                                    FormsAuthentication.SetAuthCookie(id_usuario, false);
                                    Response.Redirect("MiDinero.aspx", false);
                                    HttpContext.Current.ApplicationInstance.CompleteRequest();
                                }
                            }
                        }
                    }
                }
            }
        }
        public ActionResult EnvioRegistro(string username, string password, string balance, string nombre, string apellido)
        {
            Jugador jug = new Jugador();

            jug.login    = username;
            jug.password = password;
            jug.nombre   = nombre;
            jug.apellido = apellido;
            HttpResponseMessage response = CrearJugadorDB(jug);
            var responseJugador          = response.Content.ReadAsStringAsync().Result;

            jug = JsonConvert.DeserializeObject <Jugador>(responseJugador);

            Monedero monedero = new Monedero();

            monedero.saldo     = Decimal.Parse(balance);
            monedero.idJugador = jug.id;
            CrearMonederoDB(monedero);

            return(RedirectToAction("Index"));
        }
示例#27
0
        protected void BtnConfirmar_Click(object sender, EventArgs e)
        {
            // ID del usuario que esta en sesion
            int id = Convert.ToInt16(Session["usuario"].ToString());

            // Obtiene la escuela que selecciono en usuario
            int escuela = Convert.ToInt16(ListaEscuelas.SelectedIndex.ToString());

            bool valida_celular = Validar.Celular(TxtCelular.Text.Trim());

            if (valida_celular)
            {
                bool valida_boleta = Validar.Boleta(TxtBoleta.Text.Trim());

                if (valida_boleta)
                {
                    bool valida_grupo = Validar.Grupo(TxtGrupo.Text.Trim().ToUpper());

                    if (valida_grupo)
                    {
                        int registro_datos = AgregarDatos.Generales(TxtNombre.Text.Trim(), TxtApellidoP.Text.Trim(), TxtApellidoM.Text.Trim(), TxtCelular.Text.Trim());

                        if (registro_datos != 0)
                        {
                            int registro_datos_escolares = AgregarDatos.Escolares(escuela, TxtBoleta.Text.Trim(), TxtGrupo.Text.Trim().ToUpper(), TxtEdad.Text.Trim());

                            if (registro_datos_escolares != 0)
                            {
                                int vincular_datos = Datos.VincularDatosGenerales(id, registro_datos);

                                if (vincular_datos != 0)
                                {
                                    int vincular_datos_escolares = Datos.VincularDatosEscolares(registro_datos, registro_datos_escolares);

                                    if (vincular_datos_escolares != 0)
                                    {
                                        string codigo        = CreacionCodigo.Monedero(TxtBoleta.Text.Trim());
                                        Byte[] codigo_barras = CreacionCodigo.Barras(codigo);

                                        int registro_monedero = Monedero.Crear(codigo, codigo_barras);

                                        if (registro_monedero != 0)
                                        {
                                            int vincular_codigo = Monedero.Vincular(id, registro_monedero);

                                            if (vincular_codigo != 0)
                                            {
                                                string id_usuario = id.ToString();
                                                FormsAuthentication.SetAuthCookie(id_usuario, false);
                                                Response.Redirect("MiDinero.aspx", false);
                                                HttpContext.Current.ApplicationInstance.CompleteRequest();
                                                Response.AppendHeader("Cache-Control", "no-store");
                                                Response.AppendHeader("Pragma", "no-cache");
                                                Response.CacheControl = "no-cache"; Response.Expires = -1;
                                            }
                                            else
                                            {
                                                LbError.Visible = true;
                                                LbError.Text    = "Error al registrar datos, intentalo mas tarde";
                                            }
                                        }
                                        else
                                        {
                                            LbError.Visible = true;
                                            LbError.Text    = "Error al registrar datos, intentalo mas tarde";
                                        }
                                    }
                                    else
                                    {
                                        LbError.Visible = true;
                                        LbError.Text    = "Error al registrar datos, intentalo mas tarde";
                                    }
                                }
                                else
                                {
                                    LbError.Visible = true;
                                    LbError.Text    = "Error al registrar datos, intentalo mas tarde";
                                }
                            }
                            else
                            {
                                LbError.Visible = true;
                                LbError.Text    = "Error al registrar datos, intentalo mas tarde";
                            }
                        }
                        else
                        {
                            LbError.Visible = true;
                            LbError.Text    = "Error al registrar datos, intentalo mas tarde";
                        }
                    }
                    else
                    {
                        LbError.Visible = true;
                        LbError.Text    = "Ingresa un grupo valido";
                    }
                }
                else
                {
                    LbError.Visible = true;
                    LbError.Text    = "Ingresa un numero de boleta valido";
                }
            }
            else
            {
                LbError.Visible = true;
                LbError.Text    = "Ingresa un numero de celular valido";
            }
        }
示例#28
0
        public InversionRecuperadasController_Details_test()
        {
            _contextOptions = CreateNewContextOptions();
            context         = new ApplicationDbContext(_contextOptions);

            //Insertar datos semilla en la base de datos usando una instancia de contexto
            var rating = new Rating {
                Nombre = "A"
            };

            context.Rating.Add(rating);
            var area = new Areas {
                Nombre = "Sanidad"
            };

            context.Areas.Add(area);
            var tipo = new TiposInversiones {
                Nombre = "Crownfunding"
            };

            context.TiposInversiones.Add(tipo);



            Proyecto proyecto1 = new Proyecto
            {
                ProyectoId      = 1,
                FechaExpiracion = new DateTime(2020, 1, 1),
                Importe         = 12,
                Interes         = 50,
                MinInversion    = 5,
                Nombre          = "Pruebas en sanidad",
                NumInversores   = 0,
                Plazo           = 12,
                Progreso        = 34,
                Rating          = rating
            };

            context.Proyecto.Add(proyecto1);

            context.ProyectoAreas.Add(new ProyectoAreas {
                Proyecto = proyecto1, Areas = area
            });


            Monedero monedero1 = new Monedero
            {
                MonederoId = 1,
                Dinero     = 500
            };

            context.Monedero.Add(monedero1);

            Inversor inversor1 = new Inversor
            {
                Id               = "1",
                Nombre           = "*****@*****.**",
                Email            = "*****@*****.**",
                Apellido1        = "Girón",
                Apellido2        = "López",
                Domicilio        = "C/Cuenca",
                Municipio        = "Albacete",
                NIF              = "48259596",
                Nacionalidad     = "Española",
                PaisDeResidencia = "España",
                Provincia        = "Albacete",
                PasswordHash     = "hola",
                UserName         = "******",
                Monedero         = monedero1
            };

            context.Users.Add(inversor1);


            Inversion inversion1 = new Inversion
            {
                InversionId        = 1,
                Cuota              = 150,
                EstadosInversiones = "En_Curso",
                Intereses          = 50,
                Inversor           = inversor1,
                Proyecto           = proyecto1,
                TipoInversionesId  = 1,
                Total              = 200
            };

            context.Inversion.Add(inversion1);

            Inversion inversion2 = new Inversion
            {
                InversionId        = 2,
                Cuota              = 150,
                EstadosInversiones = "Finalizado",
                Intereses          = 50,
                Inversor           = inversor1,
                Proyecto           = proyecto1,
                TipoInversionesId  = 1,
                Total              = 200
            };

            context.Inversion.Add(inversion2);


            InversionRecuperada invRec1 = new InversionRecuperada
            {
                InversionRecuperadaId = 1,
                CantidadRecuperada    = 5,
                Inversion             = inversion1,
                Comentario            = "OK 1",
                FechaRecuperacion     = DateTime.Now,
            };

            InversionRecuperada invRec2 = new InversionRecuperada
            {
                InversionRecuperadaId = 2,
                CantidadRecuperada    = 10,
                Inversion             = inversion1,
                Comentario            = "OK 2",
                FechaRecuperacion     = DateTime.Now,
            };

            context.InversionRecuperada.Add(invRec1);
            context.InversionRecuperada.Add(invRec2);

            context.SaveChanges();

            //Para simular la conexión:
            System.Security.Principal.GenericIdentity user     = new System.Security.Principal.GenericIdentity("*****@*****.**");
            System.Security.Claims.ClaimsPrincipal    identity = new System.Security.Claims.ClaimsPrincipal(user);
            inversionRecuperadaContext      = new Microsoft.AspNetCore.Http.DefaultHttpContext();
            inversionRecuperadaContext.User = identity;
        }
示例#29
0
        public async Task Create_POST_DatosCorrectos_Cuota()
        {
            using (context) //Base SQL ya generada con datos incluidos
            {
                //ARRANGE (Organizar) --> Creación de condiciones para la prueba.
                var controller = new InversionRecuperadasController(context);
                controller.ControllerContext.HttpContext = inversionRecuperadaContext;

                String[] ids = new string[1] {
                    "1"
                };
                SelectedInversionForRecuperarInversionViewModel inversiones = new SelectedInversionForRecuperarInversionViewModel()
                {
                    IdsToAdd = ids
                };

                var rating = new Rating {
                    RatingId = 1, Nombre = "A"
                };

                Monedero monedero1 = new Monedero
                {
                    MonederoId = 1,
                    Dinero     = 500
                };

                Proyecto proyecto1 = new Proyecto
                {
                    ProyectoId      = 1,
                    FechaExpiracion = new DateTime(2020, 1, 1),
                    Importe         = 12,
                    Interes         = 2,
                    MinInversion    = 5,
                    Nombre          = "Pruebas en sanidad",
                    NumInversores   = 0,
                    Plazo           = 12,
                    Progreso        = 34,
                    Rating          = rating
                };

                Inversor inversor1 = new Inversor
                {
                    Id               = "1",
                    Nombre           = "*****@*****.**",
                    Email            = "*****@*****.**",
                    Apellido1        = "Girón",
                    Apellido2        = "López",
                    Domicilio        = "C/Cuenca",
                    Municipio        = "Albacete",
                    NIF              = "48259596",
                    Nacionalidad     = "Española",
                    PaisDeResidencia = "España",
                    Provincia        = "Albacete",
                    PasswordHash     = "hola",
                    UserName         = "******",
                    Monedero         = monedero1
                };

                IList <Inversion> inversions = new Inversion[1]
                {
                    new Inversion {
                        InversionId        = 1,
                        Cuota              = 150,
                        EstadosInversiones = "En_Curso",
                        Intereses          = 50,
                        Inversor           = inversor1,
                        Proyecto           = proyecto1,
                        TipoInversionesId  = 1,
                        Total              = 200
                    }
                };



                IList <InversionRecuperada> listaInvRec = new InversionRecuperada[1]
                {
                    new InversionRecuperada
                    {
                        InversionRecuperadaId = 1,
                        Inversion             = inversions[0],
                        CantidadRecuperada    = 100,
                        Comentario            = "OK",
                        FechaRecuperacion     = DateTime.Now
                    }
                };



                InversionRecuperadaCreateViewModel inversionEsperada = new InversionRecuperadaCreateViewModel
                {
                    Inversiones            = inversions,
                    InversionesRecuperadas = listaInvRec
                };

                //ACT (Actuar) --> Realización de la prueba
                var result = controller.Create(inversionEsperada);

                //ASSERT --> Verificación de que el resultado fue el que se esperaba
                var viewResult = Assert.IsType <RedirectToActionResult>(result.Result);
                var current    = context.InversionRecuperada.FirstOrDefault();

                Assert.Equal(current, inversionEsperada.InversionesRecuperadas[0], Comparer.Get <InversionRecuperada>((i1, i2) => i1.Equals(i2)));

                Assert.Equal(viewResult.ActionName, "Details");
            }
        }
        //Constructor -> Iniciamos la base de datos InMemory.
        public InversionsController_Details_Test()
        {
            _contextOptions = CreateNewContextOptions();
            context         = new ApplicationDbContext(_contextOptions);

            // Insert seed data into the database using one instance of the context

            //Tipos de Inversiones
            TiposInversiones tipo1 = new TiposInversiones {
                Nombre = "Crowdfunding"
            };
            TiposInversiones tipo2 = new TiposInversiones {
                Nombre = "Venture Capital"
            };

            context.TiposInversiones.Add(tipo1);
            context.TiposInversiones.Add(tipo2);

            //Rating
            Rating rating = new Rating {
                Nombre = "A"
            };

            context.Rating.Add(rating);

            //Monedero
            Monedero monedero = new Monedero
            {
                MonederoId = 1,
                Dinero     = 8000
            };

            context.Monedero.Add(monedero);

            //Proyectos
            Proyecto proyecto1 = new Proyecto
            {
                ProyectoId      = 1,
                FechaExpiracion = new DateTime(2019, 01, 23),
                Importe         = 30000,
                Interes         = (float)5.90,
                MinInversion    = 50,
                Nombre          = "E-MEDICA",
                NumInversores   = 0,
                Plazo           = 12,
                Progreso        = 0,
                Rating          = rating
            };

            context.Proyecto.Add(proyecto1);

            //Inversor
            Inversor inversor = new Inversor
            {
                Id               = "1",
                Nombre           = "Yasin",
                Email            = "*****@*****.**",
                Apellido1        = "Muñoz",
                Apellido2        = "El Merabety",
                Domicilio        = "C/Gabriel Ciscar",
                Municipio        = "Albacete",
                NIF              = "47446245",
                Nacionalidad     = "Española",
                PaisDeResidencia = "España",
                Provincia        = "Albacete",
                PhoneNumber      = "684010548",
                PasswordHash     = "password",
                UserName         = "******",
                Monedero         = monedero
            };

            context.Users.Add(inversor);

            //Inversiones
            context.Inversion.Add(new Inversion
            {
                InversionId        = 1,
                Cuota              = 750,
                Intereses          = (float)5.9,
                Total              = (float)794.25,
                EstadosInversiones = "En Curso",
                TipoInversionesId  = 1,
                Proyecto           = new Proyecto {
                    ProyectoId = 1, FechaExpiracion = new DateTime(2019, 01, 23), Importe = 30000, Interes = (float)5.90, MinInversion = 50, Nombre = "E-MEDICA", NumInversores = 0, Plazo = 12, Progreso = 0, RatingId = 1
                },
                Inversor = new Inversor
                {
                    Id               = "1",
                    Nombre           = "Yasin",
                    Email            = "*****@*****.**",
                    Apellido1        = "Muñoz",
                    Apellido2        = "El Merabety",
                    Domicilio        = "C/Gabriel Ciscar",
                    Municipio        = "Albacete",
                    NIF              = "47446245",
                    Nacionalidad     = "Española",
                    PaisDeResidencia = "España",
                    Provincia        = "Albacete",
                    PhoneNumber      = "684010548",
                    PasswordHash     = "password",
                    UserName         = "******"
                }
            });
            context.Inversion.Add(new Inversion
            {
                InversionId        = 2,
                Cuota              = 850,
                Intereses          = (float)5.9,
                Total              = (float)911.625,
                EstadosInversiones = "En Curso",
                TipoInversionesId  = 2,
                Proyecto           = new Proyecto {
                    ProyectoId = 2, FechaExpiracion = new DateTime(2019, 01, 14), Importe = 70000, Interes = (float)7.25, MinInversion = 0, Nombre = "PROTOS", NumInversores = 0, Plazo = 48, Progreso = 0, RatingId = 1
                },
                Inversor = new Inversor
                {
                    Id               = "1",
                    Nombre           = "Yasin",
                    Email            = "*****@*****.**",
                    Apellido1        = "Muñoz",
                    Apellido2        = "El Merabety",
                    Domicilio        = "C/Gabriel Ciscar",
                    Municipio        = "Albacete",
                    NIF              = "47446245",
                    Nacionalidad     = "Española",
                    PaisDeResidencia = "España",
                    Provincia        = "Albacete",
                    PhoneNumber      = "684010548",
                    PasswordHash     = "password",
                    UserName         = "******"
                }
            });

            context.SaveChanges();

            //Simulación conexión de un usuario
            System.Security.Principal.GenericIdentity user     = new System.Security.Principal.GenericIdentity("*****@*****.**");
            System.Security.Claims.ClaimsPrincipal    identity = new System.Security.Claims.ClaimsPrincipal(user);
            inversionContext      = new Microsoft.AspNetCore.Http.DefaultHttpContext();
            inversionContext.User = identity;
        }