Пример #1
0
        //CREATE (GET)
        public IActionResult Create(SelectedInversionForRecuperarInversionViewModel selectedInversiones)
        {
            Inversion inversion;
            int       id;
            InversionRecuperadaCreateViewModel inv = new InversionRecuperadaCreateViewModel();

            inv.Inversiones = new List <Inversion>();
            Inversor inversor = _context.Users.OfType <Inversor>().FirstOrDefault <Inversor>(u => u.UserName.Equals(User.Identity.Name));

            if (selectedInversiones.IdsToAdd == null || selectedInversiones.IdsToAdd.Count() == 0)
            {
                return(RedirectToAction("SelectInversionForRecuperarInversion"));
                //ModelState.AddModelError("InversionNoSeleccionada", "Por favor, selecciona al menos una inversión para recuperarla");
            }
            else
            {
                foreach (string ids in selectedInversiones.IdsToAdd)
                {
                    id        = int.Parse(ids);
                    inversion = _context.Inversion.Include(m => m.TipoInversiones)
                                .Include(m => m.Proyecto)
                                .ThenInclude(p => p.ProyectoAreas).ThenInclude(pa => pa.Areas)
                                .Include(m => m.Proyecto).ThenInclude(r => r.Rating)
                                .Where(m => m.EstadosInversiones != "Recaudacion" && m.Inversor.UserName == User.Identity.Name)
                                .FirstOrDefault <Inversion>(i => i.InversionId.Equals(id));

                    inv.Inversiones.Add(inversion);
                }
            }
            return(View(inv));
        }
        public ActionResult Index(string cedula, string password)
        {
            RepositorioUsuarios repoUsuarios = new RepositorioUsuarios();
            Usuario             u            = repoUsuarios.FindById(cedula);

            if (u != null && u.password.Equals(password))
            {
                Session["usuario"] = u.cedula;
                Session["edad"]    = u.Edad();

                if (u is Admin)
                {
                    Admin a = (Admin)u;
                    return(RedirectToAction("Index", "Admin"));
                }
                if (u is Solicitante)
                {
                    Session["rol"] = "SOLICITANTE";
                    Solicitante s = (Solicitante)u;
                    return(RedirectToAction("Index", "Solicitante"));
                }
                if (u is Inversor)
                {
                    Session["rol"] = "INVERSOR";
                    Inversor i = (Inversor)u;
                    return(RedirectToAction("Index", "Inversor"));
                }
            }
            else
            {
                ViewBag.mensaje = "Login erroneo";
            }

            return(View());
        }
        public ActionResult Create([Bind(Include = "cedula,nombre,apellido,fechaNacimiento,password,celular,email,montoInversion,presentacion")] Inversor inversor)
        {
            if (ModelState.IsValid)
            {
                db.Usuarios.Add(inversor);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(inversor));
        }
        // POST: api/Inversor
        public IHttpActionResult Post([FromBody] Inversor unInversor)
        {
            if (repoInv.Add(unInversor))

            {
                return(CreatedAtRoute("GetById", new { id = unInversor.cedula }, unInversor));
            }

            else
            {
                return(InternalServerError());
            }
        }
Пример #5
0
        public static void ProbarBuscarInversor(int idInversor)
        {
            RepositorioInversor rI = new RepositorioInversor();
            Inversor            i  = rI.FindById(idInversor);

            if (i != null)
            {
                Console.WriteLine("Encontró inversor");
            }
            else
            {
                Console.WriteLine("No encontró inversor");
            }
        }
