/// <summary> /// Leonardo Carrion /// 10/mar/2021 /// Efecto: devuelve el estado segun la descripcion ingresada /// Requiere: nombre estado /// Modifica: - /// Devuelve: estadoEjecucion /// </summary> /// <param name="estado"></param> /// <returns></returns> public EstadoCajaChica getEstadoCajaChicaSegunNombre(String estado) { EstadoCajaChica estadoCajaChica = new EstadoCajaChica(); SqlConnection sqlConnection = conexion.conexionPEP(); String consulta = @"SELECT * from Estado_Caja_Chica where descripcion = @descripcion"; SqlCommand sqlCommand = new SqlCommand(consulta, sqlConnection); sqlCommand.Parameters.AddWithValue("@descripcion", estado); SqlDataReader reader; sqlConnection.Open(); reader = sqlCommand.ExecuteReader(); if (reader.Read()) { estadoCajaChica.idEstadoCajaChica = Convert.ToInt32(reader["id_estado_caja_chica"].ToString()); estadoCajaChica.descripcion = reader["descripcion"].ToString(); } sqlConnection.Close(); return(estadoCajaChica); }
///// <summary> ///// Leonardo Carrion ///// 24/mar/2021 ///// Efecto: Cambia el estado de la ejecucion a aprobar y verifica que los montos de las partidas esten correctos ///// Requiere: dar clic en el boton de Si ///// Modifica: estado de ejecucion ///// Devuelve: mesnsaje de confirmacion de accion ///// </summary> ///// <param name="sender"></param> ///// <param name="e"></param> protected void btnSiAprobar_Click(object sender, EventArgs e) { Entidades.CajaChica cajaChica = (Entidades.CajaChica)Session["ejecucionAprobar"]; List <PartidaUnidad> listaUnidadesPartidas = cajaChicaUnidadPartidaServicios.getUnidadesPartidasMontoPorCajaChica(cajaChica); Double montoResta = listaUnidadesPartidas.Sum(part => part.monto); if ((cajaChica.monto - montoResta) == 0) { Boolean correcto = true; foreach (PartidaUnidad partidaUnidad in listaUnidadesPartidas) { Unidad unidad = new Unidad(); unidad.idUnidad = partidaUnidad.idUnidad; Partida partida = new Partida(); partida.idPartida = partidaUnidad.idPartida; Double montoDisponible = cajaChicaUnidadPartidaServicios.getMontoDisponible(unidad, partida); if ((montoDisponible - partidaUnidad.monto) < 0) { correcto = false; break; } } if (correcto) { EstadoCajaChica estadoCajaChica = new EstadoCajaChica(); estadoCajaChica = estadoCajaChicaServicios.getEstadoCajaChicaSegunNombre("Aprobado"); Periodo periodo = new Periodo(); periodo.anoPeriodo = Convert.ToInt32(ddlPeriodos.SelectedValue); Proyectos proyecto = new Proyectos(); proyecto.idProyecto = Convert.ToInt32(ddlProyectos.SelectedValue); cajaChica.anoPeriodo = periodo.anoPeriodo; cajaChica.idProyedto = proyecto.idProyecto; cajaChica.idEstadoCajaChica = estadoCajaChica; cajaChicaServicios.EditarCajaChica(cajaChica); mostrarDatosTabla(); ScriptManager.RegisterStartupScript(this, this.GetType(), "activar", "cerrarModalAprobar();", true); ScriptManager.RegisterStartupScript(this, this.GetType(), "Pop", "toastr.success('" + "Se aprobó correctamente la Caja Chica número " + cajaChica.numeroCajaChica.ToString() + "');", true); } else { ScriptManager.RegisterStartupScript(this, this.GetType(), "Pop", "toastr.error('" + "Favor revisar los montos disponibles de cada partida" + "');", true); } } else { ScriptManager.RegisterStartupScript(this, this.GetType(), "Pop", "toastr.error('" + "El monto de la Caja Chica debe ser igual al monto repartido entre las unidades" + "');", true); } }
/// <summary> ///Kevin Picado /// 23/04/2021 /// Efecto: devuelve la lista de ejecuciones segun el periodo y proyecto seleccionado /// Requiere: periodo y proyecto /// Modifica: - /// Devuelve: lista de ejecuciones /// </summary> /// <param name="periodo"></param> /// <param name="proyecto"></param> /// <returns></returns> public List <CajaChica> getCajaChicaPorPeriodoYProyecto(Periodo periodo, Proyectos proyecto) { List <CajaChica> listaCajaChica = new List <CajaChica>(); SqlConnection sqlConnection = conexion.conexionPEP(); String consulta = @"select descripcion,monto,S.id_solicitud_caja_chica, S.realizado_por,S.fecha,numero_caja_chica,comentario,Enviado from Estado_Caja_Chica EC,Solicitud_Caja_Chica S where S.id_proyecto=@idProyecto and S.ano_periodo=@Periodo and S.id_estado_caja_chica= EC.id_estado_caja_chica order by id_solicitud_caja_chica desc"; SqlCommand command = new SqlCommand(consulta, sqlConnection); command.Parameters.AddWithValue("@Periodo", periodo.anoPeriodo); command.Parameters.AddWithValue("@idProyecto", proyecto.idProyecto); SqlDataReader reader; sqlConnection.Open(); reader = command.ExecuteReader(); while (reader.Read()) { EstadoCajaChica estadoCajaChica = new EstadoCajaChica(); CajaChica cajaChica = new CajaChica(); cajaChica.idCajaChica = Convert.ToInt32(reader["id_solicitud_caja_chica"].ToString()); cajaChica.monto = Convert.ToDouble(reader["monto"].ToString()); estadoCajaChica.descripcion = Convert.ToString(reader["descripcion"].ToString()); cajaChica.idEstadoCajaChica = estadoCajaChica; cajaChica.realizadoPor = reader["realizado_por"].ToString(); cajaChica.fecha = Convert.ToDateTime(reader["fecha"].ToString()); cajaChica.numeroCajaChica = reader["numero_caja_chica"].ToString(); cajaChica.comentario = reader["comentario"].ToString(); cajaChica.Enviado = Convert.ToBoolean(reader["Enviado"].ToString()); listaCajaChica.Add(cajaChica); } sqlConnection.Close(); return(listaCajaChica); }