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