public IEnumerable <DtoProyecto> ImportarProyectos()
        {
            try
            {
                using (StreamReader sr = new StreamReader(pathAProyectos))
                {
                    string linea = sr.ReadLine();
                    while (linea != null)
                    {
                        var lineaVec = linea.Split("|".ToCharArray());
                        // solo importamos proyectos aprobados, que hayan sido presentados por usuarios solicitantes previamente registrados
                        if (lineaVec[1].ToString() == "A" && rS.FindById(int.Parse(lineaVec[9])) != null)
                        {
                            Proyecto pro = new Proyecto
                            {
                                // ejemplo de linea en el txt
                                // 1|P|I|Baubax Travel Jacket|TRAVEL JACKET with built-in Neck Pillow, Eye Mask, Gloves, Earphone Holders, Drink Pocket, Tech Pockets of all sizes! Comes in 4 Styles|baubaxTravelJacket.jpg|1|bla bla bla|2016-06-15 12:00:00 AM|57560340|10|545.00|5000.00|0.0900

                                IdProyecto            = int.Parse(lineaVec[0]),
                                Estado                = "A",                                         // todos los proyectos se importan como estado Abierto inicialmente
                                TipoDeEquipo          = (lineaVec[2].ToString() == "I") ? "P" : "C", // I = individual proyecto anterior, analogo a personal en este proycto
                                Titulo                = lineaVec[3].ToString(),
                                Descripcion           = lineaVec[4].ToString(),
                                ImgURL                = lineaVec[5].ToString(),
                                CantidadDeIntegrantes = int.Parse(lineaVec[6]),
                                ExperienciaPersonal   = lineaVec[7].ToString(),
                                FechaDePresentacion   = ConvertirAFecha(lineaVec[8]),
                                IdSolicitante         = int.Parse(lineaVec[9]),
                                //TODOMDA: verificar que los ultimos valores estan siendo cargados correctamente en el DTO, creo que aparecen en desorden
                                // en la vista de proyectos
                                Cuotas              = int.Parse(lineaVec[10]),
                                PrecioPorCuota      = decimal.Parse(lineaVec[11]),
                                MontoSolicitado     = decimal.Parse(lineaVec[12]),
                                PorcentajeDeInteres = decimal.Parse(lineaVec[13]),
                                MontoConseguido     = 0 // todos los proyectos se importan como teniendo 0 MontoConseguido
                            };

                            rP.Add(pro);
                        }
                        linea = sr.ReadLine();
                    }
                }
                return(ObtenerTodosLosProyectos());
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
                return(ObtenerTodosLosProyectos());
            }
        }
Ejemplo n.º 2
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());
        }
Ejemplo n.º 3
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());
        }