Пример #6
0
        //CREATE
        // GET: Inversions
        public IActionResult Create(SelectedProyectosForInversionViewModel selectedProyectos)
        {
            Proyecto proyecto;
            int      id;

            InversionesCreateViewModel inversion = new InversionesCreateViewModel();

            inversion.inversiones = new List <InversionCreateViewModel>();

            Inversor inversor = _context.Users.OfType <Inversor>().Include(m => m.Monedero).FirstOrDefault <Inversor>(p => p.UserName.Equals(User.Identity.Name));


            inversion.Name          = inversor.Nombre;
            inversion.FirstSurname  = inversor.Apellido1;
            inversion.SecondSurname = inversor.Apellido2;
            inversion.Cantidad      = inversor.Monedero.Dinero;

            if (selectedProyectos.IdsToAdd == null || selectedProyectos.IdsToAdd.Count() == 0)
            {
                return(RedirectToAction("SelectProyectosForInversion"));
            }

            else
            {
                foreach (string ids in selectedProyectos.IdsToAdd)
                {
                    id       = int.Parse(ids);
                    proyecto = _context.Proyecto.Include(p => p.Rating).Include(p => p.ProyectoAreas).
                               ThenInclude <Proyecto, ProyectoAreas, Areas>(p => p.Areas).Include(p => p.ProyectoTiposInversiones).
                               ThenInclude <Proyecto, ProyectoTiposInversiones, TiposInversiones>(p => p.TiposInversiones).Where(p => p.Plazo != null).Where(p => p.RatingId != null).
                               FirstOrDefault <Proyecto>(p => p.ProyectoId.Equals(id));
                    inversion.inversiones.Add(new InversionCreateViewModel()
                    {
                        Cuota          = 0, Interes = (float)proyecto.Interes, NombreProyecto = proyecto.Nombre, MinInver = proyecto.MinInversion,
                        TiposInversion = new SelectList(proyecto.ProyectoTiposInversiones.Select(pro => pro.TiposInversiones.Nombre).ToList()),
                        Rating         = proyecto.Rating.Nombre, Plazo = (int)proyecto.Plazo, ProyectoId = proyecto.ProyectoId, Cantidad = inversion.Cantidad,

                        inversion = new Inversion()
                        {
                            Proyecto = proyecto
                        }
                    });
                }
            }

            ViewBag.Cuota    = new SelectList(_context.Inversion.Select(c => c.Cuota).Distinct());
            ViewBag.Inversor = inversor;

            return(View(inversion));
        }
Пример #7
0
        public ActionResult Index(LoginDataModel pLoginData)
        {
            /*security check*/
            if (Session["tipoDeUsuario"] == null)
            {
                return(RedirectToAction("Logout", "Common"));
            }
            else if (Session["tipoDeUsuario"].ToString() != TiposDeUsuario.E_Nav.NoRegistrado.ToString())
            {
                return(RedirectToAction("Logout", "Common"));
            }

            RepositorioSolicitante rS = new RepositorioSolicitante();
            RepositorioInversor    rI = new RepositorioInversor();

            Inversor    i = rI.LoginAttempt(pLoginData.NombreDeUsuario, pLoginData.Pass);
            Solicitante s = rS.LoginAttempt(pLoginData.NombreDeUsuario, pLoginData.Pass);

            if (s != null)
            {
                // ingresar como solicitante
                Session["tipoDeUsuario"] = TiposDeUsuario.E_Nav.Solicitante;
                Session["idUsuario"]     = pLoginData.NombreDeUsuario;

                if (s.TienePassTemporal)
                {
                    return(RedirectToAction("Index", "CambiarPass"));
                }
                else
                {
                    return(RedirectToAction("Index", "HomeSolicitante"));
                }
            }
            else if (i != null)
            {
                // ingresar como inversor
                Session["tipoDeUsuario"] = TiposDeUsuario.E_Nav.Inversor;
                Session["idUsuario"]     = pLoginData.NombreDeUsuario;
                return(RedirectToAction("Index", "HomeInversor"));
            }
            else
            {
                Session["tipoDeUsuario"] = TiposDeUsuario.E_Nav.NoRegistrado;
                ViewData["Mensaje"]      = "Nombre de usuario y/o contraseña incorrectos.";
            }

            return(View());
        }
