public ActionResult Create(ProyectoModel pro)
        {
            try
            {
                string usu = (string)Session["usuario"];
                RepositorioUsuarios repoUsuarios = new RepositorioUsuarios();
                Solicitante         u            = (Solicitante)repoUsuarios.FindById(usu);

                if (ModelState.IsValid && pro.SubirArchivoGuardarNombre())
                {
                    if (pro.tipo == "Cooperativo")
                    {
                        Cooperativo c = new Cooperativo();
                        if (pro.SubirArchivoGuardarNombre())
                        {
                            c.titulo          = pro.titulo;
                            c.descripcion     = pro.descripcion;
                            c.monto           = pro.monto;
                            c.cuotas          = pro.cuotas;
                            c.cantIntegrantes = pro.cantidadIntegrantes;
                            c.solicitante     = u;
                            RepositorioProyectos repo = new RepositorioProyectos();
                            if (repo.Add(c))
                            {
                                return(RedirectToAction("Index", "Solicitante"));
                            }
                            else
                            {
                                ViewBag.Mensaje = "Error al agregar un proyecto. Reintente";
                                return(View(pro));
                            }
                        }
                    }
                    if (pro.tipo == "Personal")
                    {
                        Personal c = new Personal();
                        if (pro.SubirArchivoGuardarNombre())
                        {
                            c.titulo      = pro.titulo;
                            c.descripcion = pro.descripcion;
                            c.monto       = pro.monto;
                            c.cuotas      = pro.cuotas;
                            c.experiencia = pro.experiencia;
                            c.solicitante = u;
                            RepositorioProyectos repo = new RepositorioProyectos();
                            repo.Add(c);
                            return(RedirectToAction("Index", "Solicitante"));
                        }
                    }
                }
                ViewBag.Mensaje = "Error al agregar un proyecto. Reintente";
                return(View(pro));
            }
            catch
            {
                return(View(pro));
            }
        }
        public ActionResult Index(string titulo, string descripcion, decimal monto, int cantidadCuotas, string tipoProyecto, int?cantidadIntegrantes, string experiencia, HttpPostedFileBase imagen)
        {
            RepositorioProyectos repoProyectos = new RepositorioProyectos();

            try
            {
                string usu = (string)Session["usuario"];
                RepositorioUsuarios        repoUsuarios = new RepositorioUsuarios();
                Solicitante                u            = (Solicitante)repoUsuarios.FindById(usu);
                RepositorioConfiguraciones repoConfig   = new RepositorioConfiguraciones();
                Cuota_Tasa tasaycuotas = repoConfig.FindTasaYcuoutas(cantidadCuotas);

                if (tipoProyecto == "Cooperativo")
                {
                    Cooperativo c = new Cooperativo();
                    if (c.SubirArchivoGuardarNombre(imagen))
                    {
                        c.titulo          = titulo;
                        c.descripcion     = descripcion;
                        c.monto           = monto;
                        c.cuotas          = cantidadCuotas;
                        c.tasaInteres     = tasaycuotas.tasa;
                        c.cantIntegrantes = (int)cantidadIntegrantes;
                        c.solicitante     = u;

                        Session["proyecto"] = c;
                        return(RedirectToAction("Confirmar", c));
                    }
                }
                if (tipoProyecto == "Personal")
                {
                    Personal c = new Personal();
                    if (c.SubirArchivoGuardarNombre(imagen))
                    {
                        c.titulo      = titulo;
                        c.descripcion = descripcion;
                        c.monto       = monto;
                        c.cuotas      = tasaycuotas.cuotas;
                        c.tasaInteres = tasaycuotas.tasa;
                        c.experiencia = experiencia;
                        c.solicitante = u;
                        return(RedirectToAction("Confirmar", c));
                    }
                }
                return(RedirectToAction("Index"));
            }
            catch
            {
                return(RedirectToAction("Index"));
            }
        }
        public ActionResult Confirmar(Proyecto p1)
        {
            Proyecto p = (Proyecto)Session["proyecto"];

            if (p.GetType().Name.ToUpper() == "COOPERATIVO")
            {
                Cooperativo s = (Cooperativo)p;
                return(RedirectToAction("Guardar", s));
            }

            Personal pe = (Personal)p;

            return(RedirectToAction("Guardar", pe));
        }
