//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()); } }
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"); } }
//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)); }
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()); }
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()); }
// 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)); }
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)); } }
public static void ProbarValidarEdad(DateTime pEdad) { Inversor u = new Inversor(); Console.WriteLine(pEdad.ToString("yyyyMMdd") + " " + u.ValidarEdad(pEdad)); }
public void Save(Inversor estudiante) { this.estudianteRepository.Save(estudiante); }
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))); } }
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()); }
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))); } }
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(); }
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); }
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))); } }
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; }
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))); } }
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(); } } }
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"); } }