Пример #8
0
        public ActionResult Index(InversorRegistrationModel pRegistrationData)
        {
            RepositorioSolicitante rS = new RepositorioSolicitante();
            RepositorioInversor    rI = new RepositorioInversor();

            Inversor inversor = new Inversor
            {
                IdUsuario            = int.Parse(pRegistrationData.NombreDeUsuario),
                Nombre               = pRegistrationData.Nombre,
                Apellido             = pRegistrationData.Apellido,
                Pass                 = pRegistrationData.Pass,
                FechaDeNacimiento    = pRegistrationData.FechaDeNacimiento,
                Email                = pRegistrationData.Email,
                Cell                 = pRegistrationData.Cell,
                TienePassTemporal    = false,
                MaxInvPorProyecto    = pRegistrationData.MaxInvPorProyecto,
                PresentacionInversor = pRegistrationData.PresentacionInversor
            };

            if (rS.FindById(int.Parse(pRegistrationData.NombreDeUsuario)) != null)
            {
                ViewData["Mensaje"] = "Solicitante con misma CI ya existe en el sistema.";
            }
            else if (rS.ExistsByEmail(pRegistrationData.Email) || rI.ExistsByEmail(pRegistrationData.Email))
            {
                ViewData["Mensaje"] = "Usuario con el mismo Email ya existe en el sistema.";
            }
            else if (!inversor.ValidarParaRepositorio())
            {
                ViewData["Mensaje"] = "Uno o mas campos incorrectos.";
            }
            else
            {
                if (rI.Add(inversor))
                {
                    ViewData["Mensaje"] = "Inversor registrado correctamente.";
                }
                else
                {
                    ViewData["Mensaje"] = "Error de ingreso, intente nuevamente.";
                }
            }

            return(View());
        }
Пример #9
0
        // GET: InversionRecuperadas/Details/5
        public async Task <IActionResult> Details(InversionRecuperadaDetailsViewModel detailsVM)
        {
            Inversor inversor = _context.Users.OfType <Inversor>().FirstOrDefault <Inversor>(u => u.UserName.Equals(User.Identity.Name));
            InversionRecuperadaDetailsViewModel inv = new InversionRecuperadaDetailsViewModel();

            int[] ids = detailsVM.IdsToAdd;

            if (detailsVM.IdsToAdd == null || detailsVM.IdsToAdd.Count() == 0)
            {
                return(RedirectToAction("Create"));
            }

            var invRec = _context.InversionRecuperada.Include(m => m.Inversion).ThenInclude(t => t.TipoInversiones)
                         .Include(m => m.Inversion).ThenInclude(p => p.Proyecto).ThenInclude(pa => pa.ProyectoAreas).ThenInclude(a => a.Areas)
                         .Include(m => m.Inversion).ThenInclude(p => p.Proyecto).ThenInclude(r => r.Rating)
                         .Where(i => ids.Contains(i.InversionRecuperadaId)).ToList();


            return(View(invRec));
        }