Exemplo n.º 4
0
        public ActionResult AltaCooperativo(Proyecto unP, int integrantes)
        {
            int     ci  = (int)(Session["ci"]);
            Usuario unU = Usuario.getUsuarioByCi(ci);
            string  msg = "";

            if (unP.Descripcion.Length >= 30 &&
                unP.Titulo.Length >= 1 &&
                unP.MontoSolicitado > 0 && unP.CantidadCuotas > 0 &&
                unP != null && integrantes > 1 &&
                Cooperativo.AltaCooperativo(unP, unU, integrantes) == "ok")
            {
                msg = "Alta exitosa";
                return(RedirectToAction("MostrarProyecto"));
            }
            else
            {
                msg = Cooperativo.AltaCooperativo(unP, unU, integrantes);
            }


            ViewBag.mensaje = msg;
            return(View(unP));
        }
        public Proyecto FindById(object idProyecto)
        {
            SqlConnection cn     = new Conexion().CrearConexion();
            SqlCommand    cmdCli = new SqlCommand(@"SELECT P.Id,P.Cedula,P.Titulo,P.Descripcion,P.Monto,P.Cuotas,
              P.NombreImagen,P.Estado,P.FechaPresentacion,P.Puntaje,P.TasaInteres,P.Tipo,PE.Experiencia,C.CantIntegrantes
                 FROM Proyectos P
                 LEFT JOIN Personales PE ON P.Id = PE.Id 
                 LEFT JOIN Cooperativos C ON P.Id = C.Id
                 WHERE P.Id=@idProyecto;", cn);

            cmdCli.Parameters.AddWithValue("@idProyecto", idProyecto);
            try
            {
                Proyecto u = new Proyecto();
                if (new Conexion().AbrirConexion(cn))
                {
                    SqlDataReader dr = cmdCli.ExecuteReader();

                    if (dr.Read())
                    {
                        if (dr["Tipo"].ToString() == "PERSONAL")
                        {
                            RepositorioUsuarios repoUser = new RepositorioUsuarios();
                            Personal            p        = new Personal();
                            p.id                = (int)dr["Id"];
                            p.solicitante       = (Solicitante)repoUser.FindById(dr["Cedula"]);
                            p.titulo            = (string)dr["Titulo"];
                            p.descripcion       = (string)dr["Descripcion"];
                            p.monto             = (decimal)dr["Monto"];
                            p.cuotas            = (int)dr["Cuotas"];
                            p.rutaImagen        = (string)dr["NombreImagen"];
                            p.estado            = (string)dr["Estado"];
                            p.fechaPresentacion = (DateTime)dr["FechaPresentacion"];
                            p.puntaje           = (int)dr["Puntaje"];
                            p.tasaInteres       = (decimal)dr["TasaInteres"];
                            p.experiencia       = (string)dr["Experiencia"];

                            return(p);
                        }
                        else if (dr["Tipo"].ToString() == "COOPERATIVO")
                        {
                            RepositorioUsuarios repoUser = new RepositorioUsuarios();
                            Cooperativo         c        = new Cooperativo();
                            c.id                = (int)dr["Id"];
                            c.solicitante       = (Solicitante)repoUser.FindById(dr["Cedula"]);
                            c.titulo            = (string)dr["Titulo"];
                            c.descripcion       = (string)dr["Descripcion"];
                            c.monto             = (decimal)dr["Monto"];
                            c.cuotas            = (int)dr["Cuotas"];
                            c.rutaImagen        = (string)dr["NombreImagen"];
                            c.estado            = (string)dr["Estado"];
                            c.fechaPresentacion = (DateTime)dr["FechaPresentacion"];
                            c.puntaje           = (int)dr["Puntaje"];
                            c.tasaInteres       = (decimal)dr["TasaInteres"];
                            c.cantIntegrantes   = (int)dr["CantIntegrantes"];

                            return(c);
                        }
                    }
                }
                return(u);
            }
            catch (SqlException ex)
            {
                return(null);
            }
            catch (Exception ex)
            {
                throw;
            }
            finally
            {
                new Conexion().CerrarConexion(cn);
            }
        }
        public bool Add(Proyecto unProyecto)
        {
            //Tendría todo el código de ADO.NET para hacer el INSERT  a través de comandos.

            if (unProyecto == null || !unProyecto.Validar())
            {
                return(false);
            }
            Conexion      unaCon = new Conexion();
            SqlConnection cn     = unaCon.CrearConexion();
            SqlCommand    cmd    = new SqlCommand("INSERT INTO Proyectos VALUES (@Cedula,@Titulo,@Descripcion,@Monto,@Cuotas,@NombreImagen,@Estado,@FechaPresentacion,@Puntaje,@TasaInteres,@Tipo);SELECT CAST(SCOPE_IDENTITY() AS INT)", cn);

            cmd.Parameters.Add(new SqlParameter("@Cedula", unProyecto.solicitante.cedula));
            cmd.Parameters.Add(new SqlParameter("@Titulo", unProyecto.titulo));
            cmd.Parameters.Add(new SqlParameter("@Descripcion", unProyecto.descripcion));
            cmd.Parameters.Add(new SqlParameter("@Monto", unProyecto.monto));
            cmd.Parameters.Add(new SqlParameter("@Cuotas", unProyecto.cuotas));
            cmd.Parameters.Add(new SqlParameter("@NombreImagen", unProyecto.rutaImagen));
            cmd.Parameters.Add(new SqlParameter("@Estado", unProyecto.estado));
            cmd.Parameters.Add(new SqlParameter("@fechaPresentacion", unProyecto.fechaPresentacion));
            cmd.Parameters.Add(new SqlParameter("@Puntaje", unProyecto.puntaje));
            cmd.Parameters.Add(new SqlParameter("@TasaInteres", unProyecto.tasaInteres));
            cmd.Parameters.Add(new SqlParameter("@Tipo", unProyecto.GetType().Name.ToUpper()));

            SqlCommand cmd2 = new SqlCommand();

            cmd2.Connection = cn;
            SqlTransaction trn = null;

            try
            {
                if (unaCon.AbrirConexion(cn))
                {
                    //Inicia la transacción
                    trn = cn.BeginTransaction();
                    //Asignarle la transacción a cada uno de los comandos
                    //que querés que sean transaccionales:
                    cmd.Transaction = trn;
                    // cmd.ExecuteNonQuery();
                    int idAsignado = (int)cmd.ExecuteScalar();
                    if (unProyecto is Personal)
                    {
                        Personal per = (Personal)unProyecto;
                        cmd2.CommandText = "INSERT INTO Personales VALUES (@Id,@Experiencia)";
                        cmd2.Parameters.Add(new SqlParameter("@Id", idAsignado));
                        cmd2.Parameters.Add(new SqlParameter("@Experiencia", per.experiencia));
                    }
                    else if (unProyecto is Cooperativo)
                    {
                        Cooperativo coo = (Cooperativo)unProyecto;
                        cmd2.CommandText = "INSERT INTO Cooperativos VALUES (@Id,@cantIntegrantes)";
                        cmd2.Parameters.Add(new SqlParameter("@Id", idAsignado));
                        cmd2.Parameters.Add(new SqlParameter("@cantIntegrantes", coo.cantIntegrantes));
                    }
                    else
                    {
                        return(false);
                    }
                    //Asignarle la transacción al segundo comando
                    cmd2.Transaction = trn;

                    cmd2.ExecuteNonQuery();
                    //Si llegué ácá se pudieron ejecutar todas las operaciones
                    //xq sino hubiera saltado x el catch, así que hacemos el commit:
                    trn.Commit();
                    return(true);
                }
                return(false);
            }
            catch (Exception ex)
            {
                trn.Rollback();
                return(false);
            }
            finally
            {
                unaCon.CerrarConexion(cn);
            }
        }
Exemplo n.º 7
0
        public bool Add(Proyecto unP)
        {
            //Tendría todo el código de ADO.NET para hacer el INSERT  a través de comandos.

            if (unP == null || Proyecto.Validar(unP) != "ok")
            {
                return(false);
            }

            Conexion      unaCon = new Conexion();
            SqlConnection cn     = unaCon.CrearConexion();
            SqlCommand    cmd    = new SqlCommand("INSERT INTO Proyecto VALUES (@Titulo, @Descripcion, @Monto, @Cuotas, @Tasa, @Fecha )", cn);

            cmd.Parameters.Add(new SqlParameter("@Titulo", unP.Titulo));
            cmd.Parameters.Add(new SqlParameter("@Descripcion", unP.Descripcion));
            cmd.Parameters.Add(new SqlParameter("@Monto", unP.MontoSolicitado));
            cmd.Parameters.Add(new SqlParameter("@CantidadCuotas", unP.CantidadCuotas));
            cmd.Parameters.Add(new SqlParameter("@Tasa", unP.Tasa));
            cmd.Parameters.Add(new SqlParameter("@Fecha", unP.Fecha));


            SqlCommand cmd2 = new SqlCommand();

            cmd2.Connection = cn;
            SqlTransaction trn = null;

            try
            {
                if (unaCon.AbrirConexion(cn))
                {
                    //Inicia la transacción
                    trn = cn.BeginTransaction();
                    //Asignarle la transacción a cada uno de los comandos
                    //que querés que sean transaccionales:
                    cmd.Transaction = trn;
                    int idAsignado = (int)cmd.ExecuteScalar();
                    if (unP is Personal)
                    {
                        Personal p = (Personal)unP;
                        cmd2.CommandText = "INSERT INTO ProductoImportado VALUES (@Explicacion)";
                        cmd2.Parameters.Add(new SqlParameter("@Explicacion", p.Explicacion));
                    }
                    else if (unP is Cooperativo)
                    {
                        Cooperativo c = (Cooperativo)unP;
                        cmd2.CommandText = "INSERT INTO ProductoNacional VALUES (@Integrantes)";
                        cmd2.Parameters.Add(new SqlParameter("@Integrantes", c.Integrantes));
                    }
                    else
                    {
                        return(false);
                    }
                    cmd2.Transaction = trn;

                    cmd2.ExecuteNonQuery();
                    trn.Commit();
                    return(true);
                }
                return(false);
            }
            catch (Exception ex)
            {
                trn.Rollback();
                return(false);
            }
            finally
            {
                unaCon.CerrarConexion(cn);
            }
        }
Exemplo n.º 8
0
        public int ImportarProyectos()
        {
            int cont = 0;
            RepositorioUsuarios repoU = new RepositorioUsuarios();

            try
            {
                //id cedula titulo descr monto cuotas tasa valor cuota fecha pres ruta inameg
                //tipo exp o cant int
                using (StreamReader sr = new StreamReader(Path.Combine(ruta, "proyectos.txt")))
                {
                    string linea = sr.ReadLine();
                    while (linea != null)
                    {
                        var    lineaVec = linea.Split("|".ToCharArray());
                        string tipo     = lineaVec[8].ToString();
                        int    id       = int.Parse(lineaVec[10]);
                        //if (repoProyectos.FindById(id) == null)
                        //{
                        if (tipo == "cooperativo")
                        {
                            Cooperativo c = new Cooperativo
                            {
                                //id= int.Parse(lineaVec[0]),
                                cedula            = lineaVec[0].ToString(),
                                titulo            = lineaVec[1].ToString(),
                                descripcion       = lineaVec[2].ToString(),
                                monto             = decimal.Parse(lineaVec[3]),
                                montoRestante     = decimal.Parse(lineaVec[3]),
                                cuotas            = int.Parse(lineaVec[4]),
                                tasaInteres       = Decimal.Parse(lineaVec[5]),
                                fechaPresentacion = DateTime.Parse(lineaVec[6]),
                                rutaImagen        = lineaVec[7].ToString(),
                                cantIntegrantes   = int.Parse(lineaVec[9]),
                                id = int.Parse(lineaVec[10])
                            };
                            repoProyectos.Add(c);
                        }
                        else
                        {
                            Personal p = new Personal
                            {
                                // id = int.Parse(lineaVec[0]),
                                cedula            = lineaVec[0].ToString(),
                                titulo            = lineaVec[1].ToString(),
                                descripcion       = lineaVec[2].ToString(),
                                monto             = decimal.Parse(lineaVec[3]),
                                montoRestante     = decimal.Parse(lineaVec[3]),
                                cuotas            = int.Parse(lineaVec[4]),
                                tasaInteres       = Decimal.Parse(lineaVec[5]),
                                fechaPresentacion = DateTime.Parse(lineaVec[6]),
                                rutaImagen        = lineaVec[7].ToString(),
                                experiencia       = lineaVec[9].ToString(),
                                id = int.Parse(lineaVec[10])
                            };
                            repoProyectos.Add(p);
                        }
                        linea = sr.ReadLine();
                    }
                    //linea = sr.ReadLine();
                }
                // }
                return(cont);
            }
            catch (Exception ex)
            {
                return(0);
            }
        }