/// <summary> /// Almacena la actualización del presupuesto egreso /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnEditarPartidaEgresoModal_Click(object sender, EventArgs e) { Entidades.PresupuestoEgresoPartida partidaEgreso = new Entidades.PresupuestoEgresoPartida(); Double salario = 0; String txtMonto = txtMontoNuevoEditar.Text.Replace(".", ","); if (Double.TryParse(txtMonto, out salario)) { partidaEgreso.idPresupuestoEgreso = Convert.ToInt32(idPresupuestoEditar.Text); partidaEgreso.idPartida = Convert.ToInt32(idPartidaEditar.Text); partidaEgreso.monto = salario; partidaEgreso.descripcion = txtDescripcionEditar.Text; presupuestoServicios.editarPresupuestoEgresoPartida(partidaEgreso); int idPartida = (int)Session["idPartidaVer"]; PresupuestoEgresoPartida presupuestoEgresoBuscar = new PresupuestoEgresoPartida(); presupuestoEgresoBuscar.idPartida = idPartida; LinkedList <PresupuestoEgresoPartida> presupuestos = new LinkedList <PresupuestoEgresoPartida>(); presupuestos = presupuestoServicios.presupuestoEgresoPartidasPorPresupuesto(presupuestoEgresoBuscar); Session["listaPresupuestosEgresosPartida"] = presupuestos; presupuestoEgresosPorPartida(); MostrarDatosTabla(); ScriptManager.RegisterStartupScript(Page, Page.GetType(), "#modalMostrarPresupuestoEgresos", "$('body').removeClass('modal-open');$('.modal-backdrop').remove();$('#modalMostrarPresupuestoEgresos').hide();", true); ScriptManager.RegisterStartupScript(this, this.GetType(), "activar", "activarModalMostrarPresupuestoEgresos();", true); } else { ScriptManager.RegisterStartupScript(Page, Page.GetType(), "#modalEditarPartidaEgreso", "$('body').removeClass('modal-open');$('.modal-backdrop').remove();$('#modalEditarPartidaEgreso').hide();", true); ScriptManager.RegisterStartupScript(this, this.GetType(), "activar", "activarModalEditarPartidaEgreso();", true); ScriptManager.RegisterStartupScript(this, this.GetType(), "Pop", "toastr.error('" + "El monto asignado es incorrecto" + "');", true); } }
/// <summary> /// Leonardo Carrion /// 09/oct/2019 /// Efecto: Guarda la informacion del monto y descripcion en la base de datos /// Requiere: monto y descripcion y dar clic al boton de "Guardar" /// Modifica: - /// Devuelve: - /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnGuardarModalPartida_Click(object sender, EventArgs e) { String txtMont = txtMontoModalAgregarPartida.Text.Replace(".", ","); if (Double.TryParse(txtMont, out Double monto)) { txtMontoModalAgregarPartida.Text = monto.ToString(); } if (String.IsNullOrEmpty(txtDescripcionModalAgregarPartida.Text)) { ScriptManager.RegisterStartupScript(Page, Page.GetType(), "#modalAgregarPartida", "$('body').removeClass('modal-open');$('.modal-backdrop').remove();$('#modalAgregarPartida').hide();", true); ScriptManager.RegisterStartupScript(this, this.GetType(), "Pop", "toastr.error('" + "Se debe agregar una descripcion" + "');", true); ScriptManager.RegisterStartupScript(this, this.GetType(), "activar", "activarModalAgregarPartida();", true); } else { EstadoPresupuesto estadoPresupuesto = new EstadoPresupuesto(); estadoPresupuesto = estadoPresupuestoServicios.getEstadoPresupuestoPorNombre("Guardar"); PresupuestoEgresoPartida presupuestoEgresoPartida = new PresupuestoEgresoPartida(); presupuestoEgresoPartida.estadoPresupuesto = estadoPresupuesto; presupuestoEgresoPartida.descripcion = txtDescripcionModalAgregarPartida.Text; presupuestoEgresoPartida.monto = monto; presupuestoEgresoPartida.partida = presupuestoEgresoPartidaSeleccionado.partida; presupuestoEgresoPartida.idPresupuestoEgreso = presupuestoEgresoPartidaSeleccionado.idPresupuestoEgreso; presupuestoEgreso_PartidaServicios.insertarPresupuestoEgreso_Partida(presupuestoEgresoPartida); ScriptManager.RegisterStartupScript(Page, Page.GetType(), "#modalAgregarPartida", "$('body').removeClass('modal-open');$('.modal-backdrop').remove();$('#modalAgregarPartida').hide();", true); ScriptManager.RegisterStartupScript(this, this.GetType(), "Pop", "toastr.success('" + "Se guardo correctamente la información" + "');", true); cargarPartidas(); } }
/// <summary> /// Leonardo Carrion /// 08/oct/2019 /// Efecto: devuelve la lista de partidas con los montos segun el presupuesto de egreso /// Requiere: presupuesto de egreso /// Modifica: - /// Devuelve: lista de presupuesto egreso partidas /// </summary> /// <param name="presupuestoEgreso"></param> /// <returns></returns> public List <PresupuestoEgresoPartida> getPresupuestoEgresoPartidas(PresupuestoEgreso presupuestoEgreso) { SqlConnection sqlConnection = conexion.conexionPEP(); List <PresupuestoEgresoPartida> listaPresupuestoEgresoPartida = new List <PresupuestoEgresoPartida>(); SqlCommand sqlCommand = new SqlCommand(@"select PEP.*, P.descripcion_partida,P.numero_partida,EP.descripcion_estado_presupuesto from Presupuesto_Egreso_Partida PEP, Partida P,Estado_presupuestos EP where PEP.id_presupuesto_egreso = @idPresupuestoEgreso and P.id_partida = PEP.id_partida and P.id_partida_padre is not null and P.ano_periodo = (select ano_periodo from Proyecto where id_proyecto = ( select id_proyecto from Unidad where id_unidad = (select id_unidad from Presupuesto_Egreso where id_presupuesto_egreso = @idPresupuestoEgreso) )) and P.disponible = 'True' and EP.id_estado_presupuesto = PEP.id_estado_presupuesto union select @idPresupuestoEgreso as id_presupuesto_egreso, P.id_partida, 0 as monto, '' as descripcion,(select id_estado_presupuesto from Estado_presupuestos where descripcion_estado_presupuesto='Guardar') as id_estado_presupuesto,1 as id_linea, P.descripcion_partida,P.numero_partida,'Espera' as descripcion_estado_presupuesto from Partida P where P.id_partida not in ( Select PEP.id_partida from Presupuesto_Egreso_Partida PEP where PEP.id_presupuesto_egreso = @idPresupuestoEgreso ) and P.id_partida_padre is not null and P.ano_periodo = (select ano_periodo from Proyecto where id_proyecto = ( select id_proyecto from Unidad where id_unidad = (select id_unidad from Presupuesto_Egreso where id_presupuesto_egreso = @idPresupuestoEgreso) )) and P.disponible = 'True' order by P.numero_partida", sqlConnection); sqlCommand.Parameters.AddWithValue("@idPresupuestoEgreso", presupuestoEgreso.idPresupuestoEgreso); SqlDataReader reader; sqlConnection.Open(); reader = sqlCommand.ExecuteReader(); while (reader.Read()) { PresupuestoEgresoPartida presupuestoEgresoPartida = new PresupuestoEgresoPartida(); Partida partida = new Partida(); EstadoPresupuesto estadoPresupuesto = new EstadoPresupuesto(); partida.idPartida = Convert.ToInt32(reader["id_partida"].ToString()); partida.descripcionPartida = reader["descripcion_partida"].ToString(); partida.numeroPartida = reader["numero_partida"].ToString(); estadoPresupuesto.idEstadoPresupuesto = Convert.ToInt32(reader["id_estado_presupuesto"].ToString()); estadoPresupuesto.descripcionEstado = reader["descripcion_estado_presupuesto"].ToString(); presupuestoEgresoPartida.partida = partida; presupuestoEgresoPartida.estadoPresupuesto = estadoPresupuesto; presupuestoEgresoPartida.idPresupuestoEgreso = Convert.ToInt32(reader["id_presupuesto_egreso"].ToString()); presupuestoEgresoPartida.monto = Convert.ToDouble(reader["monto"].ToString()); presupuestoEgresoPartida.descripcion = reader["descripcion"].ToString(); presupuestoEgresoPartida.idLinea = Convert.ToInt32(reader["id_linea"].ToString()); listaPresupuestoEgresoPartida.Add(presupuestoEgresoPartida); } sqlConnection.Close(); return(listaPresupuestoEgresoPartida); }
/// <summary> /// Leonardo Carrion /// 10/oct/2019 /// Efecto: elimina de la base de datos el presupuesto de egreso partida /// Requiere: presupuesto de egreso partida /// Modifica: - /// Devuelve: - /// </summary> /// <param name="presupuestoEgresoPartida"></param> public void eliminarPresupuestoEgreso_Partida(PresupuestoEgresoPartida presupuestoEgresoPartida) { SqlConnection sqlConnection = conexion.conexionPEP(); String consulta = @"delete Presupuesto_Egreso_Partida where id_presupuesto_egreso = @idPresupuestoEgreso and id_partida = @idPartida and id_linea = @idLinea"; SqlCommand command = new SqlCommand(consulta, sqlConnection); command.Parameters.AddWithValue("@idPresupuestoEgreso", presupuestoEgresoPartida.idPresupuestoEgreso); command.Parameters.AddWithValue("@idPartida", presupuestoEgresoPartida.partida.idPartida); command.Parameters.AddWithValue("@idLinea", presupuestoEgresoPartida.idLinea); sqlConnection.Open(); command.ExecuteReader(); sqlConnection.Close(); }
/// <summary> /// Leonardo Carrion /// 10/oct/2019 /// Efecto: actualiza el estado del presupuesto de egreso partida /// Requiere: presupuesto egreso partida /// Modifica: el estado /// Devuelve: - /// </summary> /// <param name="presupuestoEgresoPartida"></param> public void actualizarEstadoPresupuestoEgreso_Partida(PresupuestoEgresoPartida presupuestoEgresoPartida) { SqlConnection sqlConnection = conexion.conexionPEP(); String consulta = @"update Presupuesto_Egreso_Partida set id_estado_presupuesto = @idEstadoPresupuesto where id_presupuesto_egreso = @idPresupuestoEgreso and id_partida = @idPartida and id_linea = @idLinea"; SqlCommand command = new SqlCommand(consulta, sqlConnection); command.Parameters.AddWithValue("@idPresupuestoEgreso", presupuestoEgresoPartida.idPresupuestoEgreso); command.Parameters.AddWithValue("@idPartida", presupuestoEgresoPartida.partida.idPartida); command.Parameters.AddWithValue("@idLinea", presupuestoEgresoPartida.idLinea); command.Parameters.AddWithValue("@idEstadoPresupuesto", presupuestoEgresoPartida.estadoPresupuesto.idEstadoPresupuesto); sqlConnection.Open(); command.ExecuteReader(); sqlConnection.Close(); }
/// <summary> /// Leonardo Carrion /// 08/oct/2019 /// Efecto: inserta en la base de datos la relacion entre presupuesto de egresos y partida /// Requiere: presupuesto de egreso partida /// Modifica: - /// Devuelve: - /// </summary> /// <param name="presupuestoEgresoPartida"></param> public void insertarPresupuestoEgreso_Partida(PresupuestoEgresoPartida presupuestoEgresoPartida) { SqlConnection sqlConnection = conexion.conexionPEP(); String consulta = @"insert Presupuesto_Egreso_Partida (id_presupuesto_egreso,id_partida,monto,descripcion,id_estado_presupuesto) values(@idPresupuestoEgreso,@idPartida,@monto,@descripcion,@idEstadoPresupuesto)"; SqlCommand command = new SqlCommand(consulta, sqlConnection); command.Parameters.AddWithValue("@idPresupuestoEgreso", presupuestoEgresoPartida.idPresupuestoEgreso); command.Parameters.AddWithValue("@idPartida", presupuestoEgresoPartida.partida.idPartida); command.Parameters.AddWithValue("@monto", presupuestoEgresoPartida.monto); command.Parameters.AddWithValue("@descripcion", presupuestoEgresoPartida.descripcion); command.Parameters.AddWithValue("@idEstadoPresupuesto", presupuestoEgresoPartida.estadoPresupuesto.idEstadoPresupuesto); sqlConnection.Open(); command.ExecuteReader(); sqlConnection.Close(); }
/// <summary> /// Leonardo Carrion /// 09/oct/2019 /// Efecto: levanta modal para ver la descripcion de la partida seleccionada, agrega todas las descripciones /// Requiere: dar clic en el boton de "Ver" /// Modifica: - /// Devuelve: - /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnVerDescripcion_Click(object sender, EventArgs e) { int idPartida = Convert.ToInt32((((LinkButton)(sender)).CommandArgument).ToString()); List <PresupuestoEgresoPartida> listaPresupuestoEgresoPartidas = (List <PresupuestoEgresoPartida>)Session["listaPresupuestoEgresoPartidas"]; foreach (PresupuestoEgresoPartida presupuestoEgresoPartida in listaPresupuestoEgresoPartidas) { if (presupuestoEgresoPartida.partida.idPartida == idPartida) { presupuestoEgresoPartidaSeleccionado = presupuestoEgresoPartida; break; } } lblPartidaSeleccionadaModalVerDescripcion.Text = presupuestoEgresoPartidaSeleccionado.partida.numeroPartida + " " + presupuestoEgresoPartidaSeleccionado.partida.descripcionPartida; txtDescripcionModalVerDescripcionPartida.Text = presupuestoEgresoPartidaSeleccionado.descripcion; ScriptManager.RegisterStartupScript(this, this.GetType(), "activar", "activarModalVerDescripcionPartida();", true); }
/// <summary> /// Leonardo Carrion /// 10/oct/2019 /// Efecto: aprueba el presupuesto de egreso seleccionado /// Requiere: dar el boton de "Si" /// Modifica: el estado del prespuesto de egreso partida /// Devuelve: - /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnSiAprobarEditar_Click(object sender, EventArgs e) { PresupuestoEgresoPartida presupuestoEgresoPartida = new PresupuestoEgresoPartida(); Partida partida = new Partida(); EstadoPresupuesto estadoPresupuesto = new EstadoPresupuesto(); estadoPresupuesto = estadoPresupuestoServicios.getEstadoPresupuestoPorNombre("Aprobar"); partida.idPartida = Convert.ToInt32(info[0]); presupuestoEgresoPartida.idLinea = Convert.ToInt32(info[2]); presupuestoEgresoPartida.idPresupuestoEgreso = Convert.ToInt32(info[1]); presupuestoEgresoPartida.monto = Convert.ToDouble(info[3]); presupuestoEgresoPartida.partida = partida; presupuestoEgresoPartida.estadoPresupuesto = estadoPresupuesto; Double montoA = montoAprobado + presupuestoEgresoPartida.monto; if (montoIngresos >= montoA) { presupuestoEgreso_PartidaServicios.actualizarEstadoPresupuestoEgreso_Partida(presupuestoEgresoPartida); List <PresupuestoEgresoPartida> listaPresupuestoEgresoPartidasEditar = presupuestoEgreso_PartidaServicios.getPresupuestoEgresoPartidasPorPartidaYPresupEgreso(presupuestoEgresoPartidaSeleccionado); presupuestoEgresoSeleccionado.idPresupuestoEgreso = presupuestoEgresoPartida.idPresupuestoEgreso; presupuestoEgresoSeleccionado = presupuestoEgresosServicios.getPresupuestosEgresosPorId(presupuestoEgresoSeleccionado); presupuestoEgresoSeleccionado.montoTotal += presupuestoEgresoPartida.monto; presupuestoEgresosServicios.actualizarMontoPresupuestoEgreso(presupuestoEgresoSeleccionado); Session["listaPresupuestoEgresoPartidasEditar"] = listaPresupuestoEgresoPartidasEditar; rpPartidasEditar.DataSource = listaPresupuestoEgresoPartidasEditar; rpPartidasEditar.DataBind(); cargarPartidas(); ScriptManager.RegisterStartupScript(this, this.GetType(), "Pop", "toastr.success('" + "Se aprobo correctamente la información" + "');", true); } else { ScriptManager.RegisterStartupScript(this, this.GetType(), "Pop", "toastr.error('" + "El monto aprobado es mayor al monto de ingresos. No se puede aprobar" + "');", true); } ScriptManager.RegisterStartupScript(Page, Page.GetType(), "#modalAprobarEditar", "$('body').removeClass('modal-open');$('.modal-backdrop').remove();$('#modalAprobarEditar').hide();", true); ScriptManager.RegisterStartupScript(this, this.GetType(), "activar", "activarModalEditar();", true); }
/// <summary> /// Josseline M /// este metodo insertar un nuevo registro de una partida apartir de la unidad y partidac /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnNuevoIngresoPartidaModal_Click(object sender, EventArgs e) { PresupuestoEgresoPartida presupuestoEgresoPartida = new PresupuestoEgresoPartida(); LinkedList <Entidades.PresupuestoEgreso> presupuestoEgresos = new LinkedList <Entidades.PresupuestoEgreso>(); presupuestoEgresos = this.presupuestoServicios.ObtenerPorUnidadEgresos(Int32.Parse(UnidadesDDL.SelectedValue)); int partidaBuscarPorPeriodo = (int)Session["periodoSeleccionado"]; int idPartidaN = 0; List <Partida> partidas = new List <Partida>(); partidas = partidaServicios.ObtenerPorPeriodo(partidaBuscarPorPeriodo); Session["partidasPorPeriodo"] = partidas; Double salario = 0; String txtMonto = txtMontoIngresarModal.Text.Replace(".", ","); if (Double.TryParse(txtMonto, out salario)) { txtMontoIngresarModal.Text = salario.ToString(); foreach (Entidades.PresupuestoEgreso presupuestoA in presupuestoEgresos) { presupuestoEgresoPartida.idPresupuestoEgreso = presupuestoA.idPresupuestoEgreso; presupuestoEgresoPartida.idPartida = Convert.ToInt32(txtIdPartida.Text); presupuestoEgresoPartida.monto = salario; presupuestoEgresoPartida.descripcion = txtdescripcionNuevaPartida.Text; presupuestoServicios.InsertarPresupuestoEgresoPartida(presupuestoEgresoPartida); MostrarDatosTabla(); Response.Redirect("PresupuestoEgreso.aspx"); } } else { ScriptManager.RegisterStartupScript(Page, Page.GetType(), "#modalIngresarPartida", "$('body').removeClass('modal-open');$('.modal-backdrop').remove();$('#modalIngresarPartida').hide();", true); ScriptManager.RegisterStartupScript(this, this.GetType(), "activar", "activarModalIngresarPartida();", true); ScriptManager.RegisterStartupScript(this, this.GetType(), "Pop", "toastr.error('" + "El monto asignado es incorrecto" + "');", true); } ScriptManager.RegisterStartupScript(Page, Page.GetType(), "#modalIngresarPartida", "$('body').removeClass('modal-open');$('.modal-backdrop').remove();$('#modalIngresarPartida').hide();", true); }
/// <summary> /// Leonardo Carrion /// 10/oct/2019 /// Efecto: /// Requiere: /// Modifica: /// Devuelve: /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnSiEliminarEditar_Click(object sender, EventArgs e) { PresupuestoEgresoPartida presupuestoEgresoPartida = new PresupuestoEgresoPartida(); Partida partida = new Partida(); partida.idPartida = Convert.ToInt32(info[0]); presupuestoEgresoPartida.idLinea = Convert.ToInt32(info[2]); presupuestoEgresoPartida.idPresupuestoEgreso = Convert.ToInt32(info[1]); presupuestoEgresoPartida.partida = partida; presupuestoEgreso_PartidaServicios.eliminarPresupuestoEgreso_Partida(presupuestoEgresoPartida); List <PresupuestoEgresoPartida> listaPresupuestoEgresoPartidasEditar = presupuestoEgreso_PartidaServicios.getPresupuestoEgresoPartidasPorPartidaYPresupEgreso(presupuestoEgresoPartidaSeleccionado); Session["listaPresupuestoEgresoPartidasEditar"] = listaPresupuestoEgresoPartidasEditar; rpPartidasEditar.DataSource = listaPresupuestoEgresoPartidasEditar; rpPartidasEditar.DataBind(); cargarPartidas(); ScriptManager.RegisterStartupScript(this, this.GetType(), "Pop", "toastr.success('" + "Se elimino correctamente la información" + "');", true); ScriptManager.RegisterStartupScript(Page, Page.GetType(), "#modalEliminarEditar", "$('body').removeClass('modal-open');$('.modal-backdrop').remove();$('#modalEliminarEditar').hide();", true); ScriptManager.RegisterStartupScript(this, this.GetType(), "activar", "activarModalEditar();", true); }
/// <summary> /// Almacena la actualización del presupuesto egreso /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnEliminarPartidaEgresoModal_Click(object sender, EventArgs e) { Entidades.PresupuestoEgresoPartida partidaEgreso = new Entidades.PresupuestoEgresoPartida(); partidaEgreso.idPresupuestoEgreso = Convert.ToInt32(idPresupuestoEliminar.Text); partidaEgreso.idPartida = Convert.ToInt32(idPartidaEliminar.Text); presupuestoServicios.eliminarPresupuestoEgresoPartida(partidaEgreso); int idPartida = (int)Session["idPartidaVer"]; PresupuestoEgresoPartida presupuestoEgresoBuscar = new PresupuestoEgresoPartida(); presupuestoEgresoBuscar.idPartida = idPartida; LinkedList <PresupuestoEgresoPartida> presupuestos = new LinkedList <PresupuestoEgresoPartida>(); presupuestos = presupuestoServicios.presupuestoEgresoPartidasPorPresupuesto(presupuestoEgresoBuscar); Session["listaPresupuestosEgresosPartida"] = presupuestos; presupuestoEgresosPorPartida(); MostrarDatosTabla(); ScriptManager.RegisterStartupScript(Page, Page.GetType(), "#modalMostrarPresupuestoEgresos", "$('body').removeClass('modal-open');$('.modal-backdrop').remove();$('#modalMostrarPresupuestoEgresos').hide();", true); ScriptManager.RegisterStartupScript(this, this.GetType(), "activar", "activarModalMostrarPresupuestoEgresos();", true); }
/// <summary> /// Leonardo Carrion /// 09/oct/2019 /// Efecto: levanta el modal con los egresos que se han realizado en la partida seleccionada /// Requiere: dar clic en el boton de "Editar" /// Modifica: - /// Devuelve: - /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnEditarPartida_Click(object sender, EventArgs e) { int idPartida = Convert.ToInt32((((LinkButton)(sender)).CommandArgument).ToString()); List <PresupuestoEgresoPartida> listaPresupuestoEgresoPartidas = (List <PresupuestoEgresoPartida>)Session["listaPresupuestoEgresoPartidas"]; foreach (PresupuestoEgresoPartida presupuestoEgresoPartida in listaPresupuestoEgresoPartidas) { if (presupuestoEgresoPartida.partida.idPartida == idPartida) { presupuestoEgresoPartidaSeleccionado = presupuestoEgresoPartida; break; } } List <PresupuestoEgresoPartida> listaPresupuestoEgresoPartidasEditar = presupuestoEgreso_PartidaServicios.getPresupuestoEgresoPartidasPorPartidaYPresupEgreso(presupuestoEgresoPartidaSeleccionado); Session["listaPresupuestoEgresoPartidasEditar"] = listaPresupuestoEgresoPartidasEditar; rpPartidasEditar.DataSource = listaPresupuestoEgresoPartidasEditar; rpPartidasEditar.DataBind(); ScriptManager.RegisterStartupScript(this, this.GetType(), "activar", "activarModalEditar();", true); }
public List <PresupuestoEgresoPartida> ObtenerPorPartida(string idPartida) { SqlConnection sqlConnection = conexion.conexionPEP(); List <PresupuestoEgresoPartida> listaPresupuestoEgresoPartida = new List <PresupuestoEgresoPartida>(); String consulta = @"select id_presupuesto_egreso,id_partida,monto, descripcion,es.id_estado_presupuesto,id_linea from Presupuesto_Egreso_Partida Pre ,Estado_presupuestos es where id_partida=@id_partida_ and pre.id_estado_presupuesto=es.id_estado_presupuesto and pre.id_estado_presupuesto=2;"; SqlCommand sqlCommand = new SqlCommand(consulta, sqlConnection); sqlCommand.Parameters.AddWithValue("@id_partida_", idPartida); SqlDataReader reader; sqlConnection.Open(); reader = sqlCommand.ExecuteReader(); while (reader.Read()) { PresupuestoEgresoPartida presupuestoEgresoPartida = new PresupuestoEgresoPartida(); EstadoPresupuesto estadoPresupuesto = new EstadoPresupuesto(); estadoPresupuesto.idEstadoPresupuesto = Convert.ToInt32(reader["id_estado_presupuesto"].ToString()); presupuestoEgresoPartida.estadoPresupuesto = estadoPresupuesto; presupuestoEgresoPartida.idPresupuestoEgreso = Convert.ToInt32(reader["id_presupuesto_egreso"].ToString()); presupuestoEgresoPartida.monto = Convert.ToDouble(reader["monto"].ToString()); presupuestoEgresoPartida.descripcion = reader["descripcion"].ToString(); presupuestoEgresoPartida.idLinea = Convert.ToInt32(reader["id_linea"].ToString()); listaPresupuestoEgresoPartida.Add(presupuestoEgresoPartida); } sqlConnection.Close(); return(listaPresupuestoEgresoPartida); }
/// <summary> /// Leonardo Carrion /// 08/nov/2019 /// Efecto: ingresa en el presupuesto de egresos los montos en las partidas y unidades correspondientes /// Requiere: dar clic en el boton de "Ingresar datos al presupuesto de egresos" y haber distribuido todos los funcionarios /// Modifica: presupuesto de egresos /// Devuelve: - /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnIngresarPresupuestoEgresos_Click(object sender, EventArgs e) { List <Funcionario> listaFuncionarios = (List <Funcionario>)Session["listaFuncionarios"]; List <Funcionario> listaFuncionariosTemp = listaFuncionarios.Where(funcionario => funcionario.porcentajeAsignado < 100).ToList(); if (listaFuncionariosTemp.Count > 0) { Toastr("error", "Se deben de distribuir todos los funcionarios completamente"); } else { int idProyecto = Convert.ToInt32(ddlProyecto.SelectedValue); int id = Convert.ToInt32(ddlPeriodo.SelectedItem.Text); Periodo periodo = new Periodo(); periodo.anoPeriodo = id; Proyectos proyecto = new Proyectos(); proyecto.idProyecto = idProyecto; //primero se comprueba que el monto de que se va a sumar a los egresos no sobrepase el monto de ingresos Double montoSumaEgresos = 0; foreach (Funcionario funcionario in listaFuncionarios) { List <Proyeccion> listaProyeccion = proyeccionServicios.getProyeccionesPorPeriodoYFuncionario(periodo, funcionario); montoSumaEgresos += listaProyeccion.Sum(proyeccion => proyeccion.montoCargasTotal); montoSumaEgresos += listaProyeccion.Sum(proyeccion => proyeccion.montoSalario); } List <Unidad> listaUnidades = unidadServicios.ObtenerPorProyecto(idProyecto); List <PresupuestoEgresoPartida> listaPresupuestoEgresoPartidasEliminar = new List <PresupuestoEgresoPartida>();//lista de presupuestos partidas ya aprobados, hay q borrar si es el caso List <int> listaIdEgresos = new List <int>(); foreach (Unidad unidad in listaUnidades) { List <PresupuestoEgreso> listaPresupuestoEgresos = presupuestoEgresosServicios.getPresupuestosEgresosPorUnidad(unidad); listaIdEgresos = (List <int>)listaPresupuestoEgresos.Select(pres => pres.idPresupuestoEgreso).ToList(); listaIdEgresos = (List <int>)listaIdEgresos.Distinct().ToList(); foreach (int idEgreso in listaIdEgresos) { PresupuestoEgreso presupuestoEgreso = new PresupuestoEgreso(); presupuestoEgreso.idPresupuestoEgreso = idEgreso; listaPresupuestoEgresoPartidasEliminar.AddRange(presupuestoEgreso_PartidaServicios.getPresupuestoEgresoPartidasPorPresupEgresoYDesc(presupuestoEgreso, "Planilla (generado automáticamente)")); } montoSumaEgresos += listaPresupuestoEgresos.Sum(presupuesto => presupuesto.montoTotal); } Double montoIngresos = 0; List <Entidades.PresupuestoIngreso> listaPresupuestosIngresos = presupuestoIngresoServicios.getPresupuestosIngresosPorProyecto(proyecto); foreach (Entidades.PresupuestoIngreso presupuestoIngreso in listaPresupuestosIngresos) { if (!presupuestoIngreso.estadoPresupIngreso.descEstado.Equals("Guardar")) { montoIngresos += presupuestoIngreso.monto; } } montoSumaEgresos = montoSumaEgresos - (listaPresupuestoEgresoPartidasEliminar.Sum(pres => pres.monto)); if (montoIngresos < montoSumaEgresos) { Toastr("error", "El monto de ingresos es menor que el monto que se va a egregar a los egresos. Monto ingresos: " + montoIngresos + " Monto egresos: " + montoSumaEgresos); } else { //si se puede ingresar los montos //se actualiza el monto de los egresos para eliminar la distribucion hecha antes foreach (int idEgreso in listaIdEgresos) { List <PresupuestoEgresoPartida> presupuestoEgresoPartidasTemp = (List <PresupuestoEgresoPartida>)listaPresupuestoEgresoPartidasEliminar.Where(pres => pres.idPresupuestoEgreso == idEgreso).ToList(); PresupuestoEgreso presupuestoEgreso = new PresupuestoEgreso(); presupuestoEgreso.idPresupuestoEgreso = idEgreso; presupuestoEgreso = presupuestoEgresosServicios.getPresupuestosEgresosPorId(presupuestoEgreso); presupuestoEgreso.montoTotal = presupuestoEgreso.montoTotal - (presupuestoEgresoPartidasTemp.Sum(pres => pres.monto)); presupuestoEgresosServicios.actualizarMontoPresupuestoEgreso(presupuestoEgreso); } //se elimina el presupuesto de egresos partidas ya ingresados, para que no queden cosas sucias en la base de datos foreach (PresupuestoEgresoPartida presupuestoEgresoPartidaEliminar in listaPresupuestoEgresoPartidasEliminar) { presupuestoEgreso_PartidaServicios.eliminarPresupuestoEgreso_Partida(presupuestoEgresoPartidaEliminar); } List <PresupuestoEgresoPartida> presupuestoEgresoPartidas = new List <PresupuestoEgresoPartida>(); EstadoPresupuesto estadoPresupuesto = new EstadoPresupuesto(); estadoPresupuesto = estadoPresupuestoServicios.getEstadoPresupuestoPorNombre("Aprobar"); foreach (Funcionario funcionario in listaFuncionarios) { List <JornadaUnidadFuncionario> unidadesFuncionario = jornadaUnidadFuncionarioServicios.getJornadaUnidadFuncionario(funcionario.idFuncionario, idProyecto); List <Proyeccion> listaProyeccion = proyeccionServicios.getProyeccionesPorPeriodoYFuncionario(periodo, funcionario); foreach (Proyeccion proyeccion in listaProyeccion) { List <Proyeccion_CargaSocial> listaProyeccion_CargaSociales = proyeccion_CargaSocialServicios.getProyeccionCargaSocialPorProyeccionPorProyeccion(proyeccion); foreach (JornadaUnidadFuncionario jornadaUnidadFuncionario in unidadesFuncionario) { Unidad unidad = new Unidad(); unidad.idUnidad = jornadaUnidadFuncionario.idUnidad; List <PresupuestoEgreso> listaPresupuestoEgresos = presupuestoEgresosServicios.getPresupuestosEgresosPorUnidad(unidad); PresupuestoEgreso presupuestoEgreso = listaPresupuestoEgresos.First(); foreach (Proyeccion_CargaSocial proyeccion_CargaSocial in listaProyeccion_CargaSociales) { Double monto = 0; monto = proyeccion_CargaSocial.monto; monto = (monto * (jornadaUnidadFuncionario.jornadaAsignada / 100)); PresupuestoEgresoPartida presupuestoEgresoPartida = new PresupuestoEgresoPartida(); presupuestoEgresoPartida.monto = monto; presupuestoEgresoPartida.partida = proyeccion_CargaSocial.cargaSocial.partida; presupuestoEgresoPartida.idPresupuestoEgreso = presupuestoEgreso.idPresupuestoEgreso; presupuestoEgresoPartidas.Add(presupuestoEgresoPartida); } //salario y concepto de pago Double montoSalario = 0, montoConceptoPago = 0; montoConceptoPago = funcionario.conceptoPagoLey; montoConceptoPago = (montoConceptoPago * (jornadaUnidadFuncionario.jornadaAsignada / 100)); montoSalario = proyeccion.montoSalario - funcionario.conceptoPagoLey; montoSalario = (montoSalario * (jornadaUnidadFuncionario.jornadaAsignada / 100)); PresupuestoEgresoPartida presupuestoEgresoPartidaSalario = new PresupuestoEgresoPartida(); presupuestoEgresoPartidaSalario.monto = montoSalario; Partida partida = new Partida(); partida.numeroPartida = "0-01-03-01"; partida = partidaServicios.getPartidaPorNumeroYPeriodo(partida, periodo); presupuestoEgresoPartidaSalario.partida = partida; presupuestoEgresoPartidaSalario.idPresupuestoEgreso = presupuestoEgreso.idPresupuestoEgreso; presupuestoEgresoPartidas.Add(presupuestoEgresoPartidaSalario); PresupuestoEgresoPartida presupuestoEgresoPartidaConcepto = new PresupuestoEgresoPartida(); presupuestoEgresoPartidaConcepto.monto = montoConceptoPago; Partida partidaConcepto = new Partida(); partidaConcepto.numeroPartida = "0-01-03-02"; partidaConcepto = partidaServicios.getPartidaPorNumeroYPeriodo(partidaConcepto, periodo); presupuestoEgresoPartidaConcepto.partida = partidaConcepto; presupuestoEgresoPartidaConcepto.idPresupuestoEgreso = presupuestoEgreso.idPresupuestoEgreso; presupuestoEgresoPartidas.Add(presupuestoEgresoPartidaConcepto); } } } //se seleccionan los id's de los egresos List <int> egresos = (List <int>)presupuestoEgresoPartidas.Select(pres => pres.idPresupuestoEgreso).ToList(); egresos = (List <int>)egresos.Distinct().ToList(); List <int> partidas = (List <int>)presupuestoEgresoPartidas.Select(pres => pres.partida.idPartida).ToList(); partidas = (List <int>)partidas.Distinct().ToList(); foreach (int idEgreso in egresos) { PresupuestoEgreso presupuestoEgreso = new PresupuestoEgreso(); presupuestoEgreso.idPresupuestoEgreso = idEgreso; presupuestoEgreso = presupuestoEgresosServicios.getPresupuestosEgresosPorId(presupuestoEgreso); foreach (int idPartida in partidas) { List <PresupuestoEgresoPartida> presupuestoEgresoPartidasTemp = (List <PresupuestoEgresoPartida>)presupuestoEgresoPartidas.Where(pres => pres.idPresupuestoEgreso == idEgreso && pres.partida.idPartida == idPartida).ToList(); Double montoTemp = 0; montoTemp += presupuestoEgresoPartidasTemp.Sum(pres => pres.monto); if (montoTemp > 0) { PresupuestoEgresoPartida presupuestoEgresoPartida = new PresupuestoEgresoPartida(); Partida partida = new Partida(); partida.idPartida = idPartida; presupuestoEgresoPartida.idPresupuestoEgreso = idEgreso; presupuestoEgresoPartida.partida = partida; presupuestoEgresoPartida.monto = montoTemp; presupuestoEgresoPartida.estadoPresupuesto = estadoPresupuesto; presupuestoEgresoPartida.descripcion = "Planilla (generado automáticamente)"; presupuestoEgreso_PartidaServicios.insertarPresupuestoEgreso_Partida(presupuestoEgresoPartida); presupuestoEgreso.montoTotal += montoTemp; } } presupuestoEgresosServicios.actualizarMontoPresupuestoEgreso(presupuestoEgreso); } Toastr("success", "Se ingreso correctamente los datos en el presupuesto de egresos"); } } }
/// <summary> /// Leonardo Carrion /// 10/oct/2019 /// Efecto: elimina de la base de datos el presupuesto de egreso partida /// Requiere: presupuesto de egreso partida /// Modifica: - /// Devuelve: - /// </summary> /// <param name="presupuestoEgresoPartida"></param> public void eliminarPresupuestoEgreso_Partida(PresupuestoEgresoPartida presupuestoEgresoPartida) { presupuestoEgreso_PartidaDatos.eliminarPresupuestoEgreso_Partida(presupuestoEgresoPartida); }
/// <summary> /// Leonardo Carrion /// 10/oct/2019 /// Efecto: actualiza los datos del presupuesto de egresos partida /// Requiere: presupuesto de egresos partida /// Modifica: monto, descripcion y estado /// Devuelve: - /// </summary> /// <param name="presupuestoEgresoPartida"></param> public void actualizarPresupuestoEgreso_Partida(PresupuestoEgresoPartida presupuestoEgresoPartida) { presupuestoEgreso_PartidaDatos.actualizarPresupuestoEgreso_Partida(presupuestoEgresoPartida); }
/// <summary> /// Leonardo Carrion /// 09/oct/2019 /// Efecto: devuelve lista de presupuestos de egresos partidas segun los datos consultados /// Requiere: presupuesto de egreso y partida /// Modifica: - /// Devuelve: lista de presupuesto de egresos /// </summary> /// <param name="presupuestoEgresoPartidaConsulta"></param> /// <returns></returns> public List <PresupuestoEgresoPartida> getPresupuestoEgresoPartidasPorPartidaYPresupEgreso(PresupuestoEgresoPartida presupuestoEgresoPartidaConsulta) { return(presupuestoEgreso_PartidaDatos.getPresupuestoEgresoPartidasPorPartidaYPresupEgreso(presupuestoEgresoPartidaConsulta)); }
/// <summary> /// Leonardo Carrion /// 08/oct/2019 /// Efecto: inserta en la base de datos la relacion entre presupuesto de egresos y partida /// Requiere: presupuesto de egreso partida /// Modifica: - /// Devuelve: - /// </summary> /// <param name="presupuestoEgresoPartida"></param> public void insertarPresupuestoEgreso_Partida(PresupuestoEgresoPartida presupuestoEgresoPartida) { presupuestoEgreso_PartidaDatos.insertarPresupuestoEgreso_Partida(presupuestoEgresoPartida); }