Пример #10
0
        public static void ProbarAgregarInversor()
        {
            Inversor i = new Inversor
            {
                IdUsuario            = 31832575,
                Nombre               = "Gordon",
                Apellido             = "Gordoñez",
                Pass                 = "******",
                FechaDeNacimiento    = ConvertirAFecha("1991-02-17"),
                Email                = "*****@*****.**",
                Cell                 = "099879997",
                TienePassTemporal    = false,
                MaxInvPorProyecto    = (decimal)2000.0,
                PresentacionInversor = "hola esta es mi presentacion"
            };

            RepositorioInversor rI = new RepositorioInversor();

            rI.Add(i);
        }
        public async Task Select_NoInversionesSeleccionadas()
        {
            using (context)
            {
                //Arrange

                var controller = new InversionRecuperadasController(context);
                controller.ControllerContext.HttpContext = inversionRecuperadaContext;

                var area   = "Sanidad";
                var rating = new Rating {
                    RatingId = 1, Nombre = "A"
                };
                var tipo = new TiposInversiones {
                    TiposInversionesId = 1, Nombre = "Crownfunding"
                };

                String[] areasEsperadas = new String[1] {
                    "Sanidad"
                };
                String[] ratingsEsperados = new String[1] {
                    "A"
                };
                String[] tiposEsperados = new String[1] {
                    "Crownfunding"
                };

                var areasEsperadasSelect   = new SelectList(areasEsperadas);
                var ratingsEsperadosSelect = new SelectList(ratingsEsperados);
                var tiposEsperadosSelect   = new SelectList(tiposEsperados);


                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         = "******"
                };

                var inversionesEsperadas = new Inversion[2]
                {
                    new Inversion {
                        InversionId        = 1,
                        Cuota              = 6,
                        EstadosInversiones = "En_Curso",
                        Intereses          = 12,
                        Inversor           = inversor1,
                        Proyecto           = proyecto1,
                        TipoInversionesId  = 1,
                        Total              = 50
                    },

                    new Inversion {
                        InversionId        = 2,
                        Cuota              = 15,
                        EstadosInversiones = "Finalizado",
                        Intereses          = 23,
                        Inversor           = inversor1,
                        Proyecto           = proyecto1,
                        TipoInversionesId  = 1,
                        Total              = 100,
                    }
                };


                SelectedInversionForRecuperarInversionViewModel inversiones = new SelectedInversionForRecuperarInversionViewModel {
                    IdsToAdd = null
                };

                // Act

                var result = controller.SelectInversionForRecuperarInversion(inversiones);

                // Assert
                var viewResult = Assert.IsType <ViewResult>(result); //Comprueba si el controlador devuelve una vista
                SelectInversionForRecuperarInversionViewModel model = viewResult.Model as SelectInversionForRecuperarInversionViewModel;

                Assert.Equal(inversionesEsperadas, model.Inversiones, Comparer.Get <Inversion>((i1, i2) => i1.Cuota == i2.Cuota && i1.EstadosInversiones == i2.EstadosInversiones &&
                                                                                               i1.TipoInversionesId == i1.TipoInversionesId && i1.Total == i2.Total));

                Assert.Equal(areasEsperadasSelect.Count(), model.Areas.Count());
                Assert.Equal(areasEsperadasSelect, model.Areas, Comparer.Get <SelectListItem>((i1, i2) => i1.Value == i2.Value));

                Assert.Equal(ratingsEsperados.Count(), model.Ratings.Count());
                Assert.Equal(ratingsEsperadosSelect, model.Ratings, Comparer.Get <SelectListItem>((i1, i2) => i1.Value == i2.Value));

                Assert.Equal(tiposEsperados.Count(), model.Tipos.Count());
                Assert.Equal(tiposEsperadosSelect, model.Tipos, Comparer.Get <SelectListItem>((i1, i2) => i1.Value == i2.Value));
            }
        }
        public async Task Select_FiltroEstado()
        {
            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;

                var area   = "Sanidad";
                var rating = new Rating {
                    RatingId = 1, Nombre = "A"
                };
                var tipo = new TiposInversiones {
                    TiposInversionesId = 1, Nombre = "Crownfunding"
                };

                String[] areasEsperadas = new String[1] {
                    "Sanidad"
                };
                String[] ratingsEsperados = new String[1] {
                    "A"
                };
                String[] tiposEsperados = new String[1] {
                    "Crownfunding"
                };

                var areasEsperadasSelect   = new SelectList(areasEsperadas);
                var ratingsEsperadosSelect = new SelectList(ratingsEsperados);
                var tiposEsperadosSelect   = new SelectList(tiposEsperados);


                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         = "******"
                };

                var inversionesEsperadas = new Inversion[1]
                {
                    new Inversion {
                        InversionId        = 1,
                        Cuota              = 6,
                        EstadosInversiones = "En_Curso",
                        Intereses          = 12,
                        Inversor           = inversor1,
                        Proyecto           = proyecto1,
                        TipoInversionesId  = 1,
                        Total              = 50
                    }
                };

                //ACT (Actuar) --> Realización de la prueba
                var result = controller.SelectInversionForRecuperarInversion(0, null, "En_Curso", null, null);

                //ASSERT --> Verificación de que el resultado fue el que se esperaba
                var viewResult = Assert.IsType <ViewResult>(result); //Comprueba si el controlador devuelve una vista
                SelectInversionForRecuperarInversionViewModel model = viewResult.Model as SelectInversionForRecuperarInversionViewModel;

                Assert.Equal(inversionesEsperadas, model.Inversiones, Comparer.Get <Inversion>((i1, i2) => i1.Cuota == i2.Cuota && i1.EstadosInversiones == i2.EstadosInversiones &&
                                                                                               i1.TipoInversionesId == i1.TipoInversionesId && i1.Total == i2.Total));

                Assert.Equal(areasEsperadasSelect.Count(), model.Areas.Count());
                Assert.Equal(areasEsperadasSelect, model.Areas, Comparer.Get <SelectListItem>((i1, i2) => i1.Value == i2.Value));

                Assert.Equal(ratingsEsperados.Count(), model.Ratings.Count());
                Assert.Equal(ratingsEsperadosSelect, model.Ratings, Comparer.Get <SelectListItem>((i1, i2) => i1.Value == i2.Value));

                Assert.Equal(tiposEsperados.Count(), model.Tipos.Count());
                Assert.Equal(tiposEsperadosSelect, model.Tipos, Comparer.Get <SelectListItem>((i1, i2) => i1.Value == i2.Value));
            }
        }
Пример #13
0
        public static void ProbarValidarEdad(DateTime pEdad)
        {
            Inversor u = new Inversor();

            Console.WriteLine(pEdad.ToString("yyyyMMdd") + " " + u.ValidarEdad(pEdad));
        }
Пример #14
0
 public void Save(Inversor estudiante)
 {
     this.estudianteRepository.Save(estudiante);
 }
Пример #15
0
        public ActionResult Index(CambiarPassModel pCambiarPassData)
        {
            if (Session["tipoDeUsuario"].ToString() == TiposDeUsuario.E_Nav.Solicitante.ToString())
            {
                RepositorioSolicitante rS = new RepositorioSolicitante();
                Solicitante            s  = rS.FindById(int.Parse(Session["idUsuario"].ToString()));

                if (s == null)
                {
                    return(RedirectToAction("Index", "HomeSinRegistrar"));
                }
                else if (s.Pass != pCambiarPassData.Pass)
                {
                    if (s.ValidarContrasenia(pCambiarPassData.Pass))
                    {
                        s.Pass = pCambiarPassData.Pass;
                        s.TienePassTemporal = false;
                        if (rS.Update(s))
                        {
                            // si el cambio de contraseña es exitoso lo deslogeamos y que se logee nuevamente
                            return(RedirectToAction("Logout", "Common"));
                            //ViewData["Mensaje"] = "Contraseña cambiada correctamente.";
                        }
                        else
                        {
                            ViewData["Mensaje"] = "Error al interactuar con la base de datos.";
                        }
                    }
                    else
                    {
                        ViewData["Mensaje"] = "Contraseña en formato inválido.";
                    }
                }
                else
                {
                    ViewData["Mensaje"] = "Contraseña nueva no puede ser igual a contraseña anterior.";
                }
            }
            else if (Session["tipoDeUsuario"].ToString() == TiposDeUsuario.E_Nav.Inversor.ToString())
            {
                RepositorioInversor rI = new RepositorioInversor();
                Inversor            i  = rI.FindById(int.Parse(Session["idUsuario"].ToString()));

                if (i == null)
                {
                    return(RedirectToAction("Index", "HomeSinRegistrar"));
                }
                else if (i.Pass != pCambiarPassData.Pass)
                {
                    if (i.ValidarContrasenia(pCambiarPassData.Pass))
                    {
                        i.Pass = pCambiarPassData.Pass;
                        i.TienePassTemporal = false;
                        if (rI.Update(i))
                        {
                            // si el cambio de contraseña es exitoso lo deslogeamos y que se logee nuevamente
                            return(RedirectToAction("Logout", "Common"));
                        }
                        else
                        {
                            ViewData["Mensaje"] = "Error al interactuar con la base de datos.";
                        }
                    }
                    else
                    {
                        ViewData["Mensaje"] = "Contraseña en formato inválido.";
                    }
                }
                else
                {
                    ViewData["Mensaje"] = "Contraseña nueva no puede ser igual a contraseña anterior.";
                }
            }
            else
            {
                return(RedirectToAction("Index", "HomeSinRegistrar"));
            }

            return(View());
        }
        //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;
        }
        public async Task Details_Inversion_Found()
        {
            using (context)
            {
                // Arrenge
                var controller = new InversionsController(context);
                //Simular una conexion de usuario
                controller.ControllerContext.HttpContext = inversionContext;

                int[] ids = new int[2] {
                    1, 2
                };
                InversionDetailsViewModel detailsViewModel = new InversionDetailsViewModel()
                {
                    ids = ids
                };

                //Inversor esperado
                Inversor expectedinversor = 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         = "******"
                };

                //Proyectos esperados
                var expectedProyectos = new Proyecto[2] {
                    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
                    },
                    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
                    }
                };

                //Inversion esperada
                var expectedInversiones = new Inversion[]
                {
                    new Inversion
                    {
                        InversionId        = 1,
                        Cuota              = 750,
                        EstadosInversiones = "En Curso",
                        Intereses          = (float)5.9,
                        InversorId         = "1",
                        Proyecto           = expectedProyectos[0],
                        Inversor           = expectedinversor,
                        TipoInversionesId  = 2,
                        Total              = (float)794.25
                    },
                    new Inversion
                    {
                        InversionId        = 2,
                        Cuota              = 850,
                        EstadosInversiones = "En Curso",
                        Intereses          = (float)7.25,
                        InversorId         = "2",
                        Proyecto           = expectedProyectos[1],
                        Inversor           = expectedinversor,
                        TipoInversionesId  = 1,
                        Total              = (float)911.625
                    }
                };

                //Act
                var result = await controller.Details(detailsViewModel);

                //Assert

                ViewResult viewResult = Assert.IsType <ViewResult>(result);
                var        model      = viewResult.Model as IEnumerable <Inversion>;

                Assert.Equal(expectedInversiones, model, Comparer.Get <Inversion>((i1, i2) => i1.Equals(i2)));
            }
        }
Пример #18
0
        public static void ProbarValidarCelular(string pCell)
        {
            Inversor u = new Inversor();

            Console.WriteLine(pCell + " " + u.ValidarCelular(pCell));
        }
 public ActionResult Put([FromBody] Inversor estudiante)
 {
     this.estudianteService.Save(estudiante);
     return(Ok());
 }
Пример #20
0
        public async Task Details_GET_ConInversionesRecuperadas()
        {
            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;

                int[] ids = new int[2] {
                    1, 2
                };
                InversionRecuperadaDetailsViewModel detailsVM = new InversionRecuperadaDetailsViewModel()
                {
                    IdsToAdd = ids
                };


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

                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
                };

                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         = "******"
                };



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

                var invRecEsperadas = new InversionRecuperada[]
                {
                    new InversionRecuperada
                    {
                        InversionRecuperadaId = 1,
                        InversionId           = 1,
                        CantidadRecuperada    = 5,
                        Inversion             = inversion1,
                        Comentario            = "OK 1",
                        FechaRecuperacion     = DateTime.Now,
                    },

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



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



                //ASSERT --> Verificación de que el resultado fue el que se esperaba
                ViewResult viewResult = Assert.IsType <ViewResult>(result.Result); //Comprueba si el controlador devuelve una vista
                var        model      = viewResult.Model as IEnumerable <InversionRecuperada>;

                Assert.Equal(invRecEsperadas, model, Comparer.Get <InversionRecuperada>((i1, i2) => i1.Equals(i2)));
            }
        }
Пример #21
0
        public static void ProbarValidarContrasenia(string pPass)
        {
            Inversor u = new Inversor();

            Console.WriteLine(pPass + " " + u.ValidarContrasenia(pPass));
        }
 public void Save(Inversor estudiante)
 {
     context.Inversores.Add(estudiante);
     context.SaveChanges();
 }
Пример #23
0
        public async Task <IActionResult> Create(InversionesCreateViewModel inversionCreate)
        {
            //var inversiones = new List<InversionCreateViewModel>();
            Inversion inversion;
            Proyecto  proyecto;

            Inversor inversor = _context.Users.OfType <Inversor>().Include(m => m.Monedero).FirstOrDefault <Inversor>(p => p.UserName.Equals(User.Identity.Name));

            int[] idsInversion;
            ModelState.Clear();

            int i = 0;

            foreach (InversionCreateViewModel itemInversion in inversionCreate.inversiones)
            {
                proyecto = await _context.Proyecto.FirstOrDefaultAsync <Proyecto>(m => m.ProyectoId == itemInversion.inversion.Proyecto.ProyectoId);

                inversion = new Inversion();

                if (itemInversion.Cuota.CompareTo(itemInversion.MinInver) <= 0 && itemInversion.TiposInversionSelected == null)
                {
                    ModelState.AddModelError("Cuota y Tipo de Inversión incorrecto", $"Cuota y Tipo de Inversión incorrectos en {inversionCreate.inversiones[i].NombreProyecto}. Por favor, vuelva a introducir los datos para realizar las inversiones.");
                }
                else if (itemInversion.Cuota.CompareTo((float)itemInversion.Cantidad) >= 0 && itemInversion.TiposInversionSelected == null)
                {
                    ModelState.AddModelError("Cuota y Tipo de Inversión incorrecto", $"Cuota y Tipo de Inversión incorrectos en {inversionCreate.inversiones[i].NombreProyecto}. Por favor, vuelva a introducir los datos para realizar las inversiones.");
                }
                else if (itemInversion.Cuota.CompareTo(itemInversion.MinInver) <= 0)
                {
                    ModelState.AddModelError("Ha introducido una cuota incorrecta", $"Ha introducido una cuota incorrecta en {inversionCreate.inversiones[i].NombreProyecto}. Por favor, vuelva a introducir los datos para realizar las inversiones.");
                }
                else if (itemInversion.Cuota.CompareTo((float)itemInversion.Cantidad) >= 0)
                {
                    ModelState.AddModelError("Ha introducido una cuota incorrecta", $"Ha introducido una cuota incorrecta en {inversionCreate.inversiones[i].NombreProyecto}. Por favor, vuelva a introducir los datos para realizar las inversiones.");
                }
                else if (itemInversion.TiposInversionSelected == null)
                {
                    ModelState.AddModelError("No ha seleccionado un tipo de inversión", $"No ha seleccionado un tipo de inversión en {inversionCreate.inversiones[i].NombreProyecto}. Por favor, vuelva a introducir los datos para realizar las inversiones.");
                }
                else
                {
                    itemInversion.inversion.Cuota     = itemInversion.Cuota;
                    itemInversion.inversion.Intereses = (float)itemInversion.Interes;
                    itemInversion.inversion.Inversor  = inversor;

                    if (itemInversion.TiposInversionSelected == "Business Angels")
                    {
                        itemInversion.inversion.TipoInversionesId = 1;
                    }
                    else if (itemInversion.TiposInversionSelected == "Crownfunding")
                    {
                        itemInversion.inversion.TipoInversionesId = 2;
                    }
                    else
                    {
                        itemInversion.inversion.TipoInversionesId = 3;
                    }

                    itemInversion.inversion.EstadosInversiones = "En Curso";
                    itemInversion.inversion.Total = (itemInversion.Cuota * (itemInversion.Interes / 100)) + itemInversion.Cuota;
                    itemInversion.inversion.Inversor.Monedero.Dinero = itemInversion.Cantidad - (decimal)itemInversion.Cuota;

                    _context.Add(itemInversion.inversion);
                }
                i++;
            }

            if (ModelState.ErrorCount > 0)
            {
                inversionCreate.Name          = inversor.Nombre;
                inversionCreate.FirstSurname  = inversor.Apellido1;
                inversionCreate.SecondSurname = inversor.Apellido2;

                SelectedProyectosForInversionViewModel selectedProyectos = new SelectedProyectosForInversionViewModel();

                int      j         = 0;
                int      tam       = inversionCreate.inversiones.Count;
                String[] IdsToAdd2 = new string[tam];

                foreach (InversionCreateViewModel itemInversion2 in inversionCreate.inversiones)
                {
                    int    proyId = itemInversion2.ProyectoId;
                    string str    = Convert.ToString(proyId);
                    IdsToAdd2[j] = str;
                    selectedProyectos.IdsToAdd = IdsToAdd2;
                    j++;
                }

                selectedProyectos.IdsToAdd = IdsToAdd2;
                return(Create(selectedProyectos));
            }

            await _context.SaveChangesAsync();

            //DETAILS
            idsInversion = new int[inversionCreate.inversiones.Count];

            for (int k = 0; k < idsInversion.Length; k++)
            {
                idsInversion[k] = inversionCreate.inversiones[k].inversion.InversionId;
            }

            InversionDetailsViewModel detailsViewModel = new InversionDetailsViewModel();

            detailsViewModel.ids = idsInversion;

            return(RedirectToAction("Details", detailsViewModel));
        }
 public void Save(Inversor estudiante)
 {
     lst.Add(estudiante);
 }
Пример #25
0
        public async Task Create_GET_ConInversiones()
        {
            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"
                };

                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
                };

                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         = "******"
                };

                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
                    }
                };

                InversionRecuperadaCreateViewModel inversionEsperada = new InversionRecuperadaCreateViewModel
                {
                    Inversiones = inversions
                };


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

                //ASSERT --> Verificación de que el resultado fue el que se esperaba
                ViewResult viewResult = Assert.IsType <ViewResult>(result); //Comprueba si el controlador devuelve una vista
                InversionRecuperadaCreateViewModel model = viewResult.Model as InversionRecuperadaCreateViewModel;

                Assert.Equal(inversionEsperada.Inversiones, model.Inversiones, Comparer.Get <Inversion>((i1, i2) => i1.Equals(i2)));
            }
        }
Пример #26
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;
        }
Пример #27
0
        public async Task Create_POST_CantidadNoPermitida()
        {
            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"
                };

                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         = "******"
                };

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

                IList <InversionRecuperada> listaInvRec = new InversionRecuperada[1]
                {
                    new InversionRecuperada
                    {
                        InversionRecuperadaId = 1,
                        Inversion             = inversions[0],
                        CantidadRecuperada    = 50000,
                        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
                ViewResult viewResult = Assert.IsType <ViewResult>(result.Result); //Comprueba si el controlador devuelve una vista

                InversionRecuperadaCreateViewModel model = viewResult.Model as InversionRecuperadaCreateViewModel;
                var error = viewResult.ViewData.ModelState["CantidadNoPermitida"].Errors.FirstOrDefault();

                Assert.Equal("No se puede recuperar dicha cantidad para la inversión 1, eliga una cantidad menor.", error.ErrorMessage);

                Assert.Equal(inversionEsperada.Inversiones, model.Inversiones, Comparer.Get <Inversion>((i1, i2) => i1.Equals(i2)));
            }
        }
Пример #28
0
        public static void SeedUsers(UserManager <ApplicationUser> userManager, List <string> roles)
        {
            //first, it checks the user does not already exist in the DB

            if (userManager.FindByNameAsync("*****@*****.**").Result == null)
            {
                ApplicationUser user = new Trabajador();
                user.UserName         = "******";
                user.Email            = "*****@*****.**";
                user.Nombre           = "Sergio";
                user.Apellido1        = "Ruiz";
                user.Apellido2        = "Villafranca";
                user.CodPost          = 2000;
                user.Domicilio        = "Calle";
                user.Municipio        = "Albacete";
                user.Nacionalidad     = "Española";
                user.NIF              = "123";
                user.PaisDeResidencia = "España";
                user.Provincia        = "Albacete";


                IdentityResult result = userManager.CreateAsync(user, "TPassword1234%").Result;

                if (result.Succeeded)
                {
                    //administrator role
                    userManager.AddToRoleAsync(user, roles[0]).Wait();
                }
            }

            if (userManager.FindByNameAsync("*****@*****.**").Result == null)
            {
                ApplicationUser user = new Inversor();
                user.UserName         = "******";
                user.Email            = "*****@*****.**";
                user.Nombre           = "Gregorio";
                user.Apellido1        = "Diaz";
                user.Apellido2        = "Descalzo";
                user.CodPost          = 2000;
                user.Domicilio        = "Calle";
                user.Municipio        = "Albacete";
                user.Nacionalidad     = "Española";
                user.NIF              = "123";
                user.PaisDeResidencia = "España";
                user.Provincia        = "Albacete";

                IdentityResult result = userManager.CreateAsync(user, "IPassword1234%").Result;

                if (result.Succeeded)
                {
                    //Employee role
                    userManager.AddToRoleAsync(user, roles[1]).Wait();
                }
            }

            if (userManager.FindByNameAsync("*****@*****.**").Result == null)
            {
                ApplicationUser user = new Inversor();
                user.UserName         = "******";
                user.Email            = "*****@*****.**";
                user.Nombre           = "Peter";
                user.Apellido1        = "Diaz";
                user.Apellido2        = "Descalzo";
                user.CodPost          = 2000;
                user.Domicilio        = "Calle";
                user.Municipio        = "Albacete";
                user.Nacionalidad     = "Española";
                user.NIF              = "123";
                user.PaisDeResidencia = "España";
                user.Provincia        = "Albacete";

                IdentityResult result = userManager.CreateAsync(user, "APassword1234%").Result;

                if (result.Succeeded)
                {
                    //Employee role
                    userManager.AddToRoleAsync(user, roles[1]).Wait();
                }
            }
        }
Пример #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");
            }
        }